najm-kit 0.0.15 → 0.0.16

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/theme.css ADDED
@@ -0,0 +1,909 @@
1
+ /*
2
+ * najm-kit v4 theme entry. Consumers use:
3
+ *
4
+ * @import "tailwindcss";
5
+ * @import "najm-kit/theme.css";
6
+ *
7
+ * This file is the source of truth; the build copies it to dist/theme.css and
8
+ * appends the third-party (overlayscrollbars, phone) CSS so consumers get a
9
+ * single self-contained import. The `@source` below resolves relative to this
10
+ * file's location, so the consumer's Tailwind v4 build scans najm-kit's
11
+ * compiled components in dist (or the source dir when aliased in dev) for the
12
+ * utility classes they use.
13
+ *
14
+ * Token names follow the standard shadcn convention (no package prefix) so
15
+ * apps can theme najm-kit by pasting a shadcn / tweakcn theme block on top.
16
+ */
17
+ @import "tw-animate-css";
18
+
19
+ @source "./";
20
+
21
+ @custom-variant dark (&:where(.dark, .dark *));
22
+
23
+ /* Classes built dynamically at runtime (borders.ts, BaseInput.tsx, responsive
24
+ helpers) never appear as literals the scanner can find, so safelist them. */
25
+ @source inline("{sm,md,lg}:{hidden,flex}");
26
+ @source inline("border-{black,white}");
27
+ @source inline("border-{gray,slate,zinc,neutral,stone,red,orange,amber,yellow,green,teal,blue,indigo,purple}{,-600}");
28
+
29
+ /* Map Tailwind's color/radius theme to the runtime --* tokens. `inline` so
30
+ utilities resolve --* at the element (NajmThemeProvider scopes them per
31
+ subtree) instead of locking to :root. */
32
+ @theme inline {
33
+ --color-background: var(--background);
34
+ --color-foreground: var(--foreground);
35
+ --color-card: var(--card);
36
+ --color-card-foreground: var(--card-foreground);
37
+ --color-popover: var(--popover);
38
+ --color-popover-foreground: var(--popover-foreground);
39
+ --color-primary: var(--primary);
40
+ --color-primary-foreground: var(--primary-foreground);
41
+ --color-secondary: var(--secondary);
42
+ --color-secondary-foreground: var(--secondary-foreground);
43
+ --color-tertiary: var(--tertiary);
44
+ --color-tertiary-foreground: var(--tertiary-foreground);
45
+ --color-muted: var(--muted);
46
+ --color-muted-foreground: var(--muted-foreground);
47
+ --color-accent: var(--accent);
48
+ --color-accent-foreground: var(--accent-foreground);
49
+ --color-destructive: var(--destructive);
50
+ --color-destructive-foreground: var(--destructive-foreground);
51
+ --color-border: var(--border);
52
+ --color-border-subtle: var(--border-subtle);
53
+ --color-border-strong: var(--border-strong);
54
+ --color-input: var(--input);
55
+ --color-ring: var(--ring);
56
+
57
+ --color-sidebar: var(--sidebar);
58
+ --color-sidebar-foreground: var(--sidebar-foreground);
59
+ --color-sidebar-primary: var(--sidebar-primary);
60
+ --color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
61
+ --color-sidebar-accent: var(--sidebar-accent);
62
+ --color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
63
+ --color-sidebar-border: var(--sidebar-border);
64
+ --color-sidebar-ring: var(--sidebar-ring);
65
+
66
+ --color-chart-1: var(--chart-1);
67
+ --color-chart-2: var(--chart-2);
68
+ --color-chart-3: var(--chart-3);
69
+ --color-chart-4: var(--chart-4);
70
+ --color-chart-5: var(--chart-5);
71
+
72
+ --radius-xs: calc(var(--radius) - 4px);
73
+ --radius-sm: calc(var(--radius) - 4px);
74
+ --radius-md: calc(var(--radius) - 2px);
75
+ --radius-lg: var(--radius);
76
+ --radius-xl: calc(var(--radius) + 4px);
77
+ --radius-2xl: calc(var(--radius) + 8px);
78
+ --radius-3xl: calc(var(--radius) + 12px);
79
+ --radius-4xl: calc(var(--radius) + 16px);
80
+
81
+ --animate-indeterminate-progress: indeterminate-progress 2s ease-in-out infinite;
82
+ }
83
+
84
+ @keyframes indeterminate-progress {
85
+ 0% { transform: translateX(-100%); width: 40%; }
86
+ 50% { transform: translateX(100%); width: 60%; }
87
+ 100% { transform: translateX(200%); width: 40%; }
88
+ }
89
+
90
+ /* Default token values (oklch). Override globally via :root / .dark, or per
91
+ subtree via <NajmThemeProvider>. */
92
+ :root {
93
+ --background: oklch(1 0 0);
94
+ --foreground: oklch(0.1445 0 0);
95
+ --card: oklch(1 0 0);
96
+ --card-foreground: oklch(0.1445 0 0);
97
+ --popover: oklch(1 0 0);
98
+ --popover-foreground: oklch(0.1445 0 0);
99
+ --primary: oklch(0.2228 0.0043 286.044);
100
+ --primary-foreground: oklch(0.9848 0 0);
101
+ --secondary: oklch(0.9703 0 0);
102
+ --secondary-foreground: oklch(0.2044 0 0);
103
+ --tertiary: oklch(0.9676 0.007 247.897);
104
+ --tertiary-foreground: oklch(0.3138 0.0453 249.447);
105
+ --muted: oklch(0.9703 0 0);
106
+ --muted-foreground: oklch(0.5555 0 0);
107
+ --accent: oklch(0.2747 0.006 286.001);
108
+ --accent-foreground: oklch(0.9848 0 0);
109
+ --destructive: oklch(0.6368 0.2078 25.326);
110
+ --destructive-foreground: oklch(0.9848 0 0);
111
+ --border: oklch(0.9219 0 0);
112
+ --border-subtle: oklch(0.9619 0 0);
113
+ --border-strong: oklch(0.4184 0 0);
114
+ --input: oklch(0.9219 0 0);
115
+ --ring: oklch(0.2228 0.0043 286.044);
116
+
117
+ --sidebar: oklch(0.985 0 0);
118
+ --sidebar-foreground: oklch(0.1445 0 0);
119
+ --sidebar-primary: oklch(0.2228 0.0043 286.044);
120
+ --sidebar-primary-foreground: oklch(0.9848 0 0);
121
+ --sidebar-accent: oklch(0.9703 0 0);
122
+ --sidebar-accent-foreground: oklch(0.2044 0 0);
123
+ --sidebar-border: oklch(0.9219 0 0);
124
+ --sidebar-ring: oklch(0.2228 0.0043 286.044);
125
+
126
+ --chart-1: oklch(0.646 0.222 41.116);
127
+ --chart-2: oklch(0.6 0.118 184.704);
128
+ --chart-3: oklch(0.398 0.07 227.392);
129
+ --chart-4: oklch(0.828 0.189 84.429);
130
+ --chart-5: oklch(0.769 0.188 70.08);
131
+
132
+ --radius: 0.5rem;
133
+ }
134
+
135
+ .dark {
136
+ --background: oklch(0.1417 0.0044 285.819);
137
+ --foreground: oklch(0.9683 0.0014 286.375);
138
+ --card: oklch(0.1872 0.0066 285.748);
139
+ --card-foreground: oklch(0.9683 0.0014 286.375);
140
+ --popover: oklch(0.1872 0.0066 285.748);
141
+ --popover-foreground: oklch(0.9683 0.0014 286.375);
142
+ --primary: oklch(0.2228 0.0043 286.044);
143
+ --primary-foreground: oklch(0.9848 0 0);
144
+ --secondary: oklch(0.2313 0.007 285.839);
145
+ --secondary-foreground: oklch(0.9203 0.0034 286.332);
146
+ --tertiary: oklch(0.3138 0.0453 249.447);
147
+ --tertiary-foreground: oklch(0.8529 0.0324 248.208);
148
+ --muted: oklch(0.2313 0.007 285.839);
149
+ --muted-foreground: oklch(0.6255 0.0171 285.896);
150
+ --accent: oklch(0.2313 0.007 285.839);
151
+ --accent-foreground: oklch(0.9683 0.0014 286.375);
152
+ --destructive: oklch(0.6356 0.2082 25.378);
153
+ --destructive-foreground: oklch(1 0 0);
154
+ --border: oklch(0.262 0.0085 285.799);
155
+ --border-subtle: oklch(0.2208 0.0065 285.856);
156
+ --border-strong: oklch(0.8294 0 0);
157
+ --input: oklch(0.262 0.0085 285.799);
158
+ --ring: oklch(0.2228 0.0043 286.044);
159
+
160
+ --sidebar: oklch(0.205 0 0);
161
+ --sidebar-foreground: oklch(0.9683 0.0014 286.375);
162
+ --sidebar-primary: oklch(0.4865 0.2423 291.866);
163
+ --sidebar-primary-foreground: oklch(0.9848 0 0);
164
+ --sidebar-accent: oklch(0.2313 0.007 285.839);
165
+ --sidebar-accent-foreground: oklch(0.9683 0.0014 286.375);
166
+ --sidebar-border: oklch(0.262 0.0085 285.799);
167
+ --sidebar-ring: oklch(0.4865 0.2423 291.866);
168
+
169
+ --chart-1: oklch(0.488 0.243 264.376);
170
+ --chart-2: oklch(0.696 0.17 162.48);
171
+ --chart-3: oklch(0.769 0.188 70.08);
172
+ --chart-4: oklch(0.627 0.265 303.9);
173
+ --chart-5: oklch(0.645 0.246 16.439);
174
+
175
+ --radius: 0.5rem;
176
+ }
177
+
178
+ .border-border-strong {
179
+ border-color: var(--border-strong) !important;
180
+ }
181
+
182
+ [data-radix-popper-content-wrapper] {
183
+ z-index: 10000 !important;
184
+ }
185
+
186
+ /* Scrollable, but the scrollbar reserves no layout space (hidden in all
187
+ browsers). `overflow: overlay` was removed from Chrome (~v121) and now
188
+ behaves like `auto`, so hiding the bar is the only pure-CSS way to avoid
189
+ the reserved gutter. Scroll via wheel / trackpad / keyboard. */
190
+ .najm-overlay-scroll {
191
+ overflow: auto;
192
+ scrollbar-width: none; /* Firefox */
193
+ }
194
+ .najm-overlay-scroll::-webkit-scrollbar {
195
+ display: none; /* Chromium / Safari */
196
+ }
197
+ .najm-overlay-scroll-y {
198
+ overflow-y: auto;
199
+ scrollbar-width: none;
200
+ }
201
+ .najm-overlay-scroll-y::-webkit-scrollbar {
202
+ display: none;
203
+ }
204
+ .najm-overlay-scroll-x {
205
+ overflow-x: auto;
206
+ scrollbar-width: none;
207
+ }
208
+ .najm-overlay-scroll-x::-webkit-scrollbar {
209
+ display: none;
210
+ }
211
+
212
+ /* OverlayScrollbars theme used by the <NajmScroll> component — a thin,
213
+ translucent slate bar that floats over content with no reserved space. */
214
+ .os-theme-najm {
215
+ --os-size: 10px;
216
+ --os-padding-perpendicular: 2px;
217
+ --os-padding-axis: 2px;
218
+ --os-track-border-radius: 9999px;
219
+ --os-handle-border-radius: 9999px;
220
+ --os-handle-bg: rgba(148, 163, 184, 0.3);
221
+ --os-handle-bg-hover: rgba(148, 163, 184, 0.45);
222
+ --os-handle-bg-active: rgba(148, 163, 184, 0.6);
223
+ --os-handle-min-size: 33px;
224
+ --os-handle-perpendicular-size: 60%;
225
+ --os-handle-perpendicular-size-hover: 90%;
226
+ }
227
+
228
+ /* Darker, more subtle handle in dark mode */
229
+ .dark .os-theme-najm {
230
+ --os-handle-bg: rgba(82, 82, 91, 0.45);
231
+ --os-handle-bg-hover: rgba(113, 113, 122, 0.6);
232
+ --os-handle-bg-active: rgba(113, 113, 122, 0.75);
233
+ }
234
+
235
+
236
+ /* overlayscrollbars */
237
+ /*!
238
+ * OverlayScrollbars
239
+ * Version: 2.16.0
240
+ *
241
+ * Copyright (c) Rene Haas | KingSora.
242
+ * https://github.com/KingSora
243
+ *
244
+ * Released under the MIT license.
245
+ */
246
+ .os-size-observer,
247
+ .os-size-observer-listener {
248
+ scroll-behavior: auto !important;
249
+ direction: inherit;
250
+ pointer-events: none;
251
+ overflow: hidden;
252
+ visibility: hidden;
253
+ box-sizing: border-box;
254
+ }
255
+
256
+ .os-size-observer,
257
+ .os-size-observer-listener,
258
+ .os-size-observer-listener-item,
259
+ .os-size-observer-listener-item-final {
260
+ writing-mode: horizontal-tb;
261
+ position: absolute;
262
+ left: 0;
263
+ top: 0;
264
+ }
265
+
266
+ .os-size-observer {
267
+ z-index: -1;
268
+ contain: strict;
269
+ display: flex;
270
+ flex-direction: row;
271
+ flex-wrap: nowrap;
272
+ padding: inherit;
273
+ border: inherit;
274
+ box-sizing: inherit;
275
+ margin: -133px;
276
+ top: 0;
277
+ right: 0;
278
+ bottom: 0;
279
+ left: 0;
280
+ transform: scale(0.1);
281
+ }
282
+ .os-size-observer::before {
283
+ content: "";
284
+ flex: none;
285
+ box-sizing: inherit;
286
+ padding: 10px;
287
+ width: 10px;
288
+ height: 10px;
289
+ }
290
+
291
+ .os-size-observer-appear {
292
+ animation: os-size-observer-appear-animation 1ms forwards;
293
+ }
294
+
295
+ .os-size-observer-listener {
296
+ box-sizing: border-box;
297
+ position: relative;
298
+ flex: auto;
299
+ padding: inherit;
300
+ border: inherit;
301
+ margin: -133px;
302
+ transform: scale(calc(1 / 0.1));
303
+ }
304
+ .os-size-observer-listener.ltr {
305
+ margin-right: -266px;
306
+ margin-left: 0;
307
+ }
308
+ .os-size-observer-listener.rtl {
309
+ margin-left: -266px;
310
+ margin-right: 0;
311
+ }
312
+ .os-size-observer-listener:empty::before {
313
+ content: "";
314
+ width: 100%;
315
+ height: 100%;
316
+ }
317
+ .os-size-observer-listener:empty::before, .os-size-observer-listener > .os-size-observer-listener-item {
318
+ display: block;
319
+ position: relative;
320
+ padding: inherit;
321
+ border: inherit;
322
+ box-sizing: content-box;
323
+ flex: auto;
324
+ }
325
+
326
+ .os-size-observer-listener-scroll {
327
+ box-sizing: border-box;
328
+ display: flex;
329
+ }
330
+
331
+ .os-size-observer-listener-item {
332
+ right: 0;
333
+ bottom: 0;
334
+ overflow: hidden;
335
+ direction: ltr;
336
+ flex: none;
337
+ }
338
+
339
+ .os-size-observer-listener-item-final {
340
+ transition: none;
341
+ }
342
+
343
+ @keyframes os-size-observer-appear-animation {
344
+ from {
345
+ cursor: auto;
346
+ }
347
+ to {
348
+ cursor: none;
349
+ }
350
+ }
351
+ .os-trinsic-observer {
352
+ flex: none;
353
+ box-sizing: border-box;
354
+ position: relative;
355
+ max-width: 0px;
356
+ max-height: 1px;
357
+ padding: 0;
358
+ margin: 0;
359
+ border: none;
360
+ overflow: hidden;
361
+ z-index: -1;
362
+ height: 0;
363
+ top: calc(100% + 1px);
364
+ contain: strict;
365
+ }
366
+ .os-trinsic-observer:not(:empty) {
367
+ height: calc(100% + 1px);
368
+ top: -1px;
369
+ }
370
+ .os-trinsic-observer:not(:empty) > .os-size-observer {
371
+ width: 1000%;
372
+ height: 1000%;
373
+ min-height: 1px;
374
+ min-width: 1px;
375
+ }
376
+
377
+ /**
378
+ * hide native scrollbars
379
+ * changes to this styles need to be reflected in the environment styles to correctly detect scrollbar hiding
380
+ */
381
+ /**
382
+ * body element
383
+ */
384
+ html[data-overlayscrollbars-body] {
385
+ overflow: hidden;
386
+ }
387
+
388
+ html[data-overlayscrollbars-body],
389
+ html[data-overlayscrollbars-body] > body {
390
+ width: 100%;
391
+ height: 100%;
392
+ margin: 0;
393
+ }
394
+
395
+ html[data-overlayscrollbars-body] > body {
396
+ overflow: visible;
397
+ margin: 0;
398
+ }
399
+
400
+ /**
401
+ * structure setup
402
+ */
403
+ [data-overlayscrollbars] {
404
+ position: relative;
405
+ }
406
+
407
+ [data-overlayscrollbars~=host],
408
+ [data-overlayscrollbars-padding] {
409
+ display: flex;
410
+ align-items: stretch !important;
411
+ flex-direction: row !important;
412
+ flex-wrap: nowrap !important;
413
+ scroll-behavior: auto !important;
414
+ }
415
+
416
+ [data-overlayscrollbars-padding],
417
+ [data-overlayscrollbars-viewport]:not([data-overlayscrollbars]) {
418
+ box-sizing: inherit;
419
+ position: relative;
420
+ flex: auto;
421
+ height: auto;
422
+ width: 100%;
423
+ min-width: 0;
424
+ padding: 0;
425
+ margin: 0;
426
+ border: none;
427
+ z-index: 0;
428
+ }
429
+
430
+ [data-overlayscrollbars-viewport]:not([data-overlayscrollbars]) {
431
+ --os-vaw: 0;
432
+ --os-vah: 0;
433
+ outline: none;
434
+ }
435
+ [data-overlayscrollbars-viewport]:not([data-overlayscrollbars]):focus {
436
+ outline: none;
437
+ }
438
+ [data-overlayscrollbars-viewport][data-overlayscrollbars-viewport~=arrange]::before {
439
+ content: "";
440
+ position: absolute;
441
+ pointer-events: none;
442
+ z-index: -1;
443
+ min-width: 1px;
444
+ min-height: 1px;
445
+ width: var(--os-vaw);
446
+ height: var(--os-vah);
447
+ }
448
+
449
+ /**
450
+ * wrapper elements overflow:
451
+ */
452
+ [data-overlayscrollbars~=host],
453
+ [data-overlayscrollbars-padding] {
454
+ overflow: hidden !important;
455
+ }
456
+
457
+ [data-overlayscrollbars~=host][data-overlayscrollbars~=noClipping],
458
+ [data-overlayscrollbars-padding~=noClipping] {
459
+ overflow: visible !important;
460
+ }
461
+
462
+ /**
463
+ * viewport overflow:
464
+ */
465
+ [data-overlayscrollbars-viewport] {
466
+ --os-viewport-overflow-x: hidden;
467
+ --os-viewport-overflow-y: hidden;
468
+ overflow-x: var(--os-viewport-overflow-x);
469
+ overflow-y: var(--os-viewport-overflow-y);
470
+ }
471
+
472
+ [data-overlayscrollbars-viewport~=overflowXVisible] {
473
+ --os-viewport-overflow-x: visible;
474
+ }
475
+
476
+ [data-overlayscrollbars-viewport~=overflowXHidden] {
477
+ --os-viewport-overflow-x: hidden;
478
+ }
479
+
480
+ [data-overlayscrollbars-viewport~=overflowXScroll] {
481
+ --os-viewport-overflow-x: scroll;
482
+ }
483
+
484
+ [data-overlayscrollbars-viewport~=overflowYVisible] {
485
+ --os-viewport-overflow-y: visible;
486
+ }
487
+
488
+ [data-overlayscrollbars-viewport~=overflowYHidden] {
489
+ --os-viewport-overflow-y: hidden;
490
+ }
491
+
492
+ [data-overlayscrollbars-viewport~=overflowYScroll] {
493
+ --os-viewport-overflow-y: scroll;
494
+ }
495
+
496
+ [data-overlayscrollbars-viewport~=overflowImportant] {
497
+ overflow-x: var(--os-viewport-overflow-x) !important;
498
+ overflow-y: var(--os-viewport-overflow-y) !important;
499
+ }
500
+
501
+ /**
502
+ * viewport state modifiers:
503
+ */
504
+ [data-overlayscrollbars-viewport~=noContent]:not(#osFakeId) {
505
+ font-size: 0 !important;
506
+ line-height: 0 !important;
507
+ }
508
+
509
+ [data-overlayscrollbars-viewport~=noContent]:not(#osFakeId)::before,
510
+ [data-overlayscrollbars-viewport~=noContent]:not(#osFakeId)::after,
511
+ [data-overlayscrollbars-viewport~=noContent]:not(#osFakeId) > *:not(#osFakeId) {
512
+ display: none !important;
513
+ position: absolute !important;
514
+ width: 1px !important;
515
+ height: 1px !important;
516
+ padding: 0 !important;
517
+ margin: -1px !important;
518
+ overflow: hidden !important;
519
+ clip: rect(0, 0, 0, 0) !important;
520
+ white-space: nowrap !important;
521
+ border-width: 0 !important;
522
+ }
523
+
524
+ [data-overlayscrollbars-viewport~=measuring],
525
+ [data-overlayscrollbars-viewport~=scrolling] {
526
+ scroll-behavior: auto !important;
527
+ scroll-snap-type: none !important;
528
+ }
529
+
530
+ [data-overlayscrollbars-viewport~=measuring][data-overlayscrollbars-viewport~=overflowXVisible] {
531
+ overflow-x: hidden !important;
532
+ }
533
+
534
+ [data-overlayscrollbars-viewport~=measuring][data-overlayscrollbars-viewport~=overflowYVisible] {
535
+ overflow-y: hidden !important;
536
+ }
537
+
538
+ /**
539
+ * content element:
540
+ */
541
+ [data-overlayscrollbars-content] {
542
+ box-sizing: inherit;
543
+ }
544
+
545
+ /**
546
+ * Display contents to bridge any flickering during deferred initialization.
547
+ */
548
+ [data-overlayscrollbars-contents]:not(#osFakeId):not([data-overlayscrollbars-padding]):not([data-overlayscrollbars-viewport]):not([data-overlayscrollbars-content]) {
549
+ display: contents;
550
+ }
551
+
552
+ /**
553
+ * optional & experimental grid mode
554
+ */
555
+ [data-overlayscrollbars-grid],
556
+ [data-overlayscrollbars-grid] [data-overlayscrollbars-padding] {
557
+ display: grid;
558
+ grid-template: 1fr/1fr;
559
+ }
560
+
561
+ [data-overlayscrollbars-grid] > [data-overlayscrollbars-padding],
562
+ [data-overlayscrollbars-grid] > [data-overlayscrollbars-viewport],
563
+ [data-overlayscrollbars-grid] > [data-overlayscrollbars-padding] > [data-overlayscrollbars-viewport] {
564
+ height: auto !important;
565
+ width: auto !important;
566
+ }
567
+
568
+ @property --os-scroll-percent {
569
+ syntax: "<number>";
570
+ inherits: true;
571
+ initial-value: 0;
572
+ }
573
+ @property --os-viewport-percent {
574
+ syntax: "<number>";
575
+ inherits: true;
576
+ initial-value: 0;
577
+ }
578
+ .os-scrollbar {
579
+ --os-viewport-percent: 0;
580
+ --os-scroll-percent: 0;
581
+ --os-scroll-direction: 0;
582
+ --os-scroll-percent-directional: calc(
583
+ var(--os-scroll-percent) - (var(--os-scroll-percent) + (1 - var(--os-scroll-percent)) * -1) *
584
+ var(--os-scroll-direction)
585
+ );
586
+ }
587
+
588
+ .os-scrollbar {
589
+ contain: size layout;
590
+ contain: size layout style;
591
+ transition: opacity 0.15s, visibility 0.15s, top 0.15s, right 0.15s, bottom 0.15s, left 0.15s;
592
+ pointer-events: none;
593
+ position: absolute;
594
+ opacity: 0;
595
+ visibility: hidden;
596
+ }
597
+
598
+ body > .os-scrollbar {
599
+ position: fixed;
600
+ z-index: 99999;
601
+ }
602
+
603
+ .os-scrollbar-transitionless {
604
+ transition: none !important;
605
+ }
606
+
607
+ .os-scrollbar-track {
608
+ position: relative;
609
+ padding: 0 !important;
610
+ border: none !important;
611
+ }
612
+
613
+ .os-scrollbar-handle {
614
+ position: absolute;
615
+ }
616
+
617
+ .os-scrollbar-track,
618
+ .os-scrollbar-handle {
619
+ pointer-events: none;
620
+ width: 100%;
621
+ height: 100%;
622
+ }
623
+
624
+ .os-scrollbar.os-scrollbar-track-interactive .os-scrollbar-track,
625
+ .os-scrollbar.os-scrollbar-handle-interactive .os-scrollbar-handle {
626
+ pointer-events: auto;
627
+ touch-action: none;
628
+ }
629
+
630
+ .os-scrollbar-horizontal {
631
+ bottom: 0;
632
+ left: 0;
633
+ }
634
+
635
+ .os-scrollbar-vertical {
636
+ top: 0;
637
+ right: 0;
638
+ }
639
+
640
+ .os-scrollbar-rtl.os-scrollbar-horizontal {
641
+ right: 0;
642
+ }
643
+
644
+ .os-scrollbar-rtl.os-scrollbar-vertical {
645
+ right: auto;
646
+ left: 0;
647
+ }
648
+
649
+ .os-scrollbar-visible {
650
+ opacity: 1;
651
+ visibility: visible;
652
+ }
653
+
654
+ .os-scrollbar-auto-hide.os-scrollbar-auto-hide-hidden {
655
+ opacity: 0;
656
+ visibility: hidden;
657
+ }
658
+
659
+ .os-scrollbar-interaction.os-scrollbar-visible {
660
+ opacity: 1;
661
+ visibility: visible;
662
+ }
663
+
664
+ .os-scrollbar-unusable,
665
+ .os-scrollbar-unusable *,
666
+ .os-scrollbar-wheel,
667
+ .os-scrollbar-wheel * {
668
+ pointer-events: none !important;
669
+ }
670
+
671
+ .os-scrollbar-unusable .os-scrollbar-handle {
672
+ opacity: 0 !important;
673
+ transition: none !important;
674
+ }
675
+
676
+ .os-scrollbar-horizontal .os-scrollbar-handle {
677
+ bottom: 0;
678
+ left: calc(var(--os-scroll-percent-directional) * 100%);
679
+ transform: translateX(calc(var(--os-scroll-percent-directional) * -100%));
680
+ width: calc(var(--os-viewport-percent) * 100%);
681
+ }
682
+
683
+ .os-scrollbar-vertical .os-scrollbar-handle {
684
+ right: 0;
685
+ top: calc(var(--os-scroll-percent-directional) * 100%);
686
+ transform: translateY(calc(var(--os-scroll-percent-directional) * -100%));
687
+ height: calc(var(--os-viewport-percent) * 100%);
688
+ }
689
+
690
+ @supports (container-type: size) {
691
+ .os-scrollbar-track {
692
+ container-type: size;
693
+ }
694
+ .os-scrollbar-horizontal .os-scrollbar-handle {
695
+ left: auto;
696
+ transform: translateX(calc(var(--os-scroll-percent-directional) * 100cqw + var(--os-scroll-percent-directional) * -100%));
697
+ }
698
+ .os-scrollbar-vertical .os-scrollbar-handle {
699
+ top: auto;
700
+ transform: translateY(calc(var(--os-scroll-percent-directional) * 100cqh + var(--os-scroll-percent-directional) * -100%));
701
+ }
702
+ .os-scrollbar-rtl.os-scrollbar-horizontal .os-scrollbar-handle {
703
+ right: auto;
704
+ left: 0;
705
+ }
706
+ }
707
+ .os-scrollbar-rtl.os-scrollbar-vertical .os-scrollbar-handle {
708
+ right: auto;
709
+ left: 0;
710
+ }
711
+
712
+ .os-scrollbar.os-scrollbar-horizontal.os-scrollbar-cornerless,
713
+ .os-scrollbar.os-scrollbar-horizontal.os-scrollbar-cornerless.os-scrollbar-rtl {
714
+ left: 0;
715
+ right: 0;
716
+ }
717
+
718
+ .os-scrollbar.os-scrollbar-vertical.os-scrollbar-cornerless,
719
+ .os-scrollbar.os-scrollbar-vertical.os-scrollbar-cornerless.os-scrollbar-rtl {
720
+ top: 0;
721
+ bottom: 0;
722
+ }
723
+
724
+ @media print {
725
+ .os-scrollbar {
726
+ display: none;
727
+ }
728
+ }
729
+ .os-scrollbar {
730
+ --os-size: 0;
731
+ --os-padding-perpendicular: 0;
732
+ --os-padding-axis: 0;
733
+ --os-track-border-radius: 0;
734
+ --os-track-bg: none;
735
+ --os-track-bg-hover: none;
736
+ --os-track-bg-active: none;
737
+ --os-track-border: none;
738
+ --os-track-border-hover: none;
739
+ --os-track-border-active: none;
740
+ --os-handle-border-radius: 0;
741
+ --os-handle-bg: none;
742
+ --os-handle-bg-hover: none;
743
+ --os-handle-bg-active: none;
744
+ --os-handle-border: none;
745
+ --os-handle-border-hover: none;
746
+ --os-handle-border-active: none;
747
+ --os-handle-min-size: 33px;
748
+ --os-handle-max-size: none;
749
+ --os-handle-perpendicular-size: 100%;
750
+ --os-handle-perpendicular-size-hover: 100%;
751
+ --os-handle-perpendicular-size-active: 100%;
752
+ --os-handle-interactive-area-offset: 0;
753
+ }
754
+
755
+ .os-scrollbar-track {
756
+ border: var(--os-track-border);
757
+ border-radius: var(--os-track-border-radius);
758
+ background: var(--os-track-bg);
759
+ transition: opacity 0.15s, background-color 0.15s, border-color 0.15s;
760
+ }
761
+ .os-scrollbar-track:hover {
762
+ border: var(--os-track-border-hover);
763
+ background: var(--os-track-bg-hover);
764
+ }
765
+ .os-scrollbar-track:active {
766
+ border: var(--os-track-border-active);
767
+ background: var(--os-track-bg-active);
768
+ }
769
+
770
+ .os-scrollbar-handle {
771
+ border: var(--os-handle-border);
772
+ border-radius: var(--os-handle-border-radius);
773
+ background: var(--os-handle-bg);
774
+ }
775
+ .os-scrollbar-handle:hover {
776
+ border: var(--os-handle-border-hover);
777
+ background: var(--os-handle-bg-hover);
778
+ }
779
+ .os-scrollbar-handle:active {
780
+ border: var(--os-handle-border-active);
781
+ background: var(--os-handle-bg-active);
782
+ }
783
+
784
+ .os-scrollbar-track:before,
785
+ .os-scrollbar-handle:before {
786
+ content: "";
787
+ position: absolute;
788
+ left: 0;
789
+ right: 0;
790
+ top: 0;
791
+ bottom: 0;
792
+ display: block;
793
+ }
794
+
795
+ .os-scrollbar-horizontal {
796
+ padding: var(--os-padding-perpendicular) var(--os-padding-axis);
797
+ right: var(--os-size);
798
+ height: var(--os-size);
799
+ }
800
+ .os-scrollbar-horizontal.os-scrollbar-rtl {
801
+ left: var(--os-size);
802
+ right: 0;
803
+ }
804
+ .os-scrollbar-horizontal .os-scrollbar-track:before {
805
+ top: calc(var(--os-padding-perpendicular) * -1);
806
+ bottom: calc(var(--os-padding-perpendicular) * -1);
807
+ }
808
+ .os-scrollbar-horizontal .os-scrollbar-handle {
809
+ min-width: var(--os-handle-min-size);
810
+ max-width: var(--os-handle-max-size);
811
+ height: var(--os-handle-perpendicular-size);
812
+ transition: opacity 0.15s, background-color 0.15s, border-color 0.15s, height 0.15s;
813
+ }
814
+ .os-scrollbar-horizontal .os-scrollbar-handle:before {
815
+ top: calc((var(--os-padding-perpendicular) + var(--os-handle-interactive-area-offset)) * -1);
816
+ bottom: calc(var(--os-padding-perpendicular) * -1);
817
+ }
818
+ .os-scrollbar-horizontal:hover .os-scrollbar-handle {
819
+ height: var(--os-handle-perpendicular-size-hover);
820
+ }
821
+ .os-scrollbar-horizontal:active .os-scrollbar-handle {
822
+ height: var(--os-handle-perpendicular-size-active);
823
+ }
824
+
825
+ .os-scrollbar-vertical {
826
+ padding: var(--os-padding-axis) var(--os-padding-perpendicular);
827
+ bottom: var(--os-size);
828
+ width: var(--os-size);
829
+ }
830
+ .os-scrollbar-vertical .os-scrollbar-track:before {
831
+ left: calc(var(--os-padding-perpendicular) * -1);
832
+ right: calc(var(--os-padding-perpendicular) * -1);
833
+ }
834
+ .os-scrollbar-vertical .os-scrollbar-handle {
835
+ min-height: var(--os-handle-min-size);
836
+ max-height: var(--os-handle-max-size);
837
+ width: var(--os-handle-perpendicular-size);
838
+ transition: opacity 0.15s, background-color 0.15s, border-color 0.15s, width 0.15s;
839
+ }
840
+ .os-scrollbar-vertical .os-scrollbar-handle:before {
841
+ left: calc((var(--os-padding-perpendicular) + var(--os-handle-interactive-area-offset)) * -1);
842
+ right: calc(var(--os-padding-perpendicular) * -1);
843
+ }
844
+ .os-scrollbar-vertical.os-scrollbar-rtl .os-scrollbar-handle:before {
845
+ right: calc((var(--os-padding-perpendicular) + var(--os-handle-interactive-area-offset)) * -1);
846
+ left: calc(var(--os-padding-perpendicular) * -1);
847
+ }
848
+ .os-scrollbar-vertical:hover .os-scrollbar-handle {
849
+ width: var(--os-handle-perpendicular-size-hover);
850
+ }
851
+ .os-scrollbar-vertical:active .os-scrollbar-handle {
852
+ width: var(--os-handle-perpendicular-size-active);
853
+ }
854
+
855
+ /* NONE THEME: */
856
+ [data-overlayscrollbars-viewport~=measuring] > .os-scrollbar,
857
+ .os-theme-none.os-scrollbar {
858
+ display: none !important;
859
+ }
860
+
861
+ /* DARK & LIGHT THEME: */
862
+ .os-theme-dark,
863
+ .os-theme-light {
864
+ box-sizing: border-box;
865
+ --os-size: 10px;
866
+ --os-padding-perpendicular: 2px;
867
+ --os-padding-axis: 2px;
868
+ --os-track-border-radius: 10px;
869
+ --os-handle-interactive-area-offset: 4px;
870
+ --os-handle-border-radius: 10px;
871
+ }
872
+
873
+ .os-theme-dark {
874
+ --os-handle-bg: rgba(0, 0, 0, 0.44);
875
+ --os-handle-bg-hover: rgba(0, 0, 0, 0.55);
876
+ --os-handle-bg-active: rgba(0, 0, 0, 0.66);
877
+ }
878
+
879
+ .os-theme-light {
880
+ --os-handle-bg: rgba(255, 255, 255, 0.44);
881
+ --os-handle-bg-hover: rgba(255, 255, 255, 0.55);
882
+ --os-handle-bg-active: rgba(255, 255, 255, 0.66);
883
+ }
884
+
885
+ [data-overlayscrollbars-initialize]:not([data-overlayscrollbars-viewport]),
886
+ [data-overlayscrollbars-viewport~=scrollbarHidden],
887
+ html[data-overlayscrollbars-viewport~=scrollbarHidden] > body {
888
+ scrollbar-width: none !important;
889
+ }
890
+
891
+ [data-overlayscrollbars-initialize]:not([data-overlayscrollbars-viewport])::-webkit-scrollbar,
892
+ [data-overlayscrollbars-initialize]:not([data-overlayscrollbars-viewport])::-webkit-scrollbar-corner,
893
+ [data-overlayscrollbars-viewport~=scrollbarHidden]::-webkit-scrollbar,
894
+ [data-overlayscrollbars-viewport~=scrollbarHidden]::-webkit-scrollbar-corner,
895
+ html[data-overlayscrollbars-viewport~=scrollbarHidden] > body::-webkit-scrollbar,
896
+ html[data-overlayscrollbars-viewport~=scrollbarHidden] > body::-webkit-scrollbar-corner {
897
+ -webkit-appearance: none !important;
898
+ appearance: none !important;
899
+ display: none !important;
900
+ width: 0 !important;
901
+ height: 0 !important;
902
+ }
903
+
904
+ [data-overlayscrollbars-initialize]:not([data-overlayscrollbars]):not(html):not(body) {
905
+ overflow: auto;
906
+ }
907
+
908
+ /* react-international-phone */
909
+ .react-international-phone-country-selector{position:relative}.react-international-phone-country-selector-button{display:flex;height:var(--react-international-phone-height, 36px);box-sizing:border-box;align-items:center;justify-content:center;padding:0;border:1px solid var(--react-international-phone-country-selector-border-color, var(--react-international-phone-border-color, gainsboro));margin:0;appearance:button;-webkit-appearance:button;background-color:var(--react-international-phone-country-selector-background-color, var(--react-international-phone-background-color, white));cursor:pointer;text-transform:none;user-select:none}.react-international-phone-country-selector-button:hover{background-color:var(--react-international-phone-country-selector-background-color-hover, whitesmoke)}.react-international-phone-country-selector-button--hide-dropdown{cursor:auto}.react-international-phone-country-selector-button--hide-dropdown:hover{background-color:transparent}.react-international-phone-country-selector-button__button-content{display:flex;align-items:center;justify-content:center}.react-international-phone-country-selector-button__flag-emoji{margin:0 4px}.react-international-phone-country-selector-button__flag-emoji--disabled{opacity:.75}.react-international-phone-country-selector-button__dropdown-arrow{border-top:var(--react-international-phone-country-selector-arrow-size, 4px) solid var(--react-international-phone-country-selector-arrow-color, #777);border-right:var(--react-international-phone-country-selector-arrow-size, 4px) solid transparent;border-left:var(--react-international-phone-country-selector-arrow-size, 4px) solid transparent;margin-right:4px;transition:all .1s ease-out}.react-international-phone-country-selector-button__dropdown-arrow--active{transform:rotateX(180deg)}.react-international-phone-country-selector-button__dropdown-arrow--disabled{border-top-color:var(--react-international-phone-disabled-country-selector-arrow-color, #999)}.react-international-phone-country-selector-button--disabled,.react-international-phone-country-selector-button--disabled:hover{background-color:var(--react-international-phone-disabled-country-selector-background-color, var(--react-international-phone-disabled-background-color, whitesmoke))}.react-international-phone-country-selector-button--disabled{cursor:auto}.react-international-phone-flag-emoji{width:var(--react-international-phone-flag-width, 24px);height:var(--react-international-phone-flag-height, 24px);box-sizing:border-box}.react-international-phone-country-selector-dropdown{position:absolute;z-index:1;top:var(--react-international-phone-dropdown-top, 44px);left:var(--react-international-phone-dropdown-left, 0);display:flex;width:300px;max-height:200px;flex-direction:column;padding:4px 0;margin:0;background-color:var(--react-international-phone-dropdown-item-background-color, var(--react-international-phone-background-color, white));box-shadow:var(--react-international-phone-dropdown-shadow, 2px 2px 16px rgba(0, 0, 0, .25));color:var(--react-international-phone-dropdown-item-text-color, var(--react-international-phone-text-color, #222));list-style:none;overflow-y:scroll}.react-international-phone-country-selector-dropdown__preferred-list-divider{height:1px;border:none;margin:var(--react-international-phone-dropdown-preferred-list-divider-margin, 0);background:var(--react-international-phone-dropdown-preferred-list-divider-color, var(--react-international-phone-border-color, gainsboro))}.react-international-phone-country-selector-dropdown__list-item{display:flex;min-height:var(--react-international-phone-dropdown-item-height, 28px);box-sizing:border-box;align-items:center;padding:2px 8px}.react-international-phone-country-selector-dropdown__list-item-flag-emoji{margin-right:8px}.react-international-phone-country-selector-dropdown__list-item-country-name{overflow:hidden;margin-right:8px;font-size:var(--react-international-phone-dropdown-item-font-size, 14px);text-overflow:ellipsis;white-space:nowrap}.react-international-phone-country-selector-dropdown__list-item-dial-code{color:var(--react-international-phone-dropdown-item-dial-code-color, gray);font-size:var(--react-international-phone-dropdown-item-font-size, 14px)}.react-international-phone-country-selector-dropdown__list-item:hover{background-color:var(--react-international-phone-selected-dropdown-item-background-color, var(--react-international-phone-selected-dropdown-item-background-color, whitesmoke));cursor:pointer}.react-international-phone-country-selector-dropdown__list-item--selected,.react-international-phone-country-selector-dropdown__list-item--focused{background-color:var(--react-international-phone-selected-dropdown-item-background-color, whitesmoke);color:var(--react-international-phone-selected-dropdown-item-text-color, var(--react-international-phone-text-color, #222))}.react-international-phone-country-selector-dropdown__list-item--selected .react-international-phone-country-selector-dropdown__list-item-dial-code,.react-international-phone-country-selector-dropdown__list-item--focused .react-international-phone-country-selector-dropdown__list-item-dial-code{color:var(--react-international-phone-selected-dropdown-item-dial-code-color, var(--react-international-phone-dropdown-item-dial-code-color, gray))}.react-international-phone-country-selector-dropdown__list-item--focused{background-color:var(--react-international-phone-selected-dropdown-item-background-color, var(--react-international-phone-selected-dropdown-item-background-color, whitesmoke))}.react-international-phone-dial-code-preview{display:flex;align-items:center;justify-content:center;padding:0 8px;border:1px solid var(--react-international-phone-dial-code-preview-border-color, var(--react-international-phone-border-color, gainsboro));margin-right:-1px;background-color:var(--react-international-phone-dial-code-preview-background-color, var(--react-international-phone-background-color, white));color:var(--react-international-phone-dial-code-preview-text-color, var(--react-international-phone-text-color, #222));font-size:var(--react-international-phone-dial-code-preview-font-size, var(--react-international-phone-font-size, 13px))}.react-international-phone-dial-code-preview--disabled{background-color:var(--react-international-phone-dial-code-preview-disabled-background-color, var(--react-international-phone-disabled-background-color, whitesmoke));color:var(--react-international-phone-dial-code-preview-disabled-text-color, var(--react-international-phone-disabled-text-color, #666))}.react-international-phone-input-container{display:flex}.react-international-phone-input-container .react-international-phone-country-selector-button{border-radius:var(--react-international-phone-border-radius, 4px);margin-right:-1px;border-bottom-right-radius:0;border-top-right-radius:0}.react-international-phone-input-container .react-international-phone-input{overflow:visible;height:var(--react-international-phone-height, 36px);box-sizing:border-box;padding:0 8px;border:1px solid var(--react-international-phone-border-color, gainsboro);border-radius:var(--react-international-phone-border-radius, 4px);margin:0;background-color:var(--react-international-phone-background-color, white);border-bottom-left-radius:0;border-top-left-radius:0;color:var(--react-international-phone-text-color, #222);font-family:inherit;font-size:var(--react-international-phone-font-size, 13px)}.react-international-phone-input-container .react-international-phone-input:focus{outline:none}.react-international-phone-input-container .react-international-phone-input--disabled{background-color:var(--react-international-phone-disabled-background-color, whitesmoke);color:var(--react-international-phone-disabled-text-color, #666)}