@projectdiscoveryio/design-system 1.0.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.
@@ -0,0 +1,824 @@
1
+ @import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500&display=swap');
2
+ @import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;500;600;700&display=swap');
3
+ @import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@300;400&display=swap');
4
+
5
+ /* ============================================
6
+ * jsonHighlighter.css (inlined)
7
+ * ============================================ */
8
+ .json-highlight-string {
9
+ color: #60a5fa;
10
+ /* display: inline-block;
11
+ width: fit-content;
12
+ max-width: 85%;
13
+ word-wrap: break-word;
14
+ white-space: normal; */
15
+ }
16
+ .json-highlight-number {
17
+ color: #60a5fa;
18
+ }
19
+ .json-highlight-boolean {
20
+ color: #60a5fa;
21
+ }
22
+ .json-highlight-null {
23
+ color: grey;
24
+ }
25
+ .json-highlight-key {
26
+ color: white;
27
+ }
28
+
29
+
30
+ /* ============================================
31
+ * globals.css content
32
+ * ============================================ */
33
+
34
+ @tailwind base;
35
+ @tailwind components;
36
+ @tailwind utilities;
37
+
38
+ html,
39
+ body {
40
+ height: 100vh !important;
41
+ width: 100vw !important;
42
+ min-height: 100vh !important;
43
+ min-width: 100vw !important;
44
+ margin: 0;
45
+ padding: 0;
46
+ font-family: var(--font-geist-sans) !important;
47
+ color: var(--pd-content-primary)
48
+ }
49
+
50
+ html {
51
+ font-size: 10px;
52
+ }
53
+
54
+ body {
55
+ scrollbar-width: thin; /* for Firefox */
56
+ scrollbar-color: rgba(0,0,0,0.8) transparent; /* for Firefox */
57
+ }
58
+
59
+ .pd-root [class*="pd-"] {
60
+ font-size: 12px !important;
61
+ }
62
+
63
+ @media (min-width: 1550px) {
64
+ html {
65
+ font-size: 10px;
66
+ }
67
+ }
68
+
69
+ *,
70
+ ::before,
71
+ ::after {
72
+ border-width: 0;
73
+ }
74
+
75
+ * {
76
+ box-sizing: border-box;
77
+ }
78
+
79
+ [cmdk-group-items] {
80
+ /* height: 15rem;
81
+ max-height: 500px;
82
+ transition: height 100ms ease;
83
+ overflow: scroll; */
84
+ display: flex;
85
+ flex-direction: column;
86
+ }
87
+
88
+ .ant-picker-time-panel-cell-selected > div {
89
+ background-color: #5456cf !important;
90
+ }
91
+
92
+ /* Line gradients */
93
+ /* ============== */
94
+ .steps-gradient {
95
+ background: linear-gradient(
96
+ 180deg,
97
+ transparent,
98
+ hsl(227, 4%, 15%) 10%,
99
+ hsl(227, 4%, 15%) 90%,
100
+ transparent
101
+ );
102
+ }
103
+ .steps-gradient-horizontal {
104
+ background: linear-gradient(
105
+ 90deg,
106
+ transparent,
107
+ hsl(227, 4%, 15%) 10%,
108
+ hsl(227, 4%, 15%) 90%,
109
+ transparent
110
+ );
111
+ }
112
+
113
+ /* Custom overlay scrollbars (Webkit browsers) */
114
+ ::-webkit-scrollbar {
115
+ width: 8px;
116
+ height: 8px;
117
+ }
118
+
119
+ ::-webkit-scrollbar-track {
120
+ background: transparent;
121
+ }
122
+
123
+ ::-webkit-scrollbar-thumb {
124
+ background: rgba(0, 0, 0, 0.2);
125
+ border-radius: 4px;
126
+ }
127
+
128
+ ::-webkit-scrollbar-thumb:hover {
129
+ background: rgba(0, 0, 0, 0.4);
130
+ }
131
+
132
+ :root {
133
+ /* --app-background: #09090b; */
134
+ --dark-border-color: #212121;
135
+ }
136
+
137
+ :focus {
138
+ outline: 0 !important;
139
+ box-shadow: 0 0 0 0 rgba(0, 0, 0, 0) !important;
140
+ }
141
+
142
+ input:-webkit-autofill,
143
+ input:-webkit-autofill:hover,
144
+ input:-webkit-autofill:focus,
145
+ input:-webkit-autofill:active {
146
+ background-color: transparent;
147
+ transition: background-color 5000s ease-in-out 0s;
148
+ -webkit-text-fill-color: #ffffff;
149
+ }
150
+
151
+ @layer base {
152
+ * {
153
+ @apply border-border;
154
+ }
155
+ body {
156
+ @apply bg-background text-content-primary;
157
+ }
158
+ input::placeholder,
159
+ textarea::placeholder {
160
+ color: var(--pd-content-subtle) !important;
161
+ }
162
+ input::placeholder,
163
+ textarea::placeholder {
164
+ font-size: 1.25rem
165
+ }
166
+ }
167
+
168
+ .monaco-editor {
169
+ outline-style: none !important;
170
+ outline-color: transparent !important;
171
+ }
172
+
173
+ .monaco-editor:focus {
174
+ outline-style: none !important;
175
+ outline-color: transparent !important;
176
+ }
177
+
178
+ @layer base {
179
+ :root {
180
+ /* PD Design System Variables - Dark Theme (Default) */
181
+ --radius: 0.5rem;
182
+
183
+ /* PD Background tokens */
184
+ --pd-background-primary: #09090B;
185
+ --pd-background-secondary: #17171C;
186
+ --pd-background-tertiary: #2F2F37;
187
+ --pd-background-invert: #FFFFFF;
188
+ --pd-background-green: #001F0B;
189
+ --pd-background-red: #29050C;
190
+ --pd-background-orange: #240F00;
191
+ --pd-background-yellow: #241600;
192
+ --pd-background-info: #00091F;
193
+
194
+ /* PD Content tokens */
195
+ --pd-content-primary: #DFDFE2;
196
+ --pd-content-secondary: #7E7E8B;
197
+ --pd-content-subtle: #4E4E5A;
198
+ --pd-content-on-color: #09090B;
199
+ --pd-content-blue: #709AFF;
200
+ --pd-content-green: #00E052;
201
+ --pd-content-red: #EB758A;
202
+ --pd-content-orange: #EC9C64;
203
+ --pd-content-yellow: #FFCA70;
204
+
205
+ /* PD Border tokens */
206
+ --pd-border-primary: #4E4E5A;
207
+ --pd-border-secondary: #2F2F37;
208
+ --pd-border-subtle: #2F2F37;
209
+ --pd-border-invert: #FFFFFF;
210
+ --pd-border-blue: #709AFF;
211
+ --pd-border-green: #5CFF98;
212
+ --pd-border-red: #EB758A;
213
+ --pd-border-orange: #EC9C64;
214
+ --pd-border-yellow: #FFCA70;
215
+
216
+ /* Legacy variables mapped to PD tokens for backward compatibility */
217
+ --background: var(--pd-background-primary);
218
+ --foreground: var(--pd-content-primary);
219
+ --card: var(--pd-background-secondary);
220
+ --card-foreground: var(--pd-content-primary);
221
+ --popover: var(--pd-background-secondary);
222
+ --popover-foreground: var(--pd-content-primary);
223
+ --primary: var(--pd-content-primary);
224
+ --primary-foreground: var(--pd-background-primary);
225
+ --secondary: var(--pd-background-tertiary);
226
+ --secondary-foreground: var(--pd-content-primary);
227
+ --muted: var(--pd-background-tertiary);
228
+ --muted-foreground: var(--pd-content-secondary);
229
+ --accent: var(--pd-background-tertiary);
230
+ --accent-foreground: var(--pd-content-primary);
231
+ --destructive: #C41C3B;
232
+ --destructive-foreground: #FFFFFF;
233
+ --border: var(--pd-border-primary);
234
+ --input: var(--pd-border-primary);
235
+ --ring: #3772FF;
236
+
237
+ /* Status colors using PD design system */
238
+ --color-success: #00E052;
239
+ --color-error: #C41C3B;
240
+ --color-warning: #F09700;
241
+ --color-info: #004BFF;
242
+ --color-other: #7E7E8B;
243
+
244
+ /* Legacy color mappings to PD tokens */
245
+ --indigo-900: #001E66;
246
+ --indigo-600: #004BFF;
247
+ --indigo-500: #3772FF;
248
+ --indigo-300: #99B7FF;
249
+ --transparent-bg: rgba(255, 255, 255, 0.06);
250
+ --transparent: transparent;
251
+ --blue-600: #004BFF;
252
+ --blue-900: #001E66;
253
+ --black-900: #17171C;
254
+ --card-800: #2F2F37;
255
+ --border-gray: #4E4E5A;
256
+ --stroke-700: #4E4E5A;
257
+ --600: #60606C;
258
+ --500: #7E7E8B;
259
+ --body-text-400: #BEBEC1;
260
+ --active-text-50: #DFDFE2;
261
+ --yellow-30-percent: #F097004d;
262
+ --yellow-500: #FFAD22;
263
+ --yellow-600: #F09700;
264
+ --amber-30-percent: #F097004d;
265
+ --amber-600: #F09700;
266
+ --red-30-percent: #C41C3B4d;
267
+ --red-500: #E12D4E;
268
+ --red-600: #C41C3B;
269
+ --red-900: #4C0B17;
270
+ --transparent-grey: rgba(255, 255, 255, 0.1);
271
+ --emerald-900: #006625;
272
+ --emerald-500: #00E052;
273
+ --body-text-500: #7E7E8B;
274
+ }
275
+
276
+ .dark {
277
+ /* Dark theme - same as root since PD tokens are dark by default */
278
+ --pd-background-primary: #09090B;
279
+ --pd-background-secondary: #17171C;
280
+ --pd-background-tertiary: #2F2F37;
281
+ --pd-content-primary: #DFDFE2;
282
+ --pd-content-secondary: #7E7E8B;
283
+ --pd-content-subtle: #4E4E5A;
284
+ --pd-border-primary: #4E4E5A;
285
+ --pd-border-secondary: #2F2F37;
286
+ }
287
+
288
+ .light {
289
+ /* Light theme using PD light tokens */
290
+ --pd-background-primary: #FFFFFF;
291
+ --pd-background-secondary: #EDEDED;
292
+ --pd-background-tertiary: #DFDFE2;
293
+ --pd-background-invert: #09090B;
294
+ --pd-background-green: #E0FFEC;
295
+ --pd-background-red: #FDF2F4;
296
+ --pd-background-orange: #FFF3EB;
297
+ --pd-background-yellow: #FFF4E0;
298
+ --pd-background-info: #EBF1FF;
299
+
300
+ --pd-content-primary: #17171C;
301
+ --pd-content-secondary: #60606C;
302
+ --pd-content-subtle: #BEBEC1;
303
+ --pd-content-on-color: #FFFFFF;
304
+ --pd-content-blue: #3772FF;
305
+ --pd-content-green: #00B241;
306
+ --pd-content-red: #C41C3B;
307
+ --pd-content-orange: #D65700;
308
+ --pd-content-yellow: #F09700;
309
+
310
+ --pd-border-primary: #BEBEC1;
311
+ --pd-border-secondary: #DFDFE2;
312
+ --pd-border-subtle: #DFDFE2;
313
+ --pd-border-invert: #09090B;
314
+ --pd-border-blue: #3772FF;
315
+ --pd-border-green: #00E052;
316
+ --pd-border-red: #C41C3B;
317
+ --pd-border-orange: #D65700;
318
+ --pd-border-yellow: #F09700;
319
+
320
+ /* Update legacy variables for light theme */
321
+ --active-text-50: #17171C;
322
+ --body-text-400: #BEBEC1;
323
+ --body-text-500: #60606C;
324
+ }
325
+ }
326
+
327
+ .ant-picker-outlined:focus-within {
328
+ box-shadow: none !important;
329
+ background-color: 'transparent';
330
+ }
331
+
332
+ /* split.js */
333
+ .gutter-horizontal {
334
+ @apply bg-zinc-800;
335
+ transition: all 100ms;
336
+ }
337
+ .gutter-horizontal:hover {
338
+ cursor: col-resize;
339
+ @apply bg-zinc-600;
340
+ }
341
+ .gutter-horizontal:active {
342
+ cursor: col-resize;
343
+ @apply bg-zinc-600;
344
+ }
345
+
346
+ /* */
347
+ .steps-gradient {
348
+ background: linear-gradient(
349
+ 180deg,
350
+ transparent,
351
+ hsl(227, 4%, 15%) 10%,
352
+ hsl(227, 4%, 15%) 90%,
353
+ transparent
354
+ );
355
+ }
356
+
357
+ @layer utilities {
358
+ /* Hide scrollbar for Chrome, Safari and Opera */
359
+ .no-scrollbar::-webkit-scrollbar {
360
+ display: none;
361
+ }
362
+ /* Hide scrollbar for IE, Edge and Firefox */
363
+ .no-scrollbar {
364
+ -ms-overflow-style: none; /* IE and Edge */
365
+ scrollbar-width: none; /* Firefox */
366
+ }
367
+ }
368
+
369
+
370
+
371
+ .ant-tree {
372
+ height: 100% !important;
373
+ }
374
+ .ant-tree-list {
375
+ height: 100% !important;
376
+ }
377
+ .ant-tree-list-holder {
378
+ max-height: 100% !important;
379
+ height: 100% !important;
380
+ }
381
+ .ant-tree-checkbox-inner {
382
+ background-color: #0d0d10 !important;
383
+ border: 1px solid #3f3f40 !important;
384
+ }
385
+
386
+ .ant-tree-checkbox-indeterminate > .ant-tree-checkbox-inner::after {
387
+ background-color: #5456cf !important;
388
+ border-radius: 1rem !important;
389
+ }
390
+
391
+ .ant-tree-checkbox-checked > .ant-tree-checkbox-inner:after {
392
+ border-color: #c5c5d3 !important;
393
+ }
394
+
395
+ .animate-caret-blink {
396
+ height: 1.6rem;
397
+ }
398
+
399
+ .ant-tree-treenode {
400
+ width: 98% !important;
401
+ padding-top: 0.2rem !important;
402
+ padding-bottom: 0.2rem !important;
403
+ }
404
+
405
+ .ant-tree-node-content-wrapper {
406
+ width: 98% !important;
407
+ padding: 0 0 !important;
408
+ }
409
+
410
+ /* Selection colors */
411
+ *::selection {
412
+ background-color: #0062d1;
413
+ color: #fff;
414
+ }
415
+
416
+ .embla {
417
+ max-width: 400rem;
418
+ max-height: 209rem;
419
+ margin: auto;
420
+ --slide-height: 45rem;
421
+ --slide-spacing: 1rem;
422
+ --slide-size: 70%;
423
+ }
424
+ .embla__viewport {
425
+ overflow: hidden;
426
+ }
427
+ .embla__container {
428
+ backface-visibility: hidden;
429
+ display: flex;
430
+ touch-action: pan-y pinch-zoom;
431
+ margin-left: calc(var(--slide-spacing) * -1);
432
+ }
433
+ .embla__slide {
434
+ flex: 0 0 var(--slide-size);
435
+ min-width: 0;
436
+ padding-left: var(--slide-spacing);
437
+ }
438
+ .embla__slide__img {
439
+ border-radius: 1.8rem;
440
+ display: block;
441
+ height: var(--slide-height);
442
+ width: 100%;
443
+ object-fit: cover;
444
+ }
445
+ .embla__controls {
446
+ margin-top: 4rem;
447
+ }
448
+ /* .embla__button.embla__button--prev {
449
+
450
+ } */
451
+
452
+ .embla__buttons {
453
+ width: max-content;
454
+ }
455
+ .embla__button {
456
+ -webkit-tap-highlight-color: rgba(var(--text-high-contrast-rgb-value), 0.5);
457
+ -webkit-appearance: none;
458
+ appearance: none;
459
+ background-color: transparent;
460
+ touch-action: manipulation;
461
+ display: inline-flex;
462
+ text-decoration: none;
463
+ border: 0;
464
+ padding: 0;
465
+ margin: 0;
466
+ box-shadow: inset 0 0 0 0.2rem var(--detail-medium-contrast);
467
+ width: 3.6rem;
468
+ height: 3.6rem;
469
+ z-index: 1;
470
+ border-radius: 50%;
471
+ color: var(--text-body);
472
+ display: flex;
473
+ align-items: center;
474
+ justify-content: center;
475
+ }
476
+ .embla__button:disabled {
477
+ color: var(--detail-high-contrast);
478
+ }
479
+ .embla__button__svg {
480
+ width: 35%;
481
+ height: 35%;
482
+ }
483
+ .embla__dots {
484
+ display: flex;
485
+ flex-wrap: wrap;
486
+ justify-content: flex-end;
487
+ align-items: center;
488
+ margin-right: calc((2.6rem - 1.4rem) / 2 * -1);
489
+ }
490
+ .embla__dot {
491
+ -webkit-tap-highlight-color: rgba(var(--text-high-contrast-rgb-value), 0.5);
492
+ -webkit-appearance: none;
493
+ appearance: none;
494
+ background-color: transparent;
495
+ touch-action: manipulation;
496
+ display: inline-flex;
497
+ text-decoration: none;
498
+ cursor: pointer;
499
+ border: 0;
500
+ padding: 0;
501
+ margin: 0;
502
+ width: 2.6rem;
503
+ height: 2.6rem;
504
+ display: flex;
505
+ align-items: center;
506
+ justify-content: center;
507
+ border-radius: 50%;
508
+ }
509
+ .embla__dot:after {
510
+ box-shadow: inset 0 0 0 0.2rem var(--detail-medium-contrast);
511
+ width: 1.4rem;
512
+ height: 1.4rem;
513
+ border-radius: 50%;
514
+ display: flex;
515
+ align-items: center;
516
+ content: '';
517
+ }
518
+ .embla__dot--selected:after {
519
+ box-shadow: inset 0 0 0 0.2rem var(--text-body);
520
+ background: red;
521
+ }
522
+
523
+ /* for graph */
524
+ :root {
525
+ --critical: #e11d4826;
526
+ --high: #ea580c26;
527
+ --medium: #eab30826;
528
+ --low: #6366f126;
529
+ --unknown: #ffffff37;
530
+ --critical-rgb: 255 29 72;
531
+ --high-rgb: 234 88 12;
532
+ --medium-rgb: 234 179 8;
533
+ --low-rgb: 99 102 241;
534
+ --unknown-rgb: 100 100 100;
535
+ --critical-dark: 62 23 35;
536
+ --high-dark: 64 35 23;
537
+ --medium-dark: 64 54 23;
538
+ --low-dark: 37 37 69;
539
+ --unknown-dark: 40 40 40;
540
+ }
541
+
542
+ .theme-light {
543
+ --brand-primary: rgb(47, 112, 193);
544
+ --brand-secondary: rgb(116, 97, 195);
545
+ --brand-alternative: rgb(19, 120, 134);
546
+ --background-site: rgb(249, 249, 249);
547
+ --background-code: rgb(244, 244, 244);
548
+ --text-body: rgb(54, 49, 61);
549
+ --text-comment: rgb(99, 94, 105);
550
+ --text-high-contrast: rgb(49, 49, 49);
551
+ --text-medium-contrast: rgb(99, 94, 105);
552
+ --text-low-contrast: rgb(116, 109, 118);
553
+ --detail-high-contrast: rgb(192, 192, 192);
554
+ --detail-medium-contrast: rgb(234, 234, 234);
555
+ --detail-low-contrast: rgb(240, 240, 242);
556
+ --admonition-note: rgb(46, 109, 188);
557
+ --admonition-warning: rgb(255, 196, 9);
558
+ --admonition-danger: rgb(220, 38, 38);
559
+ --brand-primary-rgb-value: 47, 112, 193;
560
+ --brand-secondary-rgb-value: 116, 97, 195;
561
+ --brand-alternative-rgb-value: 19, 120, 134;
562
+ --background-site-rgb-value: 249, 249, 249;
563
+ --background-code-rgb-value: 244, 244, 244;
564
+ --text-body-rgb-value: 54, 49, 61;
565
+ --text-comment-rgb-value: 99, 94, 105;
566
+ --text-high-contrast-rgb-value: 49, 49, 49;
567
+ --text-medium-contrast-rgb-value: 99, 94, 105;
568
+ --text-low-contrast-rgb-value: 116, 109, 118;
569
+ --detail-high-contrast-rgb-value: 192, 192, 192;
570
+ --detail-medium-contrast-rgb-value: 234, 234, 234;
571
+ --detail-low-contrast-rgb-value: 240, 240, 242;
572
+ --admonition-note-rgb-value: 46, 109, 188;
573
+ --admonition-warning-rgb-value: 255, 196, 9;
574
+ --admonition-danger-rgb-value: 220, 38, 38;
575
+ }
576
+ .theme-dark {
577
+ --brand-primary: rgb(138, 180, 248);
578
+ --brand-secondary: rgb(193, 168, 226);
579
+ --brand-alternative: rgb(136, 186, 191);
580
+ --background-site: rgb(0, 0, 0);
581
+ --background-code: rgb(12, 12, 12);
582
+ --text-body: rgb(222, 222, 222);
583
+ --text-comment: rgb(170, 170, 170);
584
+ --text-high-contrast: rgb(230, 230, 230);
585
+ --text-medium-contrast: rgb(202, 202, 202);
586
+ --text-low-contrast: rgb(170, 170, 170);
587
+ --detail-high-contrast: rgb(101, 101, 101);
588
+ --detail-medium-contrast: rgb(25, 25, 25);
589
+ --detail-low-contrast: rgb(21, 21, 21);
590
+ --admonition-note: rgb(138, 180, 248);
591
+ --admonition-warning: rgb(253, 186, 116);
592
+ --admonition-danger: rgb(220, 38, 38);
593
+ --brand-primary-rgb-value: 138, 180, 248;
594
+ --brand-secondary-rgb-value: 193, 168, 226;
595
+ --brand-alternative-rgb-value: 136, 186, 191;
596
+ --background-site-rgb-value: 0, 0, 0;
597
+ --background-code-rgb-value: 12, 12, 12;
598
+ --text-body-rgb-value: 222, 222, 222;
599
+ --text-comment-rgb-value: 170, 170, 170;
600
+ --text-high-contrast-rgb-value: 230, 230, 230;
601
+ --text-medium-contrast-rgb-value: 202, 202, 202;
602
+ --text-low-contrast-rgb-value: 170, 170, 170;
603
+ --detail-high-contrast-rgb-value: 101, 101, 101;
604
+ --detail-medium-contrast-rgb-value: 25, 25, 25;
605
+ --detail-low-contrast-rgb-value: 21, 21, 21;
606
+ --admonition-note-rgb-value: 138, 180, 248;
607
+ --admonition-warning-rgb-value: 253, 186, 116;
608
+ --admonition-danger-rgb-value: 220, 38, 38;
609
+ }
610
+
611
+
612
+ /* ============================================
613
+ * scrollbar.css
614
+ * ============================================ */
615
+ /* Hide scrollbars globally while preserving scroll behavior */
616
+ * {
617
+ -ms-overflow-style: none; /* IE and Edge */
618
+ scrollbar-width: none; /* Firefox */
619
+ }
620
+
621
+ *::-webkit-scrollbar {
622
+ width: 0 !important;
623
+ height: 0 !important;
624
+ }
625
+
626
+ /* Optional: opt-out helper. Add class 'allow-scrollbar' on a container to show it again */
627
+ .allow-scrollbar,
628
+ .allow-scrollbar * {
629
+ -ms-overflow-style: auto;
630
+ scrollbar-width: auto;
631
+ }
632
+ .allow-scrollbar *::-webkit-scrollbar {
633
+ width: 8px !important;
634
+ height: 8px !important;
635
+ }
636
+
637
+
638
+
639
+
640
+ /* ============================================
641
+ * antd-overrides.css
642
+ * ============================================ */
643
+ /* Ant Design TimePicker overrides using PD design tokens */
644
+
645
+ /* Popup container background and border (scoped) */
646
+ .ant-picker-dropdown.pd-timepicker-dropdown,
647
+ .pd-timepicker-dropdown .ant-picker-panel-container,
648
+ .ant-picker-dropdown.pd-timepicker-dropdown .ant-picker-panel-container,
649
+ .pd-timepicker-dropdown .ant-picker-time-panel,
650
+ .ant-picker-dropdown.pd-timepicker-dropdown .ant-picker-time-panel,
651
+ .pd-timepicker-dropdown .ant-picker-footer,
652
+ .ant-picker-dropdown.pd-timepicker-dropdown .ant-picker-footer {
653
+ background: var(--background-secondary) !important;
654
+ color: var(--content-primary) !important;
655
+ border: 1px solid var(--border-secondary) !important;
656
+ }
657
+ .pd-timepicker-dropdown .ant-picker-panel-container,
658
+ .ant-picker-dropdown.pd-timepicker-dropdown .ant-picker-panel-container {
659
+ border-radius: 12px !important;
660
+ overflow: hidden;
661
+ }
662
+ .ant-picker-dropdown.pd-timepicker-dropdown {
663
+ z-index: 1000;
664
+ }
665
+
666
+ /* Columns separator */
667
+ .pd-timepicker-dropdown .ant-picker-time-panel-column:not(:last-child),
668
+ .ant-picker-dropdown.pd-timepicker-dropdown .ant-picker-time-panel-column:not(:last-child) {
669
+ border-inline-end: 1px solid var(--border-secondary) !important;
670
+ }
671
+
672
+ /* Cell text (default) */
673
+ .pd-timepicker-dropdown .ant-picker-time-panel-column > li .ant-picker-time-panel-cell-inner,
674
+ .ant-picker-dropdown.pd-timepicker-dropdown
675
+ .ant-picker-time-panel-column
676
+ > li
677
+ .ant-picker-time-panel-cell-inner {
678
+ color: var(--content-secondary) !important;
679
+ }
680
+
681
+ /* Hover and selected cells */
682
+ .pd-timepicker-dropdown
683
+ .ant-picker-time-panel-column
684
+ > li.ant-picker-time-panel-cell-selected
685
+ .ant-picker-time-panel-cell-inner,
686
+ .pd-timepicker-dropdown .ant-picker-time-panel-column > li .ant-picker-time-panel-cell-inner:hover,
687
+ .ant-picker-dropdown.pd-timepicker-dropdown
688
+ .ant-picker-time-panel-column
689
+ > li.ant-picker-time-panel-cell-selected
690
+ .ant-picker-time-panel-cell-inner,
691
+ .ant-picker-dropdown.pd-timepicker-dropdown
692
+ .ant-picker-time-panel-column
693
+ > li
694
+ .ant-picker-time-panel-cell-inner:hover {
695
+ background: var(--background-tertiary) !important;
696
+ color: var(--content-primary) !important;
697
+ }
698
+ /* Focus ring fix for keyboard nav */
699
+ .pd-timepicker-dropdown .ant-picker-time-panel-column > li .ant-picker-time-panel-cell-inner:focus {
700
+ outline: 0;
701
+ box-shadow: 0 0 0 1px var(--border-blue) inset;
702
+ }
703
+
704
+ /* Footer actions */
705
+ .pd-timepicker-dropdown .ant-picker-now-btn,
706
+ .ant-picker-dropdown.pd-timepicker-dropdown .ant-picker-now-btn {
707
+ color: var(--content-blue) !important;
708
+ }
709
+ .pd-timepicker-dropdown .ant-picker-footer,
710
+ .ant-picker-dropdown.pd-timepicker-dropdown .ant-picker-footer {
711
+ border-top: 1px solid var(--border-secondary) !important;
712
+ background: var(--background-secondary) !important;
713
+ }
714
+ .pd-timepicker-dropdown .ant-picker-ok .ant-btn,
715
+ .ant-picker-dropdown.pd-timepicker-dropdown .ant-picker-ok .ant-btn {
716
+ background: var(--background-tertiary) !important;
717
+ color: var(--content-primary) !important;
718
+ border: 1px solid var(--border-secondary) !important;
719
+ }
720
+ .pd-timepicker-dropdown .ant-picker-ok .ant-btn[disabled],
721
+ .ant-picker-dropdown.pd-timepicker-dropdown .ant-picker-ok .ant-btn[disabled],
722
+ .pd-timepicker-dropdown .ant-picker-ok .ant-btn:disabled,
723
+ .ant-picker-dropdown.pd-timepicker-dropdown .ant-picker-ok .ant-btn:disabled {
724
+ opacity: 0.55 !important;
725
+ color: var(--content-secondary) !important;
726
+ background: var(--background-tertiary) !important;
727
+ border-color: var(--border-secondary) !important;
728
+ }
729
+
730
+ /* Input appearance */
731
+ .pd-timepicker.custom-timepicker.ant-picker,
732
+ .custom-timepicker.ant-picker {
733
+ background: var(--background-primary) !important;
734
+ border-color: var(--border-secondary) !important;
735
+ }
736
+ .pd-timepicker .ant-picker-input > input,
737
+ .custom-timepicker .ant-picker-input > input {
738
+ color: var(--content-primary) !important;
739
+ background: var(--background-primary) !important;
740
+ }
741
+ .pd-timepicker .ant-picker-input > input::placeholder,
742
+ .custom-timepicker .ant-picker-input > input::placeholder {
743
+ color: var(--content-muted) !important;
744
+ }
745
+ .pd-timepicker.ant-picker-open .ant-picker-input > input,
746
+ .custom-timepicker.ant-picker-open .ant-picker-input > input {
747
+ color: var(--content-primary) !important;
748
+ background: var(--background-primary) !important;
749
+ }
750
+ .pd-timepicker.ant-picker-open .ant-picker-input > input::placeholder,
751
+ .custom-timepicker.ant-picker-open .ant-picker-input > input::placeholder {
752
+ color: var(--content-muted) !important;
753
+ }
754
+ .pd-timepicker.ant-picker-focused .ant-picker-input > input,
755
+ .custom-timepicker.ant-picker-focused .ant-picker-input > input {
756
+ background: var(--background-primary) !important;
757
+ }
758
+
759
+ .ant-picker-focused .ant-picker-input > input {
760
+ background: var(--background-primary) !important;
761
+ }
762
+ .pd-timepicker.ant-picker-focused .ant-picker-input > input::placeholder,
763
+ .custom-timepicker.ant-picker-focused .ant-picker-input > input::placeholder {
764
+ color: var(--content-muted) !important;
765
+ }
766
+
767
+ .pd-timepicker.ant-picker:hover,
768
+ .custom-timepicker.ant-picker:hover,
769
+ .pd-timepicker.ant-picker-focused,
770
+ .custom-timepicker.ant-picker-focused {
771
+ border-color: var(--border-blue) !important;
772
+ box-shadow: none !important;
773
+ background: var(--background-primary) !important;
774
+ }
775
+
776
+ /* General text color inside dropdown */
777
+ .pd-timepicker-dropdown .ant-picker-time-panel,
778
+ .ant-picker-dropdown.pd-timepicker-dropdown .ant-picker-time-panel {
779
+ color: var(--content-secondary) !important;
780
+ }
781
+
782
+ /* ========================= */
783
+ /* Antd Tree checkbox tokens */
784
+ /* ========================= */
785
+ .pd-tree.ant-tree .ant-tree-checkbox .ant-tree-checkbox-inner {
786
+ background: var(--background-primary) !important;
787
+ border-color: var(--border-secondary) !important;
788
+ }
789
+ .pd-tree.ant-tree .ant-tree-checkbox:hover .ant-tree-checkbox-inner {
790
+ border-color: var(--border-blue) !important;
791
+ }
792
+ .pd-tree.ant-tree .ant-tree-checkbox-checked .ant-tree-checkbox-inner {
793
+ background: var(--content-blue) !important;
794
+ border-color: var(--content-blue) !important;
795
+ }
796
+ .pd-tree.ant-tree .ant-tree-checkbox-checked .ant-tree-checkbox-inner::after {
797
+ border-color: var(--content-always-white, #fff) !important;
798
+ }
799
+ .pd-tree.ant-tree .ant-tree-checkbox-indeterminate .ant-tree-checkbox-inner::after {
800
+ background-color: var(--content-primary) !important;
801
+ }
802
+
803
+ /* Tree title text: default secondary, hover/selected primary */
804
+ .pd-tree.ant-tree .ant-tree-title {
805
+ color: var(--content-secondary) !important;
806
+ }
807
+ .pd-tree.ant-tree .ant-tree-node-content-wrapper:hover .ant-tree-title,
808
+ .pd-tree.ant-tree .ant-tree-treenode-selected .ant-tree-title,
809
+ .pd-tree.ant-tree .ant-tree-node-content-wrapper.ant-tree-node-selected .ant-tree-title {
810
+ color: var(--content-primary) !important;
811
+ }
812
+
813
+ .pd-timepicker-dropdown .ant-picker-suffix {
814
+ color: var(--content-primary) !important;
815
+ }
816
+
817
+ .anticon-clock-circle {
818
+ background: var(--background-primary) !important;
819
+ color: var(--content-primary) !important;
820
+ }
821
+
822
+ .ant-picker-focused {
823
+ background: var(--background-primary) !important;
824
+ }