@nubitio/ui 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/style.css ADDED
@@ -0,0 +1,2614 @@
1
+ /* stylelint-disable */
2
+ :root {
3
+ --font-family-sans: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
4
+ --font-family-mono: 'JetBrains Mono', 'SFMono-Regular', 'Menlo', 'Monaco', 'Consolas', monospace;
5
+ --font-family-display: 'Syne', var(--font-family-sans);
6
+ --font-size-xxs: 11px;
7
+ --font-size-xs: 12px;
8
+ --font-size-sm: 13px;
9
+ --font-size-md: 14px;
10
+ --font-size-lg: 16px;
11
+ --font-size-xl: 20px;
12
+ --font-size-2xl: 24px;
13
+ --font-size-3xl: 28px;
14
+ --font-size-4xl: 32px;
15
+ --font-size-5xl: 40px;
16
+ --font-weight-regular: 400;
17
+ --font-weight-medium: 500;
18
+ --font-weight-semibold: 600;
19
+ --font-weight-bold: 700;
20
+ --line-height-tight: 1.25;
21
+ --line-height-normal: 1.5;
22
+ --line-height-relaxed: 1.65;
23
+ --space-1: 4px;
24
+ --space-2: 8px;
25
+ --space-3: 12px;
26
+ --space-4: 16px;
27
+ --space-5: 20px;
28
+ --space-6: 24px;
29
+ --space-7: 32px;
30
+ --space-8: 40px;
31
+ --space-9: 48px;
32
+ --space-10: 64px;
33
+ --radius-xs: 3px;
34
+ --radius-sm: 4px;
35
+ --radius-md: 6px;
36
+ --radius-lg: 8px;
37
+ --radius-xl: 14px;
38
+ --toolbar-height: 36px;
39
+ --row-height: 34px;
40
+ --control-height: 28px;
41
+ --control-height-form: 34px;
42
+ --control-icon-size: 20px;
43
+ --footer-height: 48px;
44
+ --side-panel-min-width: 48px;
45
+ --content-padding: 16px;
46
+ --page-padding: 24px;
47
+ --calendar-width: 292px;
48
+ --toolbar-margin-bottom: var(--content-padding);
49
+ --footer-left-padding: calc((var(--side-panel-min-width) - 16px) / 2);
50
+ --grid-header-height: 34px;
51
+ --grid-filter-height: 28px;
52
+ --grid-cell-padding-x: 10px;
53
+ --grid-cell-padding-y: 0px;
54
+ --overlay-bg: rgb(0 0 0 / 42%);
55
+ --transition-fast: 100ms ease;
56
+ --transition-base: 150ms ease;
57
+ --transition-slow: 250ms cubic-bezier(0.4, 0, 0.2, 1);
58
+ --z-dropdown: 100;
59
+ --z-sticky: 200;
60
+ --z-overlay: 300;
61
+ --z-modal: 400;
62
+ --z-popover: 500;
63
+ --z-toast: 600;
64
+ --z-shell-panel: 1500;
65
+ --z-shell-scrim: 1499;
66
+ --z-shell-header: 1501;
67
+ --z-shell-popover: 1700;
68
+ --z-shell-dropdown: 1600;
69
+ --z-dialog: 2000;
70
+ --z-picker-panel: 3000;
71
+ --list-padding-left: 8px;
72
+ --list-padding-vertical: 4px;
73
+ --popup-toolbar-item-spacing: 8px;
74
+ --drop-down-gnrc-button-height: 24px;
75
+ --theme-padding: 8px;
76
+ --button-height-theme-difference: calc((var(--theme-padding) - 10px) / 3);
77
+ --button-height: calc(26px + var(--button-height-theme-difference));
78
+ --nb-admin-header-toolbar-vertical-padding: 10px;
79
+ --toolbar-vertical-padding: 16px;
80
+ }
81
+
82
+ html[data-density=compact] {
83
+ --font-size-xs: 11px;
84
+ --font-size-sm: 12px;
85
+ --font-size-md: 13px;
86
+ --space-1: 2px;
87
+ --space-2: 5px;
88
+ --space-3: 8px;
89
+ --space-4: 12px;
90
+ --space-5: 16px;
91
+ --space-6: 20px;
92
+ --toolbar-height: 30px;
93
+ --row-height: 28px;
94
+ --control-height: 24px;
95
+ --control-height-form: 28px;
96
+ --control-icon-size: 16px;
97
+ --content-padding: 12px;
98
+ --page-padding: 16px;
99
+ --grid-header-height: 28px;
100
+ --grid-filter-height: 24px;
101
+ --grid-cell-padding-x: 8px;
102
+ }
103
+
104
+ html[data-density=comfortable] {
105
+ --font-size-xs: 13px;
106
+ --font-size-sm: 14px;
107
+ --font-size-md: 15px;
108
+ --space-1: 6px;
109
+ --space-2: 10px;
110
+ --space-3: 16px;
111
+ --space-4: 20px;
112
+ --space-5: 28px;
113
+ --space-6: 36px;
114
+ --toolbar-height: 44px;
115
+ --row-height: 40px;
116
+ --control-height: 34px;
117
+ --control-height-form: 40px;
118
+ --control-icon-size: 22px;
119
+ --content-padding: 20px;
120
+ --page-padding: 28px;
121
+ --grid-header-height: 40px;
122
+ --grid-filter-height: 34px;
123
+ --grid-cell-padding-x: 14px;
124
+ }
125
+ :root {
126
+ --scrollbar-size: 6px;
127
+ --scrollbar-thumb: var(--border-color);
128
+ --scrollbar-thumb-hover: color-mix(in srgb, var(--accent-color) 60%, var(--border-color) 40%);
129
+ }
130
+
131
+ * {
132
+ scrollbar-width: thin;
133
+ scrollbar-color: color-mix(in srgb, var(--scrollbar-thumb) 40%, transparent) transparent;
134
+ }
135
+ *:hover {
136
+ scrollbar-color: var(--scrollbar-thumb) transparent;
137
+ }
138
+ *::-webkit-scrollbar {
139
+ height: var(--scrollbar-size);
140
+ width: var(--scrollbar-size);
141
+ }
142
+ *::-webkit-scrollbar-track {
143
+ background: transparent;
144
+ }
145
+ *::-webkit-scrollbar-thumb {
146
+ background: color-mix(in srgb, var(--scrollbar-thumb) 40%, transparent);
147
+ border-radius: var(--radius-sm);
148
+ transition: background var(--transition-base);
149
+ }
150
+ *:hover::-webkit-scrollbar-thumb {
151
+ background: var(--scrollbar-thumb);
152
+ }
153
+ *::-webkit-scrollbar-thumb:hover {
154
+ background: var(--scrollbar-thumb-hover);
155
+ }
156
+ *::-webkit-scrollbar-corner {
157
+ background: transparent;
158
+ }
159
+ .nb-avatar {
160
+ display: inline-flex;
161
+ align-items: center;
162
+ justify-content: center;
163
+ border-radius: 50%;
164
+ background: oklch(50% 0.14 calc(var(--avatar-hue, 218) * 1deg));
165
+ color: var(--on-accent-color);
166
+ font-family: var(--font-family-sans);
167
+ font-weight: var(--font-weight-bold);
168
+ letter-spacing: -0.02em;
169
+ line-height: 1;
170
+ flex-shrink: 0;
171
+ user-select: none;
172
+ box-shadow: 0 0 0 1.5px color-mix(in srgb, var(--on-accent-color) 18%, transparent);
173
+ }
174
+ .nb-avatar--square {
175
+ border-radius: var(--radius-md);
176
+ }
177
+
178
+ @media (prefers-color-scheme: dark) {
179
+ .nb-avatar {
180
+ background: oklch(48% 0.1 calc(var(--avatar-hue, 218) * 1deg));
181
+ }
182
+ }
183
+ [data-theme=dark] .nb-avatar {
184
+ background: oklch(48% 0.1 calc(var(--avatar-hue, 218) * 1deg));
185
+ }
186
+ .nb-button {
187
+ align-items: center;
188
+ border-radius: var(--radius-md);
189
+ cursor: pointer;
190
+ display: inline-flex;
191
+ font: inherit;
192
+ font-size: var(--font-size-md);
193
+ font-weight: var(--font-weight-medium);
194
+ gap: var(--space-2);
195
+ justify-content: center;
196
+ letter-spacing: -0.01em;
197
+ min-height: var(--control-height);
198
+ padding: 0 var(--space-3);
199
+ transition: background var(--transition-base), border-color var(--transition-base), color var(--transition-base), box-shadow var(--transition-base);
200
+ white-space: nowrap;
201
+ }
202
+ .nb-button:focus-visible {
203
+ box-shadow: 0 0 0 3px var(--focus-ring-color);
204
+ outline: none;
205
+ }
206
+ .nb-button:disabled {
207
+ cursor: default;
208
+ opacity: 0.6;
209
+ }
210
+
211
+ .nb-button--secondary {
212
+ background: var(--surface-1);
213
+ border: 1px solid var(--border-color);
214
+ color: var(--text-primary);
215
+ }
216
+ .nb-button--secondary:not(:disabled):hover, .nb-button--secondary:not(:disabled):focus-visible {
217
+ background: var(--surface-1);
218
+ border-color: var(--accent-color);
219
+ color: var(--accent-color);
220
+ }
221
+
222
+ .nb-button--ghost {
223
+ background: transparent;
224
+ border: 1px solid transparent;
225
+ color: var(--text-secondary);
226
+ }
227
+ .nb-button--ghost:not(:disabled):hover, .nb-button--ghost:not(:disabled):focus-visible {
228
+ background: color-mix(in srgb, var(--accent-color) 8%, transparent);
229
+ border-color: transparent;
230
+ color: var(--accent-color);
231
+ }
232
+
233
+ .nb-button--primary {
234
+ background: var(--accent-color);
235
+ border: 1px solid var(--accent-color);
236
+ color: var(--on-accent-color);
237
+ }
238
+ .nb-button--primary:not(:disabled):hover, .nb-button--primary:not(:disabled):focus-visible {
239
+ background: var(--accent-hover);
240
+ border-color: var(--accent-hover);
241
+ }
242
+
243
+ .nb-button--success {
244
+ background: var(--success-color);
245
+ border: 1px solid var(--success-color);
246
+ color: var(--on-success-color);
247
+ }
248
+ .nb-button--success:not(:disabled):hover, .nb-button--success:not(:disabled):focus-visible {
249
+ background: color-mix(in srgb, var(--success-color) 85%, #000);
250
+ border-color: color-mix(in srgb, var(--success-color) 85%, #000);
251
+ }
252
+
253
+ .nb-button--danger {
254
+ background: var(--error-color);
255
+ border: 1px solid var(--error-color);
256
+ color: var(--on-error-color);
257
+ }
258
+ .nb-button--danger:not(:disabled):hover, .nb-button--danger:not(:disabled):focus-visible {
259
+ background: color-mix(in srgb, var(--error-color) 85%, #000);
260
+ border-color: color-mix(in srgb, var(--error-color) 85%, #000);
261
+ }
262
+
263
+ .nb-button--form {
264
+ min-height: var(--control-height-form);
265
+ padding: 0 var(--space-4);
266
+ }
267
+
268
+ .nb-button--sm {
269
+ font-size: var(--font-size-xs);
270
+ letter-spacing: 0;
271
+ min-height: 22px;
272
+ padding: 0 var(--space-2);
273
+ }
274
+
275
+ .nb-button--primary.nb-button--sm,
276
+ .nb-button--success.nb-button--sm,
277
+ .nb-button--danger.nb-button--sm {
278
+ min-height: var(--control-height);
279
+ }
280
+
281
+ .nb-button--full {
282
+ width: 100%;
283
+ }
284
+
285
+ .nb-icon-button {
286
+ align-items: center;
287
+ background: transparent;
288
+ border: 0;
289
+ border-radius: var(--radius-md);
290
+ color: var(--text-secondary);
291
+ cursor: pointer;
292
+ display: inline-flex;
293
+ flex-shrink: 0;
294
+ font: inherit;
295
+ height: var(--control-height);
296
+ justify-content: center;
297
+ min-width: var(--control-height);
298
+ padding: 0 0.3rem;
299
+ transition: background var(--transition-base), color var(--transition-base), box-shadow var(--transition-base);
300
+ }
301
+ .nb-icon-button i {
302
+ font-size: 1.05rem;
303
+ line-height: 1;
304
+ }
305
+ .nb-icon-button:hover {
306
+ background: color-mix(in srgb, var(--accent-color) 10%, transparent);
307
+ color: var(--accent-color);
308
+ }
309
+ .nb-icon-button:focus-visible {
310
+ box-shadow: 0 0 0 2px var(--focus-ring-color);
311
+ outline: none;
312
+ }
313
+ .nb-icon-button:disabled {
314
+ cursor: default;
315
+ opacity: 0.5;
316
+ }
317
+
318
+ .nb-icon-button--danger:hover {
319
+ background: color-mix(in srgb, var(--error-color) 12%, transparent);
320
+ color: var(--error-color);
321
+ }
322
+
323
+ .nb-icon-button--form {
324
+ height: var(--control-height-form);
325
+ min-width: var(--control-height-form);
326
+ }
327
+
328
+ .nb-button-spinner {
329
+ animation: app-spinner-rotate 700ms linear infinite;
330
+ border: 2px solid color-mix(in srgb, currentcolor 25%, transparent);
331
+ border-radius: 50%;
332
+ border-top-color: currentcolor;
333
+ display: inline-block;
334
+ height: 14px;
335
+ width: 14px;
336
+ }
337
+
338
+ @keyframes app-spinner-rotate {
339
+ to {
340
+ transform: rotate(360deg);
341
+ }
342
+ }
343
+ @keyframes dialog-enter {
344
+ from {
345
+ opacity: 0;
346
+ transform: translate(-50%, calc(-50% - 12px)) scale(0.97);
347
+ }
348
+ to {
349
+ opacity: 1;
350
+ transform: translate(-50%, -50%) scale(1);
351
+ }
352
+ }
353
+ @keyframes scrim-enter {
354
+ from {
355
+ opacity: 0;
356
+ }
357
+ to {
358
+ opacity: 1;
359
+ }
360
+ }
361
+ .nb-dialog-root {
362
+ inset: 0;
363
+ position: fixed;
364
+ z-index: var(--z-dialog);
365
+ }
366
+
367
+ .nb-dialog__scrim {
368
+ animation: scrim-enter var(--transition-slow) both;
369
+ background: var(--overlay-bg);
370
+ border: 0;
371
+ cursor: default;
372
+ inset: 0;
373
+ padding: 0;
374
+ position: absolute;
375
+ z-index: 1;
376
+ }
377
+
378
+ .nb-dialog {
379
+ animation: dialog-enter var(--transition-slow) both;
380
+ background: var(--surface-1);
381
+ border: 1px solid var(--border-color);
382
+ border-radius: var(--radius-lg);
383
+ box-shadow: var(--shadow-lg);
384
+ display: flex;
385
+ flex-direction: column;
386
+ left: 50%;
387
+ max-height: calc(100dvh - var(--space-7));
388
+ max-width: calc(100vw - var(--space-7));
389
+ min-width: 300px;
390
+ overflow: hidden;
391
+ position: absolute;
392
+ top: 50%;
393
+ transform: translate(-50%, -50%);
394
+ z-index: 2;
395
+ }
396
+
397
+ .nb-dialog--fullscreen {
398
+ animation: none;
399
+ border: 0;
400
+ border-radius: 0;
401
+ height: 100dvh !important;
402
+ inset: 0;
403
+ max-height: none;
404
+ max-width: none;
405
+ transform: none;
406
+ width: 100vw !important;
407
+ }
408
+
409
+ .nb-dialog__header {
410
+ align-items: center;
411
+ background: var(--surface-1);
412
+ border-bottom: 1px solid var(--border-subtle);
413
+ display: flex;
414
+ flex: 0 0 auto;
415
+ gap: var(--space-2);
416
+ min-height: var(--toolbar-height);
417
+ padding: var(--space-2) var(--space-2) var(--space-2) var(--space-4);
418
+ position: relative;
419
+ z-index: 1;
420
+ }
421
+
422
+ .nb-dialog__title {
423
+ color: var(--text-primary);
424
+ flex: 1;
425
+ font-size: var(--font-size-md);
426
+ font-weight: var(--font-weight-semibold);
427
+ letter-spacing: -0.01em;
428
+ line-height: var(--line-height-tight);
429
+ margin: 0;
430
+ min-width: 0;
431
+ overflow: hidden;
432
+ text-overflow: ellipsis;
433
+ white-space: nowrap;
434
+ }
435
+
436
+ .nb-dialog__close {
437
+ flex: 0 0 auto;
438
+ }
439
+
440
+ .nb-dialog__body {
441
+ flex: 1;
442
+ min-height: 0;
443
+ overflow: auto;
444
+ padding: var(--space-4);
445
+ }
446
+
447
+ .nb-dialog__footer {
448
+ border-top: 1px solid var(--border-subtle);
449
+ display: flex;
450
+ flex-shrink: 0;
451
+ gap: var(--space-2);
452
+ justify-content: flex-end;
453
+ padding: var(--space-3) var(--space-4);
454
+ position: relative;
455
+ z-index: 1;
456
+ }
457
+
458
+ .nb-dialog__footer .nb-button {
459
+ min-height: var(--control-height-form);
460
+ }
461
+
462
+ html[data-density=compact] .nb-dialog {
463
+ max-height: calc(100dvh - var(--space-5));
464
+ max-width: calc(100vw - var(--space-5));
465
+ }
466
+ html[data-density=compact] .nb-dialog__header {
467
+ min-height: var(--toolbar-height);
468
+ padding: var(--space-1) var(--space-2) var(--space-1) var(--space-3);
469
+ }
470
+ html[data-density=compact] .nb-dialog__body {
471
+ padding: var(--space-3);
472
+ }
473
+ html[data-density=compact] .nb-dialog__footer {
474
+ gap: var(--space-1);
475
+ padding: var(--space-2) var(--space-3);
476
+ }
477
+ .nb-confirm-dialog__message {
478
+ margin: var(--space-2) 0 var(--space-4);
479
+ line-height: var(--line-height-relaxed);
480
+ color: var(--text-primary);
481
+ font-size: var(--font-size-sm);
482
+ }
483
+ .view-wrapper.view-wrapper-dashboard {
484
+ display: flex;
485
+ flex-direction: column;
486
+ flex-grow: 1;
487
+ gap: var(--space-4);
488
+ padding-bottom: var(--content-padding);
489
+ padding-top: var(--content-padding);
490
+ position: relative;
491
+ }
492
+ @media only screen and (max-width: 900px) {
493
+ .view-wrapper.view-wrapper-dashboard {
494
+ gap: var(--space-3);
495
+ padding-bottom: var(--space-4);
496
+ padding-top: var(--space-4);
497
+ }
498
+ .view-wrapper.view-wrapper-dashboard .card .card-contents {
499
+ height: auto;
500
+ }
501
+ }
502
+
503
+ .nb-toolbar {
504
+ align-items: center;
505
+ background: var(--surface-1);
506
+ border: 1px solid var(--border-subtle);
507
+ border-radius: var(--radius-lg);
508
+ box-shadow: none;
509
+ display: flex;
510
+ gap: var(--space-2);
511
+ min-height: var(--toolbar-height);
512
+ padding: 4px 10px;
513
+ }
514
+ @media only screen and (max-width: 900px) {
515
+ .nb-toolbar {
516
+ border-radius: var(--radius-md);
517
+ min-height: 40px;
518
+ padding: var(--space-2);
519
+ }
520
+ }
521
+ .nb-toolbar__start {
522
+ align-items: center;
523
+ display: inline-flex;
524
+ flex: 0 0 auto;
525
+ gap: var(--space-2);
526
+ }
527
+ .nb-toolbar__start i {
528
+ color: var(--accent-color);
529
+ font-size: var(--font-size-lg);
530
+ }
531
+ .nb-toolbar__center {
532
+ align-items: center;
533
+ display: flex;
534
+ flex: 1;
535
+ }
536
+ .nb-toolbar__end {
537
+ align-items: center;
538
+ display: flex;
539
+ flex: 0 0 auto;
540
+ gap: var(--space-1);
541
+ }
542
+ .nb-toolbar .toolbar-header {
543
+ color: var(--text-primary);
544
+ font-family: var(--font-family-sans);
545
+ font-size: var(--font-size-md);
546
+ font-weight: var(--font-weight-semibold);
547
+ letter-spacing: -0.015em;
548
+ line-height: var(--line-height-tight);
549
+ }
550
+ .nb-card {
551
+ display: flex;
552
+ height: 100%;
553
+ }
554
+ .nb-card button,
555
+ .nb-card .nb-button {
556
+ text-transform: none;
557
+ }
558
+ .nb-card .nb-card__content {
559
+ background: var(--surface-1);
560
+ border: 1px solid var(--border-color);
561
+ border-radius: var(--radius-xl);
562
+ box-shadow: var(--shadow-lg);
563
+ flex-grow: 0;
564
+ margin: auto;
565
+ max-width: 380px;
566
+ overflow: hidden;
567
+ padding: var(--space-7) var(--space-6);
568
+ width: auto;
569
+ }
570
+ .nb-card .nb-card__content.content {
571
+ height: auto;
572
+ }
573
+ .screen-x-small .nb-card .nb-card__content {
574
+ border: 0;
575
+ border-radius: 0;
576
+ box-shadow: none;
577
+ flex-grow: 1;
578
+ height: 100%;
579
+ margin: 0;
580
+ max-width: 100%;
581
+ padding: var(--space-6) var(--space-4);
582
+ width: 100%;
583
+ }
584
+ .nb-card .nb-card__content .header {
585
+ margin-bottom: var(--space-6);
586
+ text-align: center;
587
+ }
588
+ .nb-card .nb-card__content .header .title {
589
+ color: var(--text-primary);
590
+ font-size: var(--font-size-xl);
591
+ font-weight: var(--font-weight-semibold);
592
+ letter-spacing: -0.02em;
593
+ line-height: var(--line-height-tight);
594
+ }
595
+ .nb-card .nb-card__content .header .description {
596
+ color: var(--text-secondary);
597
+ font-size: var(--font-size-sm);
598
+ line-height: var(--line-height-normal);
599
+ margin-top: var(--space-3);
600
+ }
601
+ .nb-form-field {
602
+ color: var(--text-primary);
603
+ display: flex;
604
+ flex-direction: column;
605
+ font-size: var(--font-size-sm);
606
+ gap: var(--space-1);
607
+ }
608
+
609
+ .nb-form-field__label {
610
+ color: var(--text-secondary);
611
+ font-size: var(--font-size-xs);
612
+ font-weight: var(--font-weight-medium);
613
+ letter-spacing: 0.01em;
614
+ }
615
+
616
+ .nb-form-field__label--required::after {
617
+ color: var(--error-color);
618
+ content: " *";
619
+ }
620
+
621
+ .nb-form-field__error,
622
+ .nb-form-field__help {
623
+ font-size: var(--font-size-xs);
624
+ line-height: var(--line-height-tight);
625
+ }
626
+
627
+ .nb-form-field__error {
628
+ color: var(--error-color);
629
+ }
630
+
631
+ .nb-form-field__help {
632
+ color: var(--text-tertiary);
633
+ }
634
+
635
+ .nb-input {
636
+ appearance: none;
637
+ background: var(--surface-1);
638
+ border: 1px solid var(--border-color);
639
+ border-radius: var(--radius-md);
640
+ box-sizing: border-box;
641
+ color: var(--text-primary);
642
+ display: block;
643
+ font: inherit;
644
+ font-size: var(--font-size-md);
645
+ min-height: var(--control-height-form);
646
+ outline: none;
647
+ padding: 0 var(--space-3);
648
+ transition: background var(--transition-base), border-color var(--transition-base), box-shadow var(--transition-base);
649
+ width: 100%;
650
+ }
651
+ .nb-input::placeholder {
652
+ color: var(--text-tertiary);
653
+ opacity: 1;
654
+ }
655
+ .nb-input:hover:not(:disabled):not(:focus):not([readonly]) {
656
+ border-color: var(--text-tertiary);
657
+ }
658
+ .nb-input:focus {
659
+ background: var(--surface-1);
660
+ border-color: var(--accent-color);
661
+ box-shadow: 0 0 0 3px var(--focus-ring-color);
662
+ }
663
+ .nb-input[readonly] {
664
+ background: var(--surface-0);
665
+ border-color: var(--border-subtle);
666
+ color: var(--text-primary);
667
+ cursor: default;
668
+ font-weight: var(--font-weight-medium);
669
+ opacity: 1;
670
+ }
671
+ .nb-input[readonly]:focus {
672
+ border-color: var(--border-subtle);
673
+ box-shadow: none;
674
+ }
675
+ .nb-input:disabled {
676
+ background: var(--surface-0);
677
+ cursor: not-allowed;
678
+ opacity: 0.55;
679
+ }
680
+
681
+ .nb-input--invalid,
682
+ .nb-form-field--error .nb-input {
683
+ border-color: var(--error-color);
684
+ }
685
+ .nb-input--invalid:focus,
686
+ .nb-form-field--error .nb-input:focus {
687
+ box-shadow: 0 0 0 3px color-mix(in srgb, var(--error-color) 22%, transparent);
688
+ }
689
+
690
+ .nb-select {
691
+ appearance: auto;
692
+ padding-right: var(--space-5);
693
+ }
694
+
695
+ .nb-textarea {
696
+ line-height: var(--line-height-normal);
697
+ min-height: 96px;
698
+ padding: var(--space-2) var(--space-3);
699
+ resize: vertical;
700
+ }
701
+ .nb-dropdown {
702
+ min-width: 0;
703
+ position: relative;
704
+ }
705
+
706
+ .nb-dropdown--form {
707
+ width: 100%;
708
+ }
709
+
710
+ .nb-dropdown--toolbar {
711
+ align-items: center;
712
+ display: inline-flex;
713
+ flex: 0 1 auto;
714
+ gap: var(--space-2);
715
+ margin-left: var(--space-2);
716
+ }
717
+
718
+ .nb-dropdown__toolbar-label {
719
+ align-items: center;
720
+ color: var(--text-secondary);
721
+ display: inline-flex;
722
+ flex: 0 0 auto;
723
+ font-size: var(--font-size-xs);
724
+ font-weight: var(--font-weight-medium);
725
+ gap: var(--space-1);
726
+ white-space: nowrap;
727
+ }
728
+ .nb-dropdown__toolbar-label i {
729
+ color: var(--text-tertiary);
730
+ font-size: 14px;
731
+ }
732
+
733
+ .nb-dropdown__trigger {
734
+ align-items: center;
735
+ background: var(--surface-1);
736
+ border: 1px solid var(--border-color);
737
+ border-radius: var(--radius-md);
738
+ color: var(--text-primary);
739
+ cursor: pointer;
740
+ display: inline-flex;
741
+ font: inherit;
742
+ gap: var(--space-2);
743
+ justify-content: space-between;
744
+ min-width: 0;
745
+ outline: none;
746
+ transition: border-color var(--transition-base), box-shadow var(--transition-base);
747
+ width: 100%;
748
+ }
749
+ .nb-dropdown__trigger:hover:not(:disabled) {
750
+ border-color: var(--text-tertiary);
751
+ }
752
+ .nb-dropdown__trigger:focus-visible, .nb-dropdown--open .nb-dropdown__trigger {
753
+ border-color: var(--accent-color);
754
+ box-shadow: 0 0 0 2px var(--focus-ring-color);
755
+ }
756
+ .nb-dropdown__trigger:disabled {
757
+ cursor: not-allowed;
758
+ opacity: 0.6;
759
+ }
760
+
761
+ .nb-dropdown--form .nb-dropdown__trigger {
762
+ font-size: var(--font-size-md);
763
+ min-height: var(--control-height-form);
764
+ padding: 0 var(--space-3);
765
+ }
766
+
767
+ .nb-dropdown--toolbar .nb-dropdown__trigger {
768
+ font-size: var(--font-size-xs);
769
+ font-weight: var(--font-weight-medium);
770
+ max-width: min(280px, 42vw);
771
+ min-height: var(--control-height);
772
+ min-width: 180px;
773
+ padding: 0 var(--space-2);
774
+ }
775
+
776
+ .nb-dropdown--compact {
777
+ display: inline-flex;
778
+ width: auto;
779
+ }
780
+
781
+ .nb-dropdown--compact .nb-dropdown__trigger {
782
+ font-size: var(--font-size-xs);
783
+ min-height: var(--control-height);
784
+ min-width: 56px;
785
+ padding: 0 var(--space-2);
786
+ width: auto;
787
+ }
788
+
789
+ .nb-dropdown__menu--compact {
790
+ max-width: min(280px, 80vw);
791
+ min-width: 72px;
792
+ }
793
+
794
+ .nb-dropdown__menu--compact .nb-dropdown__option {
795
+ font-size: var(--font-size-xs);
796
+ min-height: 30px;
797
+ padding: var(--space-1) var(--space-2);
798
+ }
799
+
800
+ .nb-dropdown__value {
801
+ overflow: hidden;
802
+ text-align: left;
803
+ text-overflow: ellipsis;
804
+ white-space: nowrap;
805
+ }
806
+
807
+ .nb-dropdown__caret {
808
+ flex: 0 0 auto;
809
+ font-size: 12px;
810
+ opacity: 0.7;
811
+ }
812
+
813
+ .nb-dropdown__menu {
814
+ background: var(--surface-elevated);
815
+ border: 1px solid var(--border-subtle);
816
+ border-radius: var(--radius-lg);
817
+ box-shadow: var(--shadow-md);
818
+ list-style: none;
819
+ max-height: 280px;
820
+ max-width: min(360px, 80vw);
821
+ min-width: 0;
822
+ overflow: auto;
823
+ padding: var(--space-1);
824
+ /* position/top/left/z-index come from inline styles set by the portal */
825
+ }
826
+
827
+ .nb-dropdown__option {
828
+ background: transparent;
829
+ border: 0;
830
+ border-radius: var(--radius-md);
831
+ color: var(--text-primary);
832
+ cursor: pointer;
833
+ display: block;
834
+ font: inherit;
835
+ font-size: var(--font-size-sm);
836
+ padding: var(--space-2) var(--space-3);
837
+ text-align: left;
838
+ width: 100%;
839
+ }
840
+ .nb-dropdown__option:hover:not(:disabled) {
841
+ background: var(--control-bg-hover);
842
+ }
843
+ .nb-dropdown__option:disabled {
844
+ cursor: not-allowed;
845
+ opacity: 0.5;
846
+ }
847
+ .nb-dropdown__option--active {
848
+ background: color-mix(in srgb, var(--accent-color) 10%, transparent);
849
+ color: var(--accent-color);
850
+ font-weight: var(--font-weight-semibold);
851
+ }
852
+
853
+ .nb-dropdown__option-content {
854
+ align-items: center;
855
+ display: inline-flex;
856
+ gap: var(--space-3);
857
+ min-width: 0;
858
+ }
859
+
860
+ .nb-dropdown__option-icon {
861
+ color: var(--text-tertiary);
862
+ flex: 0 0 28px;
863
+ font-family: var(--font-family-sans);
864
+ font-size: 16px;
865
+ font-weight: var(--font-weight-medium);
866
+ line-height: 1;
867
+ text-align: center;
868
+ }
869
+
870
+ .nb-dropdown__option--active .nb-dropdown__option-icon {
871
+ color: var(--accent-color);
872
+ }
873
+
874
+ @media (max-width: 720px) {
875
+ .nb-dropdown--toolbar {
876
+ align-items: stretch;
877
+ flex-direction: column;
878
+ margin-left: 0;
879
+ width: 100%;
880
+ }
881
+ .nb-dropdown--toolbar .nb-dropdown__trigger {
882
+ max-width: none;
883
+ min-width: 0;
884
+ width: 100%;
885
+ }
886
+ }
887
+ .nb-settings-panel {
888
+ padding: var(--space-4);
889
+ width: 236px;
890
+ }
891
+
892
+ .nb-settings-panel__heading {
893
+ color: var(--text-secondary);
894
+ font-size: var(--font-size-xs);
895
+ font-weight: var(--font-weight-semibold);
896
+ letter-spacing: 0.06em;
897
+ margin: 0 0 var(--space-2);
898
+ text-transform: uppercase;
899
+ }
900
+
901
+ .nb-settings-panel__swatches {
902
+ display: flex;
903
+ flex-wrap: wrap;
904
+ gap: var(--space-2);
905
+ margin-bottom: var(--space-4);
906
+ }
907
+
908
+ .nb-settings-panel__swatch {
909
+ border-radius: 50%;
910
+ border: 2px solid transparent;
911
+ cursor: pointer;
912
+ height: 24px;
913
+ outline: none;
914
+ padding: 0;
915
+ position: relative;
916
+ transition: transform var(--transition-base), box-shadow var(--transition-base);
917
+ width: 24px;
918
+ }
919
+ .nb-settings-panel__swatch:hover {
920
+ transform: scale(1.15);
921
+ }
922
+ .nb-settings-panel__swatch:focus-visible {
923
+ box-shadow: 0 0 0 3px var(--focus-ring-color);
924
+ }
925
+ .nb-settings-panel__swatch[aria-pressed=true] {
926
+ box-shadow: 0 0 0 2px var(--surface-1), 0 0 0 4px currentcolor;
927
+ }
928
+
929
+ .nb-settings-panel__density {
930
+ display: flex;
931
+ gap: var(--space-1);
932
+ }
933
+
934
+ .nb-settings-panel__density-btn {
935
+ align-items: center;
936
+ background: transparent;
937
+ border: 1px solid var(--border-color);
938
+ border-radius: var(--radius-sm);
939
+ color: var(--text-secondary);
940
+ cursor: pointer;
941
+ display: inline-flex;
942
+ flex: 1;
943
+ font: inherit;
944
+ font-size: var(--font-size-sm);
945
+ gap: var(--space-2);
946
+ justify-content: center;
947
+ padding: var(--space-2) var(--space-3);
948
+ transition: background var(--transition-base), border-color var(--transition-base), color var(--transition-base);
949
+ }
950
+ .nb-settings-panel__density-btn i {
951
+ font-size: var(--font-size-md);
952
+ opacity: 0.7;
953
+ }
954
+ .nb-settings-panel__density-btn:hover {
955
+ border-color: var(--accent-color);
956
+ color: var(--accent-color);
957
+ }
958
+ .nb-settings-panel__density-btn[aria-pressed=true] {
959
+ background: color-mix(in srgb, var(--accent-color) 10%, transparent);
960
+ border-color: var(--accent-color);
961
+ color: var(--accent-color);
962
+ font-weight: var(--font-weight-medium);
963
+ }
964
+ .nb-settings-panel__density-btn[aria-pressed=true] i {
965
+ opacity: 1;
966
+ }
967
+
968
+ .nb-settings-panel__divider {
969
+ background: var(--border-subtle);
970
+ border: 0;
971
+ height: 1px;
972
+ margin: var(--space-3) 0;
973
+ }
974
+ .nb-badge {
975
+ align-items: center;
976
+ border: 1px solid transparent;
977
+ border-radius: var(--radius-xs);
978
+ display: inline-flex;
979
+ font-size: var(--font-size-xxs);
980
+ font-weight: var(--font-weight-semibold);
981
+ gap: var(--space-1);
982
+ letter-spacing: 0.05em;
983
+ line-height: 1.2;
984
+ min-height: 20px;
985
+ padding: 2px 6px;
986
+ text-transform: uppercase;
987
+ white-space: nowrap;
988
+ }
989
+ .nb-badge--sm {
990
+ font-size: 10px;
991
+ min-height: 18px;
992
+ padding: 1px var(--space-2);
993
+ }
994
+ .nb-badge--pill {
995
+ border-radius: var(--radius-xl);
996
+ letter-spacing: 0.02em;
997
+ text-transform: none;
998
+ }
999
+ .nb-badge--dot {
1000
+ border: none;
1001
+ border-radius: 50%;
1002
+ height: 8px;
1003
+ min-height: 8px;
1004
+ min-width: 8px;
1005
+ padding: 0;
1006
+ width: 8px;
1007
+ }
1008
+ .nb-badge--primary {
1009
+ background: color-mix(in srgb, var(--accent-color) 15%, transparent);
1010
+ border-color: color-mix(in srgb, var(--accent-color) 30%, transparent);
1011
+ color: var(--accent-color);
1012
+ }
1013
+ .nb-badge--success {
1014
+ background: var(--status-success-bg, color-mix(in srgb, var(--success-color) 15%, transparent));
1015
+ border-color: var(--status-success-border, color-mix(in srgb, var(--success-color) 30%, transparent));
1016
+ color: var(--status-success-text, var(--success-color));
1017
+ }
1018
+ .nb-badge--danger {
1019
+ background: var(--status-danger-bg, color-mix(in srgb, var(--error-color) 15%, transparent));
1020
+ border-color: var(--status-danger-border, color-mix(in srgb, var(--error-color) 30%, transparent));
1021
+ color: var(--status-danger-text, var(--error-color));
1022
+ }
1023
+ .nb-badge--warning {
1024
+ background: var(--status-warning-bg, color-mix(in srgb, var(--warning-color) 18%, transparent));
1025
+ border-color: var(--status-warning-border, color-mix(in srgb, var(--warning-color) 40%, transparent));
1026
+ color: var(--status-warning-text, color-mix(in srgb, var(--warning-color) 90%, #000));
1027
+ }
1028
+ .nb-badge--info {
1029
+ background: var(--status-info-bg, color-mix(in srgb, var(--info-color) 15%, transparent));
1030
+ border-color: var(--status-info-border, color-mix(in srgb, var(--info-color) 30%, transparent));
1031
+ color: var(--status-info-text, var(--info-color));
1032
+ }
1033
+ .nb-badge--secondary {
1034
+ background: var(--surface-2);
1035
+ border-color: var(--border-subtle);
1036
+ color: var(--text-secondary);
1037
+ }
1038
+ .nb-badge--light {
1039
+ background: var(--surface-2);
1040
+ border-color: var(--border-color);
1041
+ color: var(--text-primary);
1042
+ }
1043
+ .nb-badge--dark {
1044
+ background: color-mix(in srgb, var(--text-primary) 15%, transparent);
1045
+ border-color: color-mix(in srgb, var(--text-primary) 25%, transparent);
1046
+ color: var(--text-primary);
1047
+ }
1048
+ .nb-badge--dot.nb-badge--primary {
1049
+ background: var(--accent-color);
1050
+ }
1051
+ .nb-badge--dot.nb-badge--success {
1052
+ background: var(--success-color);
1053
+ }
1054
+ .nb-badge--dot.nb-badge--danger {
1055
+ background: var(--error-color);
1056
+ }
1057
+ .nb-badge--dot.nb-badge--warning {
1058
+ background: var(--warning-color);
1059
+ }
1060
+ .nb-badge--dot.nb-badge--info {
1061
+ background: var(--info-color);
1062
+ }
1063
+ .nb-badge--dot.nb-badge--secondary {
1064
+ background: var(--text-secondary);
1065
+ }
1066
+ .nb-badge--outlined.nb-badge--primary {
1067
+ background: transparent;
1068
+ border-color: var(--accent-color);
1069
+ color: var(--accent-color);
1070
+ }
1071
+ .nb-badge--outlined.nb-badge--success {
1072
+ background: transparent;
1073
+ border-color: var(--success-color);
1074
+ color: var(--success-color);
1075
+ }
1076
+ .nb-badge--outlined.nb-badge--danger {
1077
+ background: transparent;
1078
+ border-color: var(--error-color);
1079
+ color: var(--error-color);
1080
+ }
1081
+ .nb-badge--outlined.nb-badge--warning {
1082
+ background: transparent;
1083
+ border-color: var(--warning-color);
1084
+ color: color-mix(in srgb, var(--warning-color) 90%, #000);
1085
+ }
1086
+ .nb-badge--outlined.nb-badge--info {
1087
+ background: transparent;
1088
+ border-color: var(--info-color);
1089
+ color: var(--info-color);
1090
+ }
1091
+ .nb-badge--outlined.nb-badge--secondary {
1092
+ background: transparent;
1093
+ border-color: var(--text-secondary);
1094
+ color: var(--text-secondary);
1095
+ }
1096
+ .nb-badge--outlined.nb-badge--light {
1097
+ background: transparent;
1098
+ border-color: var(--border-color);
1099
+ color: var(--text-primary);
1100
+ }
1101
+ .nb-badge--outlined.nb-badge--dark {
1102
+ background: transparent;
1103
+ border-color: var(--text-primary);
1104
+ color: var(--text-primary);
1105
+ }
1106
+
1107
+ html[data-density=compact] .nb-badge {
1108
+ font-size: 10px;
1109
+ min-height: 16px;
1110
+ padding: 1px var(--space-1);
1111
+ }
1112
+ html[data-density=compact] .nb-badge--sm {
1113
+ font-size: 9px;
1114
+ min-height: 14px;
1115
+ padding: 0 var(--space-1);
1116
+ }
1117
+ @keyframes nb-skeleton-shimmer {
1118
+ 0% {
1119
+ background-position: 200% 0;
1120
+ }
1121
+ 100% {
1122
+ background-position: -200% 0;
1123
+ }
1124
+ }
1125
+ .nb-skeleton {
1126
+ display: block;
1127
+ border-radius: var(--radius-sm);
1128
+ background: linear-gradient(90deg, var(--surface-2) 25%, color-mix(in srgb, var(--surface-2) 50%, var(--surface-1)) 50%, var(--surface-2) 75%);
1129
+ background-size: 200% 100%;
1130
+ animation: nb-skeleton-shimmer 1.5s ease-in-out infinite;
1131
+ }
1132
+ .nb-skeleton--circle {
1133
+ border-radius: 50%;
1134
+ width: 40px;
1135
+ height: 40px;
1136
+ min-width: 40px;
1137
+ }
1138
+ .nb-skeleton--text {
1139
+ height: var(--font-size-md);
1140
+ border-radius: var(--radius-xs);
1141
+ width: 100%;
1142
+ }
1143
+ .nb-skeleton-lines {
1144
+ display: flex;
1145
+ flex-direction: column;
1146
+ gap: var(--space-2);
1147
+ width: 100%;
1148
+ }
1149
+ .nb-empty-state {
1150
+ align-items: center;
1151
+ display: flex;
1152
+ flex-direction: column;
1153
+ gap: var(--space-3);
1154
+ padding: var(--space-8) var(--space-6);
1155
+ text-align: center;
1156
+ }
1157
+ .nb-empty-state--fill {
1158
+ flex: 1;
1159
+ justify-content: center;
1160
+ min-height: 100%;
1161
+ width: 100%;
1162
+ }
1163
+ .nb-empty-state__icon-wrap {
1164
+ align-items: center;
1165
+ border-radius: 50%;
1166
+ display: inline-flex;
1167
+ justify-content: center;
1168
+ }
1169
+ .nb-empty-state i {
1170
+ line-height: 1;
1171
+ }
1172
+ .nb-empty-state__title {
1173
+ color: var(--text-primary);
1174
+ font-size: var(--font-size-md);
1175
+ font-weight: var(--font-weight-semibold);
1176
+ line-height: var(--line-height-tight);
1177
+ margin: 0;
1178
+ }
1179
+ .nb-empty-state__description {
1180
+ color: var(--text-secondary);
1181
+ font-size: var(--font-size-sm);
1182
+ line-height: var(--line-height-normal);
1183
+ margin: 0;
1184
+ max-width: 40ch;
1185
+ }
1186
+ .nb-empty-state__action {
1187
+ display: flex;
1188
+ flex-wrap: wrap;
1189
+ gap: var(--space-2);
1190
+ justify-content: center;
1191
+ margin-top: var(--space-1);
1192
+ }
1193
+ .nb-empty-state--sm {
1194
+ gap: var(--space-2);
1195
+ padding: var(--space-5) var(--space-4);
1196
+ }
1197
+ .nb-empty-state--sm .nb-empty-state__icon-wrap {
1198
+ font-size: 1.75rem;
1199
+ height: 40px;
1200
+ width: 40px;
1201
+ }
1202
+ .nb-empty-state--sm .nb-empty-state__title {
1203
+ font-size: var(--font-size-sm);
1204
+ }
1205
+ .nb-empty-state--sm .nb-empty-state__description {
1206
+ font-size: var(--font-size-xs);
1207
+ }
1208
+ .nb-empty-state--md .nb-empty-state__icon-wrap {
1209
+ font-size: 2.25rem;
1210
+ height: 56px;
1211
+ width: 56px;
1212
+ }
1213
+ .nb-empty-state--lg {
1214
+ gap: var(--space-4);
1215
+ padding: var(--space-10) var(--space-8);
1216
+ }
1217
+ .nb-empty-state--lg .nb-empty-state__icon-wrap {
1218
+ font-size: 3rem;
1219
+ height: 72px;
1220
+ width: 72px;
1221
+ }
1222
+ .nb-empty-state--lg .nb-empty-state__title {
1223
+ font-size: var(--font-size-xl);
1224
+ }
1225
+ .nb-empty-state--lg .nb-empty-state__description {
1226
+ font-size: var(--font-size-md);
1227
+ }
1228
+ .nb-empty-state--default .nb-empty-state__icon-wrap {
1229
+ background: var(--surface-2);
1230
+ color: var(--text-secondary);
1231
+ }
1232
+ .nb-empty-state--danger .nb-empty-state__icon-wrap {
1233
+ background: color-mix(in srgb, var(--error-color) 12%, transparent);
1234
+ color: var(--error-color);
1235
+ }
1236
+ .nb-empty-state--warning .nb-empty-state__icon-wrap {
1237
+ background: color-mix(in srgb, var(--warning-color) 14%, transparent);
1238
+ color: var(--warning-color);
1239
+ }
1240
+ .nb-empty-state--success .nb-empty-state__icon-wrap {
1241
+ background: color-mix(in srgb, var(--success-color) 12%, transparent);
1242
+ color: var(--success-color);
1243
+ }
1244
+ .nb-chip {
1245
+ display: inline-flex;
1246
+ align-items: center;
1247
+ gap: 0.35rem;
1248
+ border: 1px solid var(--border-color);
1249
+ background: var(--surface-1);
1250
+ color: var(--text-secondary);
1251
+ border-radius: 999px;
1252
+ padding: 0.35rem 0.8rem;
1253
+ cursor: pointer;
1254
+ font-weight: 600;
1255
+ font-size: var(--font-size-sm);
1256
+ white-space: nowrap;
1257
+ flex-shrink: 0;
1258
+ user-select: none;
1259
+ transition: background var(--transition-base), color var(--transition-base), border-color var(--transition-base);
1260
+ }
1261
+ .nb-chip--sm {
1262
+ padding: 0.2rem 0.6rem;
1263
+ font-size: var(--font-size-xs);
1264
+ gap: 0.25rem;
1265
+ }
1266
+ .nb-chip--lg {
1267
+ padding: 0.5rem 1rem;
1268
+ font-size: var(--font-size-md);
1269
+ }
1270
+ .nb-chip:hover:not(.is-active):not([aria-pressed=true]):not(:disabled) {
1271
+ background: var(--surface-2);
1272
+ border-color: color-mix(in srgb, var(--accent-color) 28%, transparent);
1273
+ }
1274
+ .nb-chip:focus-visible {
1275
+ outline: 2px solid var(--focus-ring-color);
1276
+ outline-offset: 2px;
1277
+ }
1278
+ .nb-chip.is-active, .nb-chip[aria-pressed=true] {
1279
+ border-color: color-mix(in srgb, var(--accent-color) 28%, transparent);
1280
+ background: color-mix(in srgb, var(--accent-color) 12%, transparent);
1281
+ color: var(--accent-color);
1282
+ }
1283
+ .nb-chip.is-active .nb-chip__count, .nb-chip[aria-pressed=true] .nb-chip__count {
1284
+ background: color-mix(in srgb, var(--accent-color) 14%, transparent);
1285
+ }
1286
+ .nb-chip:disabled, .nb-chip[aria-disabled=true] {
1287
+ opacity: 0.45;
1288
+ cursor: not-allowed;
1289
+ pointer-events: none;
1290
+ }
1291
+ .nb-chip > i,
1292
+ .nb-chip > .nb-chip__icon {
1293
+ font-size: 1em;
1294
+ line-height: 1;
1295
+ flex-shrink: 0;
1296
+ }
1297
+
1298
+ .nb-chip__count {
1299
+ font-size: 0.72rem;
1300
+ font-weight: 700;
1301
+ background: color-mix(in srgb, currentColor 10%, transparent);
1302
+ border-radius: 999px;
1303
+ padding: 0.05rem 0.4rem;
1304
+ line-height: 1.4;
1305
+ min-width: 1.4em;
1306
+ text-align: center;
1307
+ }
1308
+ .nb-toggle-row {
1309
+ display: flex;
1310
+ align-items: center;
1311
+ justify-content: space-between;
1312
+ gap: var(--space-2);
1313
+ cursor: pointer;
1314
+ font-size: var(--font-size-sm);
1315
+ font-weight: 600;
1316
+ color: var(--text-primary);
1317
+ user-select: none;
1318
+ }
1319
+
1320
+ .nb-toggle {
1321
+ position: relative;
1322
+ flex-shrink: 0;
1323
+ display: inline-flex;
1324
+ align-items: center;
1325
+ }
1326
+ .nb-toggle input[type=checkbox] {
1327
+ position: absolute;
1328
+ opacity: 0;
1329
+ width: 0;
1330
+ height: 0;
1331
+ pointer-events: none;
1332
+ }
1333
+ .nb-toggle__track {
1334
+ display: block;
1335
+ width: 2.4rem;
1336
+ height: 1.35rem;
1337
+ border-radius: 999px;
1338
+ background: var(--border-color);
1339
+ transition: background var(--transition-base);
1340
+ position: relative;
1341
+ cursor: pointer;
1342
+ }
1343
+ .nb-toggle__track::after {
1344
+ content: "";
1345
+ position: absolute;
1346
+ top: 0.2rem;
1347
+ left: 0.2rem;
1348
+ width: 0.95rem;
1349
+ height: 0.95rem;
1350
+ border-radius: 50%;
1351
+ background: var(--surface-elevated);
1352
+ box-shadow: var(--shadow-sm);
1353
+ transition: left var(--transition-fast), background var(--transition-fast);
1354
+ }
1355
+ .nb-toggle input[type=checkbox]:checked + .nb-toggle__track {
1356
+ background: var(--accent-color);
1357
+ }
1358
+ .nb-toggle input[type=checkbox]:checked + .nb-toggle__track::after {
1359
+ left: calc(100% - 1.15rem);
1360
+ }
1361
+ .nb-toggle input[type=checkbox]:focus-visible + .nb-toggle__track {
1362
+ outline: 2px solid var(--focus-ring-color);
1363
+ outline-offset: 2px;
1364
+ }
1365
+ .nb-toggle input[type=checkbox]:disabled + .nb-toggle__track {
1366
+ opacity: 0.45;
1367
+ cursor: not-allowed;
1368
+ }
1369
+ .nb-toggle--sm .nb-toggle__track {
1370
+ width: 1.8rem;
1371
+ height: 1rem;
1372
+ }
1373
+ .nb-toggle--sm .nb-toggle__track::after {
1374
+ width: 0.7rem;
1375
+ height: 0.7rem;
1376
+ top: 0.15rem;
1377
+ left: 0.15rem;
1378
+ }
1379
+ .nb-toggle--sm input[type=checkbox]:checked + .nb-toggle__track::after {
1380
+ left: calc(100% - 0.85rem);
1381
+ }
1382
+ .nb-context-menu {
1383
+ position: relative;
1384
+ display: inline-flex;
1385
+ }
1386
+ .nb-context-menu__dropdown {
1387
+ position: absolute;
1388
+ top: calc(100% + var(--space-1));
1389
+ right: 0;
1390
+ z-index: var(--z-dropdown);
1391
+ min-width: 190px;
1392
+ background: var(--surface-elevated);
1393
+ border: 1px solid var(--border-subtle);
1394
+ border-radius: var(--radius-lg);
1395
+ box-shadow: var(--shadow-md);
1396
+ list-style: none;
1397
+ margin: 0;
1398
+ padding: var(--space-1);
1399
+ animation: nb-context-menu-enter 100ms ease both;
1400
+ }
1401
+ .nb-context-menu__item {
1402
+ align-items: center;
1403
+ border-radius: var(--radius-md);
1404
+ display: flex;
1405
+ gap: var(--space-2);
1406
+ min-height: 32px;
1407
+ width: 100%;
1408
+ padding: 0 10px;
1409
+ background: none;
1410
+ border: none;
1411
+ cursor: pointer;
1412
+ text-align: left;
1413
+ font-size: var(--font-size-sm);
1414
+ color: var(--text-primary);
1415
+ transition: background var(--transition-fast);
1416
+ }
1417
+ .nb-context-menu__item:hover {
1418
+ background: var(--control-bg-hover);
1419
+ }
1420
+ .nb-context-menu__item:focus-visible {
1421
+ outline: 2px solid var(--focus-ring-color);
1422
+ outline-offset: -2px;
1423
+ }
1424
+ .nb-context-menu__item--danger {
1425
+ color: var(--status-danger-text, var(--error-color));
1426
+ }
1427
+ .nb-context-menu__item--danger:hover {
1428
+ background: var(--status-danger-bg, color-mix(in srgb, var(--error-color) 8%, transparent));
1429
+ }
1430
+ .nb-context-menu__item:disabled, .nb-context-menu__item[aria-disabled=true] {
1431
+ opacity: 0.45;
1432
+ cursor: not-allowed;
1433
+ pointer-events: none;
1434
+ }
1435
+ .nb-context-menu__item > i {
1436
+ margin-right: 0;
1437
+ font-size: 1em;
1438
+ opacity: 0.8;
1439
+ }
1440
+ .nb-context-menu__separator {
1441
+ height: 1px;
1442
+ background: var(--border-subtle);
1443
+ margin: var(--space-1) 0;
1444
+ }
1445
+
1446
+ html[data-density=compact] .nb-context-menu__dropdown {
1447
+ min-width: 170px;
1448
+ padding: var(--space-1);
1449
+ }
1450
+ html[data-density=compact] .nb-context-menu__item {
1451
+ border-radius: var(--radius-sm);
1452
+ min-height: 26px;
1453
+ padding: 0 var(--space-2);
1454
+ }
1455
+
1456
+ @keyframes nb-context-menu-enter {
1457
+ from {
1458
+ opacity: 0;
1459
+ transform: translateY(-4px) scale(0.97);
1460
+ }
1461
+ to {
1462
+ opacity: 1;
1463
+ transform: translateY(0) scale(1);
1464
+ }
1465
+ }
1466
+ .nb-stat-card {
1467
+ background: var(--surface-1);
1468
+ border: 1px solid var(--border-color);
1469
+ border-radius: var(--radius-xl);
1470
+ box-shadow: var(--shadow-sm);
1471
+ display: flex;
1472
+ flex-direction: column;
1473
+ overflow: hidden;
1474
+ position: relative;
1475
+ }
1476
+ .nb-stat-card__header {
1477
+ align-items: flex-start;
1478
+ display: flex;
1479
+ justify-content: space-between;
1480
+ padding: var(--content-padding) var(--content-padding) 0;
1481
+ }
1482
+ .nb-stat-card__title {
1483
+ color: var(--text-secondary);
1484
+ display: block;
1485
+ font-size: var(--font-size-xs);
1486
+ font-weight: var(--font-weight-medium);
1487
+ letter-spacing: 0.04em;
1488
+ line-height: var(--line-height-tight);
1489
+ margin-bottom: var(--space-2);
1490
+ padding-right: var(--space-6);
1491
+ text-transform: uppercase;
1492
+ }
1493
+ .nb-stat-card__value {
1494
+ color: var(--text-primary);
1495
+ display: block;
1496
+ font-family: var(--font-family-mono);
1497
+ font-size: var(--font-size-xl);
1498
+ font-weight: var(--font-weight-bold);
1499
+ letter-spacing: -0.02em;
1500
+ line-height: 1;
1501
+ margin-bottom: var(--space-1);
1502
+ }
1503
+ .nb-stat-card__value--2xl {
1504
+ font-size: var(--font-size-2xl);
1505
+ }
1506
+ .nb-stat-card__delta {
1507
+ align-items: center;
1508
+ display: inline-flex;
1509
+ font-size: var(--font-size-xs);
1510
+ font-weight: var(--font-weight-medium);
1511
+ gap: var(--space-1);
1512
+ letter-spacing: 0.01em;
1513
+ margin-bottom: var(--space-1);
1514
+ }
1515
+ .nb-stat-card__delta--up {
1516
+ color: var(--success-color);
1517
+ }
1518
+ .nb-stat-card__delta--down {
1519
+ color: var(--error-color);
1520
+ }
1521
+ .nb-stat-card__delta--flat {
1522
+ color: var(--text-tertiary);
1523
+ }
1524
+ .nb-stat-card__subtitle {
1525
+ color: var(--text-tertiary);
1526
+ display: block;
1527
+ font-size: var(--font-size-xs);
1528
+ line-height: var(--line-height-tight);
1529
+ margin-top: var(--space-1);
1530
+ }
1531
+ .nb-stat-card__extra {
1532
+ flex-shrink: 0;
1533
+ }
1534
+ .nb-stat-card__menu {
1535
+ position: absolute;
1536
+ right: var(--space-2);
1537
+ top: var(--space-2);
1538
+ }
1539
+ .nb-stat-card__body {
1540
+ flex: 1 1 auto;
1541
+ font-size: var(--font-size-sm);
1542
+ min-height: 0;
1543
+ padding: 0 var(--content-padding) var(--content-padding);
1544
+ }
1545
+ .nb-stat-card--accented {
1546
+ border-left: 3px solid var(--accent-color);
1547
+ }
1548
+ .nb-stat-card--accented-success {
1549
+ border-left: 3px solid var(--success-color);
1550
+ }
1551
+ .nb-stat-card--accented-warning {
1552
+ border-left: 3px solid var(--warning-color);
1553
+ }
1554
+ .nb-stat-card--accented-danger {
1555
+ border-left: 3px solid var(--error-color);
1556
+ }
1557
+ .nb-collapsible__header {
1558
+ display: flex;
1559
+ align-items: stretch;
1560
+ }
1561
+ .nb-collapsible__trigger {
1562
+ flex: 1;
1563
+ min-width: 0;
1564
+ display: flex;
1565
+ align-items: center;
1566
+ gap: var(--space-2);
1567
+ padding: var(--space-2) var(--space-3);
1568
+ background: transparent;
1569
+ border: 0;
1570
+ cursor: pointer;
1571
+ color: var(--text-secondary);
1572
+ font: inherit;
1573
+ font-size: var(--font-size-sm);
1574
+ font-weight: var(--font-weight-semibold);
1575
+ text-align: left;
1576
+ transition: background var(--transition-base), color var(--transition-base);
1577
+ }
1578
+ .nb-collapsible__trigger i {
1579
+ flex-shrink: 0;
1580
+ }
1581
+ .nb-collapsible__trigger:hover {
1582
+ background: var(--surface-2);
1583
+ color: var(--text-primary);
1584
+ }
1585
+ .nb-collapsible__trigger:focus-visible {
1586
+ outline: 2px solid var(--focus-ring-color);
1587
+ outline-offset: -2px;
1588
+ border-radius: var(--radius-sm);
1589
+ }
1590
+ .nb-collapsible__chevron {
1591
+ margin-left: auto;
1592
+ flex-shrink: 0;
1593
+ transition: transform var(--transition-base);
1594
+ }
1595
+ .nb-collapsible--open .nb-collapsible__chevron {
1596
+ transform: rotate(180deg);
1597
+ }
1598
+ .nb-collapsible--open .nb-collapsible__trigger {
1599
+ color: var(--text-primary);
1600
+ font-weight: var(--font-weight-bold);
1601
+ }
1602
+ .nb-collapsible__label {
1603
+ flex: 1;
1604
+ overflow: hidden;
1605
+ text-overflow: ellipsis;
1606
+ white-space: nowrap;
1607
+ }
1608
+ .nb-collapsible__trailing {
1609
+ display: flex;
1610
+ align-items: center;
1611
+ flex-shrink: 0;
1612
+ padding-right: var(--space-2);
1613
+ }
1614
+ .nb-collapsible__body {
1615
+ padding: 0 var(--space-3) var(--space-2);
1616
+ }
1617
+ .nb-collapsible__body:not([hidden]) {
1618
+ display: block;
1619
+ }
1620
+ .nb-date-picker {
1621
+ display: block;
1622
+ min-width: 0;
1623
+ width: 100%;
1624
+ }
1625
+
1626
+ .nb-date-picker__trigger {
1627
+ align-items: center;
1628
+ background: var(--surface-1);
1629
+ border: 1px solid var(--border-color);
1630
+ border-radius: var(--radius-sm);
1631
+ box-sizing: border-box;
1632
+ display: flex;
1633
+ font-size: var(--font-size-sm);
1634
+ gap: var(--space-1);
1635
+ min-height: var(--control-height, 30px);
1636
+ padding: var(--space-1) var(--space-2);
1637
+ transition: border-color var(--transition-base), box-shadow var(--transition-base), background-color var(--transition-base);
1638
+ width: 100%;
1639
+ }
1640
+ .nb-date-picker__trigger:hover:not(.nb-date-picker__trigger--disabled) {
1641
+ background: var(--surface-1);
1642
+ }
1643
+ .nb-date-picker__trigger.nb-date-picker__trigger--open {
1644
+ background: var(--surface-1);
1645
+ border-color: var(--accent-color);
1646
+ box-shadow: 0 0 0 2px var(--focus-ring-color);
1647
+ }
1648
+
1649
+ .nb-date-picker__trigger:focus-within:not(.nb-date-picker__trigger--disabled):not(.nb-date-picker__trigger--readonly) {
1650
+ background: var(--surface-1);
1651
+ border-color: var(--accent-color);
1652
+ box-shadow: 0 0 0 2px var(--focus-ring-color);
1653
+ }
1654
+
1655
+ .nb-date-picker__trigger--invalid {
1656
+ background: color-mix(in srgb, var(--error-color) 4%, var(--surface-1));
1657
+ border-color: var(--error-color);
1658
+ }
1659
+
1660
+ .nb-date-picker__trigger--readonly {
1661
+ background: var(--surface-subtle);
1662
+ cursor: not-allowed;
1663
+ opacity: 0.72;
1664
+ }
1665
+
1666
+ .nb-date-picker__trigger--disabled {
1667
+ cursor: not-allowed;
1668
+ opacity: 0.72;
1669
+ }
1670
+
1671
+ .nb-date-picker__input {
1672
+ background: transparent;
1673
+ border: none;
1674
+ caret-color: var(--accent-color);
1675
+ color: var(--text-primary);
1676
+ flex: 1;
1677
+ font: inherit;
1678
+ font-size: var(--font-size-sm);
1679
+ min-width: 0;
1680
+ outline: none;
1681
+ padding: 0;
1682
+ text-overflow: ellipsis;
1683
+ white-space: nowrap;
1684
+ }
1685
+ .nb-date-picker__input::placeholder {
1686
+ color: var(--text-secondary);
1687
+ }
1688
+ .nb-date-picker__input:disabled {
1689
+ cursor: not-allowed;
1690
+ }
1691
+ .nb-date-picker__input.nb-date-picker__input--placeholder {
1692
+ color: var(--text-secondary);
1693
+ }
1694
+
1695
+ .nb-date-picker__icons {
1696
+ align-items: center;
1697
+ display: flex;
1698
+ flex: 0 0 auto;
1699
+ gap: 2px;
1700
+ }
1701
+
1702
+ .nb-date-picker__calendar-btn {
1703
+ align-items: center;
1704
+ border-radius: var(--radius-sm);
1705
+ color: var(--text-tertiary);
1706
+ cursor: pointer;
1707
+ display: inline-flex;
1708
+ font-size: 1rem;
1709
+ height: var(--control-icon-size, 20px);
1710
+ justify-content: center;
1711
+ padding: 0 2px;
1712
+ transition: color var(--transition-fast);
1713
+ user-select: none;
1714
+ }
1715
+ .nb-date-picker__calendar-btn:hover {
1716
+ color: var(--text-secondary);
1717
+ }
1718
+ .nb-date-picker__trigger--disabled .nb-date-picker__calendar-btn {
1719
+ pointer-events: none;
1720
+ }
1721
+
1722
+ .nb-date-picker__clear {
1723
+ align-items: center;
1724
+ border-radius: var(--radius-sm);
1725
+ color: var(--text-tertiary);
1726
+ cursor: pointer;
1727
+ display: inline-flex;
1728
+ font-size: 0.75rem;
1729
+ height: var(--control-icon-size, 20px);
1730
+ justify-content: center;
1731
+ opacity: 0;
1732
+ transition: opacity var(--transition-fast), color var(--transition-fast), background var(--transition-fast);
1733
+ width: var(--control-icon-size, 20px);
1734
+ }
1735
+ .nb-date-picker__clear:hover {
1736
+ background: color-mix(in srgb, var(--error-color) 10%, transparent);
1737
+ color: var(--error-color);
1738
+ }
1739
+
1740
+ .nb-date-picker__trigger:hover .nb-date-picker__clear,
1741
+ .nb-date-picker__trigger--open .nb-date-picker__clear,
1742
+ .nb-date-picker__trigger:focus-within .nb-date-picker__clear {
1743
+ opacity: 1;
1744
+ }
1745
+
1746
+ .nb-date-picker__panel {
1747
+ animation: date-picker-in var(--transition-base) ease;
1748
+ background: var(--surface-1);
1749
+ border: 1px solid var(--border-color);
1750
+ border-radius: var(--radius-lg);
1751
+ box-shadow: var(--shadow-lg);
1752
+ box-sizing: border-box;
1753
+ color: var(--text-primary);
1754
+ padding: var(--space-3);
1755
+ position: fixed;
1756
+ width: var(--calendar-width, 296px);
1757
+ z-index: var(--z-picker-panel, 3000);
1758
+ }
1759
+
1760
+ .nb-date-picker__header {
1761
+ align-items: center;
1762
+ display: grid;
1763
+ gap: var(--space-2);
1764
+ grid-template-columns: 28px 1fr 28px;
1765
+ margin-bottom: var(--space-3);
1766
+ }
1767
+
1768
+ .nb-date-picker__month {
1769
+ color: var(--text-primary);
1770
+ font-size: var(--font-size-sm);
1771
+ font-weight: var(--font-weight-semibold);
1772
+ letter-spacing: -0.01em;
1773
+ text-align: center;
1774
+ text-transform: capitalize;
1775
+ }
1776
+
1777
+ .nb-date-picker__month--clickable {
1778
+ align-items: center;
1779
+ appearance: none;
1780
+ background: transparent;
1781
+ border: 0;
1782
+ border-radius: var(--radius-sm);
1783
+ color: inherit;
1784
+ cursor: pointer;
1785
+ display: inline-flex;
1786
+ font: inherit;
1787
+ font-size: var(--font-size-sm);
1788
+ font-weight: var(--font-weight-semibold);
1789
+ gap: 4px;
1790
+ justify-content: center;
1791
+ letter-spacing: -0.01em;
1792
+ outline: none;
1793
+ padding: 2px var(--space-2);
1794
+ text-transform: capitalize;
1795
+ width: 100%;
1796
+ }
1797
+ .nb-date-picker__month--clickable:hover {
1798
+ background: color-mix(in srgb, var(--accent-color) 8%, transparent);
1799
+ color: var(--accent-color);
1800
+ }
1801
+
1802
+ .nb-date-picker__month-caret {
1803
+ font-size: 0.625rem;
1804
+ opacity: 0.6;
1805
+ }
1806
+
1807
+ .nb-date-picker__nav {
1808
+ align-items: center;
1809
+ appearance: none;
1810
+ background: transparent;
1811
+ border: 0;
1812
+ border-radius: var(--radius-sm);
1813
+ color: var(--text-secondary);
1814
+ cursor: pointer;
1815
+ display: inline-flex;
1816
+ font: inherit;
1817
+ height: 28px;
1818
+ justify-content: center;
1819
+ outline: none;
1820
+ width: 28px;
1821
+ }
1822
+ .nb-date-picker__nav:hover, .nb-date-picker__nav:focus-visible {
1823
+ background: color-mix(in srgb, var(--accent-color) 10%, transparent);
1824
+ color: var(--accent-color);
1825
+ }
1826
+
1827
+ .nb-date-picker__weekdays,
1828
+ .nb-date-picker__days {
1829
+ display: grid;
1830
+ grid-template-columns: repeat(7, 1fr);
1831
+ }
1832
+
1833
+ .nb-date-picker__weekdays {
1834
+ color: var(--text-tertiary);
1835
+ font-size: var(--font-size-xxs);
1836
+ font-weight: var(--font-weight-semibold);
1837
+ letter-spacing: 0.04em;
1838
+ margin-bottom: var(--space-1);
1839
+ text-align: center;
1840
+ text-transform: uppercase;
1841
+ }
1842
+
1843
+ .nb-date-picker__day {
1844
+ align-items: center;
1845
+ appearance: none;
1846
+ background: transparent;
1847
+ border: 0;
1848
+ border-radius: var(--radius-sm);
1849
+ color: var(--text-primary);
1850
+ cursor: pointer;
1851
+ display: inline-flex;
1852
+ font: inherit;
1853
+ font-size: var(--font-size-sm);
1854
+ height: var(--row-height, 34px);
1855
+ justify-content: center;
1856
+ outline: none;
1857
+ position: relative;
1858
+ }
1859
+ .nb-date-picker__day:hover:not(:disabled), .nb-date-picker__day:focus-visible {
1860
+ background: color-mix(in srgb, var(--accent-color) 10%, transparent);
1861
+ color: var(--accent-color);
1862
+ }
1863
+ .nb-date-picker__day:focus-visible {
1864
+ box-shadow: 0 0 0 2px var(--surface-1), 0 0 0 4px var(--accent-color);
1865
+ z-index: 1;
1866
+ }
1867
+ .nb-date-picker__day:disabled {
1868
+ color: var(--text-disabled, var(--text-tertiary));
1869
+ cursor: not-allowed;
1870
+ opacity: 0.45;
1871
+ }
1872
+
1873
+ .nb-date-picker__day--muted {
1874
+ color: var(--text-tertiary);
1875
+ }
1876
+
1877
+ .nb-date-picker__day--today::after {
1878
+ background: var(--accent-color);
1879
+ border-radius: 999px;
1880
+ bottom: 3px;
1881
+ content: "";
1882
+ height: 3px;
1883
+ left: 50%;
1884
+ position: absolute;
1885
+ transform: translateX(-50%);
1886
+ width: 12px;
1887
+ }
1888
+
1889
+ .nb-date-picker__day--selected {
1890
+ background: var(--accent-color);
1891
+ color: var(--on-accent-color);
1892
+ font-weight: var(--font-weight-semibold);
1893
+ }
1894
+ .nb-date-picker__day--selected:hover, .nb-date-picker__day--selected:focus-visible {
1895
+ background: var(--accent-hover);
1896
+ color: var(--on-accent-color);
1897
+ }
1898
+ .nb-date-picker__day--selected::after {
1899
+ background: var(--on-accent-color);
1900
+ }
1901
+
1902
+ .nb-date-picker__months-grid {
1903
+ display: grid;
1904
+ gap: var(--space-1);
1905
+ grid-template-columns: repeat(3, 1fr);
1906
+ margin-bottom: var(--space-2);
1907
+ }
1908
+
1909
+ .nb-date-picker__month-cell {
1910
+ align-items: center;
1911
+ appearance: none;
1912
+ background: transparent;
1913
+ border: 0;
1914
+ border-radius: var(--radius-sm);
1915
+ color: var(--text-primary);
1916
+ cursor: pointer;
1917
+ display: inline-flex;
1918
+ font: inherit;
1919
+ font-size: var(--font-size-sm);
1920
+ height: 36px;
1921
+ justify-content: center;
1922
+ outline: none;
1923
+ }
1924
+ .nb-date-picker__month-cell:hover, .nb-date-picker__month-cell:focus-visible {
1925
+ background: color-mix(in srgb, var(--accent-color) 10%, transparent);
1926
+ color: var(--accent-color);
1927
+ }
1928
+ .nb-date-picker__month-cell:focus-visible {
1929
+ box-shadow: 0 0 0 2px var(--surface-1), 0 0 0 4px var(--accent-color);
1930
+ }
1931
+
1932
+ .nb-date-picker__month-cell--selected {
1933
+ background: var(--accent-color);
1934
+ color: var(--on-accent-color);
1935
+ font-weight: var(--font-weight-semibold);
1936
+ }
1937
+ .nb-date-picker__month-cell--selected:hover {
1938
+ background: var(--accent-hover);
1939
+ }
1940
+
1941
+ .nb-date-picker__month-cell--current {
1942
+ font-weight: var(--font-weight-semibold);
1943
+ color: var(--accent-color);
1944
+ }
1945
+ .nb-date-picker__month-cell--current.nb-date-picker__month-cell--selected {
1946
+ color: var(--on-accent-color);
1947
+ }
1948
+
1949
+ .nb-date-picker__years-grid {
1950
+ display: grid;
1951
+ gap: var(--space-1);
1952
+ grid-template-columns: repeat(4, 1fr);
1953
+ margin-bottom: var(--space-2);
1954
+ }
1955
+
1956
+ .nb-date-picker__year-cell {
1957
+ align-items: center;
1958
+ appearance: none;
1959
+ background: transparent;
1960
+ border: 0;
1961
+ border-radius: var(--radius-sm);
1962
+ color: var(--text-primary);
1963
+ cursor: pointer;
1964
+ display: inline-flex;
1965
+ font: inherit;
1966
+ font-size: var(--font-size-sm);
1967
+ height: 34px;
1968
+ justify-content: center;
1969
+ outline: none;
1970
+ }
1971
+ .nb-date-picker__year-cell:hover, .nb-date-picker__year-cell:focus-visible {
1972
+ background: color-mix(in srgb, var(--accent-color) 10%, transparent);
1973
+ color: var(--accent-color);
1974
+ }
1975
+ .nb-date-picker__year-cell:focus-visible {
1976
+ box-shadow: 0 0 0 2px var(--surface-1), 0 0 0 4px var(--accent-color);
1977
+ }
1978
+
1979
+ .nb-date-picker__year-cell--selected {
1980
+ background: var(--accent-color);
1981
+ color: var(--on-accent-color);
1982
+ font-weight: var(--font-weight-semibold);
1983
+ }
1984
+ .nb-date-picker__year-cell--selected:hover {
1985
+ background: var(--accent-hover);
1986
+ }
1987
+
1988
+ .nb-date-picker__year-cell--current {
1989
+ font-weight: var(--font-weight-semibold);
1990
+ color: var(--accent-color);
1991
+ }
1992
+ .nb-date-picker__year-cell--current.nb-date-picker__year-cell--selected {
1993
+ color: var(--on-accent-color);
1994
+ }
1995
+
1996
+ .nb-date-picker__footer {
1997
+ align-items: center;
1998
+ border-top: 1px solid var(--border-subtle);
1999
+ display: flex;
2000
+ justify-content: space-between;
2001
+ margin-top: var(--space-2);
2002
+ padding-top: var(--space-2);
2003
+ }
2004
+
2005
+ .nb-date-picker__text-button {
2006
+ align-items: center;
2007
+ appearance: none;
2008
+ background: transparent;
2009
+ border: 0;
2010
+ border-radius: var(--radius-sm);
2011
+ color: var(--accent-color);
2012
+ cursor: pointer;
2013
+ display: inline-flex;
2014
+ font: inherit;
2015
+ font-size: var(--font-size-sm);
2016
+ font-weight: var(--font-weight-medium);
2017
+ gap: 4px;
2018
+ outline: none;
2019
+ padding: var(--space-1) var(--space-2);
2020
+ }
2021
+ .nb-date-picker__text-button:hover, .nb-date-picker__text-button:focus-visible {
2022
+ background: color-mix(in srgb, var(--accent-color) 10%, transparent);
2023
+ }
2024
+
2025
+ @keyframes date-picker-in {
2026
+ from {
2027
+ opacity: 0;
2028
+ transform: translateY(-4px) scale(0.98);
2029
+ }
2030
+ to {
2031
+ opacity: 1;
2032
+ transform: translateY(0) scale(1);
2033
+ }
2034
+ }
2035
+ html[data-density=compact] .nb-date-picker__panel {
2036
+ padding: var(--space-2);
2037
+ width: var(--calendar-width, 260px);
2038
+ }
2039
+ html[data-density=compact] .nb-date-picker__header {
2040
+ grid-template-columns: var(--control-height-form) 1fr var(--control-height-form);
2041
+ margin-bottom: var(--space-2);
2042
+ }
2043
+ html[data-density=compact] .nb-date-picker__nav {
2044
+ height: var(--control-height-form);
2045
+ width: var(--control-height-form);
2046
+ }
2047
+ html[data-density=compact] .nb-date-picker__month-cell,
2048
+ html[data-density=compact] .nb-date-picker__year-cell {
2049
+ height: var(--row-height);
2050
+ }
2051
+ .nb-date-range-picker {
2052
+ display: block;
2053
+ min-width: 0;
2054
+ width: 100%;
2055
+ }
2056
+
2057
+ .nb-date-range-picker__trigger {
2058
+ align-items: center;
2059
+ background: var(--surface-1);
2060
+ border: 1px solid var(--border-color);
2061
+ border-radius: var(--radius-sm);
2062
+ box-sizing: border-box;
2063
+ display: flex;
2064
+ font-size: var(--font-size-sm);
2065
+ gap: var(--space-1);
2066
+ min-height: var(--control-height, 30px);
2067
+ padding: var(--space-1) var(--space-2);
2068
+ transition: border-color var(--transition-base), box-shadow var(--transition-base), background-color var(--transition-base);
2069
+ width: 100%;
2070
+ }
2071
+ .nb-date-range-picker__trigger:hover:not(.nb-date-range-picker__trigger--disabled) {
2072
+ background: var(--surface-1);
2073
+ }
2074
+ .nb-date-range-picker__trigger.nb-date-range-picker__trigger--open {
2075
+ background: var(--surface-1);
2076
+ border-color: var(--accent-color);
2077
+ box-shadow: 0 0 0 2px var(--focus-ring-color);
2078
+ }
2079
+
2080
+ .nb-date-range-picker__trigger:focus-within:not(.nb-date-range-picker__trigger--disabled):not(.nb-date-range-picker__trigger--readonly) {
2081
+ background: var(--surface-1);
2082
+ border-color: var(--accent-color);
2083
+ box-shadow: 0 0 0 2px var(--focus-ring-color);
2084
+ }
2085
+
2086
+ .nb-date-range-picker__trigger--invalid {
2087
+ background: color-mix(in srgb, var(--error-color) 4%, var(--surface-1));
2088
+ border-color: var(--error-color);
2089
+ }
2090
+
2091
+ .nb-date-range-picker__trigger--readonly {
2092
+ background: var(--surface-subtle);
2093
+ cursor: not-allowed;
2094
+ opacity: 0.72;
2095
+ }
2096
+
2097
+ .nb-date-range-picker__trigger--disabled {
2098
+ cursor: not-allowed;
2099
+ opacity: 0.72;
2100
+ }
2101
+
2102
+ .nb-date-range-picker__input {
2103
+ background: transparent;
2104
+ border: none;
2105
+ caret-color: var(--accent-color);
2106
+ color: var(--text-primary);
2107
+ flex: 1;
2108
+ font: inherit;
2109
+ font-size: var(--font-size-sm);
2110
+ min-width: 80px;
2111
+ outline: none;
2112
+ padding: 0;
2113
+ }
2114
+ .nb-date-range-picker__input::placeholder {
2115
+ color: var(--text-secondary);
2116
+ }
2117
+ .nb-date-range-picker__input.nb-date-range-picker__input--placeholder {
2118
+ color: var(--text-secondary);
2119
+ }
2120
+ .nb-date-range-picker__input:disabled {
2121
+ cursor: not-allowed;
2122
+ }
2123
+
2124
+ .nb-date-range-picker__sep {
2125
+ color: var(--text-tertiary);
2126
+ flex: 0 0 auto;
2127
+ font-size: 0.75rem;
2128
+ line-height: 1;
2129
+ pointer-events: none;
2130
+ }
2131
+
2132
+ .nb-date-range-picker__icons {
2133
+ align-items: center;
2134
+ display: flex;
2135
+ flex: 0 0 auto;
2136
+ gap: 2px;
2137
+ }
2138
+
2139
+ .nb-date-range-picker__calendar-btn {
2140
+ align-items: center;
2141
+ border-radius: var(--radius-sm);
2142
+ color: var(--text-tertiary);
2143
+ cursor: pointer;
2144
+ display: inline-flex;
2145
+ font-size: 1rem;
2146
+ height: var(--control-icon-size, 20px);
2147
+ justify-content: center;
2148
+ padding: 0 2px;
2149
+ transition: color var(--transition-fast);
2150
+ user-select: none;
2151
+ }
2152
+ .nb-date-range-picker__calendar-btn:hover {
2153
+ color: var(--text-secondary);
2154
+ }
2155
+
2156
+ .nb-date-range-picker__clear {
2157
+ align-items: center;
2158
+ border-radius: var(--radius-sm);
2159
+ color: var(--text-tertiary);
2160
+ cursor: pointer;
2161
+ display: inline-flex;
2162
+ font-size: 0.75rem;
2163
+ height: var(--control-icon-size, 20px);
2164
+ justify-content: center;
2165
+ opacity: 0;
2166
+ transition: opacity var(--transition-fast), color var(--transition-fast), background var(--transition-fast);
2167
+ width: var(--control-icon-size, 20px);
2168
+ }
2169
+ .nb-date-range-picker__clear:hover {
2170
+ background: color-mix(in srgb, var(--error-color) 10%, transparent);
2171
+ color: var(--error-color);
2172
+ }
2173
+
2174
+ .nb-date-range-picker__trigger:hover .nb-date-range-picker__clear,
2175
+ .nb-date-range-picker__trigger--open .nb-date-range-picker__clear,
2176
+ .nb-date-range-picker__trigger:focus-within .nb-date-range-picker__clear {
2177
+ opacity: 1;
2178
+ }
2179
+
2180
+ .nb-date-range-picker__hint {
2181
+ color: var(--accent-color);
2182
+ font-size: var(--font-size-xs);
2183
+ margin-top: var(--space-1);
2184
+ padding-left: var(--space-1);
2185
+ }
2186
+
2187
+ .nb-date-range-picker__panel {
2188
+ animation: date-picker-in var(--transition-base) ease;
2189
+ background: var(--surface-1);
2190
+ border: 1px solid var(--border-color);
2191
+ border-radius: var(--radius-lg);
2192
+ box-shadow: var(--shadow-lg);
2193
+ box-sizing: border-box;
2194
+ color: var(--text-primary);
2195
+ padding: var(--space-3);
2196
+ position: fixed;
2197
+ width: var(--calendar-width, 296px);
2198
+ z-index: var(--z-picker-panel, 3000);
2199
+ }
2200
+
2201
+ .nb-date-range-picker__header {
2202
+ align-items: center;
2203
+ display: grid;
2204
+ gap: var(--space-2);
2205
+ grid-template-columns: 28px 1fr 28px;
2206
+ margin-bottom: var(--space-3);
2207
+ }
2208
+
2209
+ .nb-date-range-picker__month {
2210
+ color: var(--text-primary);
2211
+ font-size: var(--font-size-sm);
2212
+ font-weight: var(--font-weight-semibold);
2213
+ letter-spacing: -0.01em;
2214
+ text-align: center;
2215
+ text-transform: capitalize;
2216
+ }
2217
+
2218
+ .nb-date-range-picker__nav {
2219
+ align-items: center;
2220
+ appearance: none;
2221
+ background: transparent;
2222
+ border: 0;
2223
+ border-radius: var(--radius-sm);
2224
+ color: var(--text-secondary);
2225
+ cursor: pointer;
2226
+ display: inline-flex;
2227
+ font: inherit;
2228
+ height: 28px;
2229
+ justify-content: center;
2230
+ outline: none;
2231
+ width: 28px;
2232
+ }
2233
+ .nb-date-range-picker__nav:hover, .nb-date-range-picker__nav:focus-visible {
2234
+ background: color-mix(in srgb, var(--accent-color) 10%, transparent);
2235
+ color: var(--accent-color);
2236
+ }
2237
+
2238
+ .nb-date-range-picker__weekdays,
2239
+ .nb-date-range-picker__days {
2240
+ display: grid;
2241
+ grid-template-columns: repeat(7, 1fr);
2242
+ }
2243
+
2244
+ .nb-date-range-picker__weekdays {
2245
+ color: var(--text-tertiary);
2246
+ font-size: var(--font-size-xxs);
2247
+ font-weight: var(--font-weight-semibold);
2248
+ letter-spacing: 0.04em;
2249
+ margin-bottom: var(--space-1);
2250
+ text-align: center;
2251
+ text-transform: uppercase;
2252
+ }
2253
+
2254
+ .nb-date-range-picker__phase-banner {
2255
+ align-items: center;
2256
+ background: color-mix(in srgb, var(--accent-color) 8%, transparent);
2257
+ border-radius: var(--radius-sm);
2258
+ color: var(--accent-color);
2259
+ display: flex;
2260
+ font-size: var(--font-size-xs);
2261
+ font-weight: var(--font-weight-medium);
2262
+ gap: var(--space-1);
2263
+ margin-bottom: var(--space-2);
2264
+ padding: var(--space-1) var(--space-2);
2265
+ }
2266
+
2267
+ .nb-date-range-picker__day {
2268
+ appearance: none;
2269
+ background: transparent;
2270
+ border: 0;
2271
+ cursor: pointer;
2272
+ display: block;
2273
+ font: inherit;
2274
+ height: var(--row-height, 34px);
2275
+ outline: none;
2276
+ padding: 0;
2277
+ position: relative;
2278
+ text-align: center;
2279
+ }
2280
+ .nb-date-range-picker__day::before {
2281
+ background: transparent;
2282
+ bottom: 4px;
2283
+ content: "";
2284
+ left: 0;
2285
+ position: absolute;
2286
+ right: 0;
2287
+ top: 4px;
2288
+ transition: background var(--transition-fast);
2289
+ }
2290
+ .nb-date-range-picker__day:disabled {
2291
+ cursor: not-allowed;
2292
+ opacity: 0.45;
2293
+ }
2294
+
2295
+ .nb-date-range-picker__day--muted .nb-date-range-picker__day-inner {
2296
+ color: var(--text-tertiary);
2297
+ }
2298
+
2299
+ .nb-date-range-picker__day-inner {
2300
+ align-items: center;
2301
+ border-radius: var(--radius-sm);
2302
+ color: var(--text-primary);
2303
+ display: inline-flex;
2304
+ font-size: var(--font-size-sm);
2305
+ height: calc(var(--row-height, 34px) - 8px);
2306
+ justify-content: center;
2307
+ position: relative;
2308
+ transition: background var(--transition-fast), color var(--transition-fast);
2309
+ width: 100%;
2310
+ z-index: 1;
2311
+ }
2312
+
2313
+ .nb-date-range-picker__day:not(:disabled):hover .nb-date-range-picker__day-inner,
2314
+ .nb-date-range-picker__day:not(:disabled):focus-visible .nb-date-range-picker__day-inner {
2315
+ background: color-mix(in srgb, var(--accent-color) 10%, transparent);
2316
+ color: var(--accent-color);
2317
+ }
2318
+
2319
+ .nb-date-range-picker__day--today .nb-date-range-picker__day-inner::after {
2320
+ background: var(--accent-color);
2321
+ border-radius: 999px;
2322
+ bottom: 1px;
2323
+ content: "";
2324
+ height: 3px;
2325
+ left: 50%;
2326
+ position: absolute;
2327
+ transform: translateX(-50%);
2328
+ width: 12px;
2329
+ }
2330
+
2331
+ .nb-date-range-picker__day--in-range::before {
2332
+ background: color-mix(in srgb, var(--accent-color) 12%, transparent);
2333
+ }
2334
+
2335
+ .nb-date-range-picker__day--range-start::before {
2336
+ background: color-mix(in srgb, var(--accent-color) 12%, transparent);
2337
+ left: 50%;
2338
+ }
2339
+ .nb-date-range-picker__day--range-start .nb-date-range-picker__day-inner {
2340
+ background: var(--accent-color);
2341
+ border-radius: var(--radius-sm);
2342
+ color: var(--on-accent-color);
2343
+ font-weight: var(--font-weight-semibold);
2344
+ }
2345
+ .nb-date-range-picker__day--range-start:not(:disabled):hover .nb-date-range-picker__day-inner, .nb-date-range-picker__day--range-start:not(:disabled):focus-visible .nb-date-range-picker__day-inner {
2346
+ background: var(--accent-hover);
2347
+ color: var(--on-accent-color);
2348
+ }
2349
+ .nb-date-range-picker__day--range-start.nb-date-range-picker__day--today .nb-date-range-picker__day-inner::after {
2350
+ background: var(--on-accent-color);
2351
+ }
2352
+
2353
+ .nb-date-range-picker__day--range-end::before {
2354
+ background: color-mix(in srgb, var(--accent-color) 12%, transparent);
2355
+ right: 50%;
2356
+ }
2357
+ .nb-date-range-picker__day--range-end .nb-date-range-picker__day-inner {
2358
+ background: var(--accent-color);
2359
+ border-radius: var(--radius-sm);
2360
+ color: var(--on-accent-color);
2361
+ font-weight: var(--font-weight-semibold);
2362
+ }
2363
+ .nb-date-range-picker__day--range-end:not(:disabled):hover .nb-date-range-picker__day-inner, .nb-date-range-picker__day--range-end:not(:disabled):focus-visible .nb-date-range-picker__day-inner {
2364
+ background: var(--accent-hover);
2365
+ color: var(--on-accent-color);
2366
+ }
2367
+ .nb-date-range-picker__day--range-end.nb-date-range-picker__day--today .nb-date-range-picker__day-inner::after {
2368
+ background: var(--on-accent-color);
2369
+ }
2370
+
2371
+ .nb-date-range-picker__day--range-single .nb-date-range-picker__day-inner {
2372
+ background: var(--accent-color);
2373
+ border-radius: var(--radius-sm);
2374
+ color: var(--on-accent-color);
2375
+ font-weight: var(--font-weight-semibold);
2376
+ }
2377
+
2378
+ .nb-date-range-picker__day--selecting:not(:disabled) {
2379
+ cursor: crosshair;
2380
+ }
2381
+
2382
+ .nb-date-range-picker__footer {
2383
+ align-items: center;
2384
+ border-top: 1px solid var(--border-subtle);
2385
+ display: flex;
2386
+ justify-content: space-between;
2387
+ margin-top: var(--space-2);
2388
+ padding-top: var(--space-2);
2389
+ }
2390
+
2391
+ .nb-date-range-picker__text-button {
2392
+ align-items: center;
2393
+ appearance: none;
2394
+ background: transparent;
2395
+ border: 0;
2396
+ border-radius: var(--radius-sm);
2397
+ color: var(--accent-color);
2398
+ cursor: pointer;
2399
+ display: inline-flex;
2400
+ font: inherit;
2401
+ font-size: var(--font-size-sm);
2402
+ font-weight: var(--font-weight-medium);
2403
+ gap: 4px;
2404
+ outline: none;
2405
+ padding: var(--space-1) var(--space-2);
2406
+ }
2407
+ .nb-date-range-picker__text-button:hover, .nb-date-range-picker__text-button:focus-visible {
2408
+ background: color-mix(in srgb, var(--accent-color) 10%, transparent);
2409
+ }
2410
+
2411
+ @keyframes date-picker-in {
2412
+ from {
2413
+ opacity: 0;
2414
+ transform: translateY(-4px) scale(0.98);
2415
+ }
2416
+ to {
2417
+ opacity: 1;
2418
+ transform: translateY(0) scale(1);
2419
+ }
2420
+ }
2421
+ html[data-density=compact] .nb-date-range-picker__panel {
2422
+ padding: var(--space-2);
2423
+ width: var(--calendar-width, 260px);
2424
+ }
2425
+ html[data-density=compact] .nb-date-range-picker__header {
2426
+ grid-template-columns: var(--control-height-form) 1fr var(--control-height-form);
2427
+ margin-bottom: var(--space-2);
2428
+ }
2429
+ html[data-density=compact] .nb-date-range-picker__nav {
2430
+ height: var(--control-height-form);
2431
+ width: var(--control-height-form);
2432
+ }
2433
+ html[data-density=compact] .nb-date-range-picker__phase-banner {
2434
+ margin-bottom: var(--space-1);
2435
+ }
2436
+ .nb-popover {
2437
+ position: relative;
2438
+ display: inline-flex;
2439
+ align-items: center;
2440
+ }
2441
+ .nb-popover__panel {
2442
+ position: absolute;
2443
+ top: calc(100% + var(--space-2));
2444
+ z-index: var(--z-shell-popover, var(--z-popover));
2445
+ background: var(--surface-1);
2446
+ border: 1px solid var(--border-color);
2447
+ border-radius: var(--radius-lg);
2448
+ box-shadow: var(--shadow-lg);
2449
+ min-width: 200px;
2450
+ animation: popover-in var(--transition-base) ease;
2451
+ }
2452
+ .nb-popover--end .nb-popover__panel {
2453
+ right: 0;
2454
+ }
2455
+ .nb-popover--start .nb-popover__panel {
2456
+ left: 0;
2457
+ }
2458
+
2459
+ @keyframes popover-in {
2460
+ from {
2461
+ opacity: 0;
2462
+ transform: translateY(-4px) scale(0.98);
2463
+ }
2464
+ to {
2465
+ opacity: 1;
2466
+ transform: translateY(0) scale(1);
2467
+ }
2468
+ }
2469
+ /* stylelint-disable */
2470
+ @keyframes nb-drawer-slide-in-right {
2471
+ from {
2472
+ transform: translateX(100%);
2473
+ }
2474
+ to {
2475
+ transform: translateX(0);
2476
+ }
2477
+ }
2478
+ @keyframes nb-drawer-slide-in-left {
2479
+ from {
2480
+ transform: translateX(-100%);
2481
+ }
2482
+ to {
2483
+ transform: translateX(0);
2484
+ }
2485
+ }
2486
+ @keyframes nb-drawer-scrim-enter {
2487
+ from {
2488
+ opacity: 0;
2489
+ }
2490
+ to {
2491
+ opacity: 1;
2492
+ }
2493
+ }
2494
+ .nb-drawer-root {
2495
+ inset: 0;
2496
+ position: fixed;
2497
+ visibility: hidden;
2498
+ z-index: 2400;
2499
+ }
2500
+ .nb-drawer-root--open {
2501
+ visibility: visible;
2502
+ }
2503
+ .nb-drawer-root--open .nb-drawer__scrim {
2504
+ animation: nb-drawer-scrim-enter var(--transition-slow) both;
2505
+ }
2506
+ .nb-drawer-root--open.nb-drawer-root--right .nb-drawer {
2507
+ animation: nb-drawer-slide-in-right var(--transition-slow) cubic-bezier(0.4, 0, 0.2, 1) both;
2508
+ right: 0;
2509
+ }
2510
+ .nb-drawer-root--open.nb-drawer-root--left .nb-drawer {
2511
+ animation: nb-drawer-slide-in-left var(--transition-slow) cubic-bezier(0.4, 0, 0.2, 1) both;
2512
+ left: 0;
2513
+ }
2514
+
2515
+ .nb-drawer__scrim {
2516
+ border: 0;
2517
+ cursor: default;
2518
+ inset: 0;
2519
+ padding: 0;
2520
+ position: absolute;
2521
+ z-index: 1;
2522
+ }
2523
+ .nb-drawer__scrim--subtle {
2524
+ background: var(--overlay-bg-subtle);
2525
+ }
2526
+ .nb-drawer__scrim--overlay {
2527
+ background: var(--overlay-bg);
2528
+ }
2529
+
2530
+ .nb-drawer {
2531
+ background: var(--surface-1);
2532
+ bottom: 0;
2533
+ box-shadow: var(--shadow-lg);
2534
+ display: flex;
2535
+ flex-direction: column;
2536
+ max-width: 100vw;
2537
+ position: absolute;
2538
+ top: 0;
2539
+ z-index: 2;
2540
+ }
2541
+ .nb-drawer-root--right .nb-drawer {
2542
+ border-left: 1px solid var(--border-color);
2543
+ }
2544
+ .nb-drawer-root--left .nb-drawer {
2545
+ border-right: 1px solid var(--border-color);
2546
+ }
2547
+
2548
+ .nb-drawer__header {
2549
+ align-items: center;
2550
+ background: var(--surface-1);
2551
+ border-bottom: 1px solid var(--border-color);
2552
+ display: flex;
2553
+ flex: 0 0 auto;
2554
+ gap: var(--space-2);
2555
+ min-height: var(--toolbar-height);
2556
+ padding: var(--space-2) var(--space-2) var(--space-2) var(--space-4);
2557
+ }
2558
+
2559
+ .nb-drawer__title {
2560
+ color: var(--text-primary);
2561
+ flex: 1;
2562
+ font-size: var(--font-size-md);
2563
+ font-weight: var(--font-weight-semibold);
2564
+ letter-spacing: -0.01em;
2565
+ line-height: var(--line-height-tight);
2566
+ margin: 0;
2567
+ min-width: 0;
2568
+ overflow: hidden;
2569
+ text-overflow: ellipsis;
2570
+ white-space: nowrap;
2571
+ }
2572
+
2573
+ .nb-drawer__close {
2574
+ flex: 0 0 auto;
2575
+ }
2576
+
2577
+ .nb-drawer__body {
2578
+ flex: 1;
2579
+ min-height: 0;
2580
+ overflow: auto;
2581
+ }
2582
+
2583
+ .nb-drawer__footer {
2584
+ background: var(--surface-1);
2585
+ border-top: 1px solid var(--border-color);
2586
+ display: flex;
2587
+ flex-shrink: 0;
2588
+ gap: var(--space-2);
2589
+ justify-content: flex-end;
2590
+ padding: 14px var(--space-6);
2591
+ position: sticky;
2592
+ bottom: 0;
2593
+ z-index: 2;
2594
+ }
2595
+ .nb-drawer__footer .nb-button {
2596
+ min-height: var(--control-height-form);
2597
+ }
2598
+
2599
+ html[data-density=compact] .nb-drawer__header {
2600
+ padding: var(--space-1) var(--space-2) var(--space-1) var(--space-3);
2601
+ }
2602
+ html[data-density=compact] .nb-drawer__footer {
2603
+ gap: var(--space-1);
2604
+ padding: var(--space-2) var(--space-3);
2605
+ }
2606
+
2607
+ @media (max-width: 768px) {
2608
+ .nb-drawer {
2609
+ animation: none !important;
2610
+ border: 0 !important;
2611
+ inset: 0;
2612
+ width: 100vw !important;
2613
+ }
2614
+ }