nowaikit-utils 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,1609 @@
1
+ /* NowAIKit Utils — Content Script Styles */
2
+
3
+ /* ─── Update Set Banner ──────────────────────────────────────────────────── */
4
+
5
+ #nowaikit-updateset-banner {
6
+ position: fixed;
7
+ top: 0;
8
+ left: 0;
9
+ right: 0;
10
+ z-index: 999999;
11
+ background: linear-gradient(135deg, #0F4C81 0%, #00D4AA 100%);
12
+ color: #fff;
13
+ padding: 4px 16px;
14
+ font-size: 12px;
15
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
16
+ text-align: center;
17
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
18
+ transition: opacity 0.3s;
19
+ }
20
+
21
+ #nowaikit-updateset-banner strong {
22
+ font-weight: 600;
23
+ }
24
+
25
+ /* ─── Technical Names ────────────────────────────────────────────────────── */
26
+
27
+ .nowaikit-techname {
28
+ display: inline-block;
29
+ margin-left: 6px;
30
+ padding: 1px 6px;
31
+ background: rgba(0, 212, 170, 0.12);
32
+ color: #00D4AA;
33
+ font-size: 10px;
34
+ font-family: 'JetBrains Mono', 'Fira Code', 'Consolas', monospace;
35
+ border-radius: 3px;
36
+ cursor: pointer;
37
+ vertical-align: middle;
38
+ transition: background 0.2s;
39
+ }
40
+
41
+ .nowaikit-techname:hover {
42
+ background: rgba(0, 212, 170, 0.25);
43
+ }
44
+
45
+ /* 3D: Dotted underline for badges with tooltip metadata */
46
+ .nowaikit-has-tooltip {
47
+ border-bottom: 1px dotted rgba(0, 212, 170, 0.6);
48
+ cursor: help;
49
+ }
50
+
51
+ /* ─── Copy Button ────────────────────────────────────────────────────────── */
52
+
53
+ .nowaikit-copy-btn {
54
+ position: absolute;
55
+ top: 2px;
56
+ right: 2px;
57
+ width: 20px;
58
+ height: 20px;
59
+ border: none;
60
+ background: rgba(0, 212, 170, 0.1);
61
+ color: #00D4AA;
62
+ border-radius: 3px;
63
+ cursor: pointer;
64
+ font-size: 11px;
65
+ line-height: 20px;
66
+ text-align: center;
67
+ opacity: 0;
68
+ transition: opacity 0.2s;
69
+ z-index: 10;
70
+ }
71
+
72
+ *:hover > .nowaikit-copy-btn {
73
+ opacity: 1;
74
+ }
75
+
76
+ .nowaikit-copy-btn:hover {
77
+ background: rgba(0, 212, 170, 0.25);
78
+ }
79
+
80
+ /* ─── Info Overlay ───────────────────────────────────────────────────────── */
81
+
82
+ #nowaikit-info-overlay {
83
+ position: fixed;
84
+ bottom: 12px;
85
+ right: 12px;
86
+ z-index: 999998;
87
+ background: #111828;
88
+ border: 1px solid #2a3548;
89
+ border-radius: 8px;
90
+ padding: 8px 12px;
91
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
92
+ font-size: 11px;
93
+ color: #c8d0dc;
94
+ box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3);
95
+ min-width: 180px;
96
+ opacity: 0.85;
97
+ transition: opacity 0.2s;
98
+ }
99
+
100
+ #nowaikit-info-overlay:hover {
101
+ opacity: 1;
102
+ }
103
+
104
+ .nowaikit-info-row {
105
+ display: flex;
106
+ justify-content: space-between;
107
+ align-items: center;
108
+ padding: 3px 0;
109
+ }
110
+
111
+ .nowaikit-info-label {
112
+ color: #6b7a90;
113
+ font-size: 10px;
114
+ text-transform: uppercase;
115
+ letter-spacing: 0.5px;
116
+ }
117
+
118
+ .nowaikit-info-value {
119
+ color: #e0e5ec;
120
+ font-family: 'JetBrains Mono', 'Consolas', monospace;
121
+ font-size: 11px;
122
+ }
123
+
124
+ .nowaikit-clickable {
125
+ cursor: pointer;
126
+ color: #00D4AA;
127
+ }
128
+
129
+ .nowaikit-clickable:hover {
130
+ text-decoration: underline;
131
+ }
132
+
133
+ /* 3C: Node value styling */
134
+ .nowaikit-node-value {
135
+ color: #f0a030;
136
+ font-weight: 500;
137
+ }
138
+
139
+ /* ─── Quick Navigation ───────────────────────────────────────────────────── */
140
+
141
+ #nowaikit-quicknav {
142
+ position: fixed;
143
+ top: 0;
144
+ left: 0;
145
+ right: 0;
146
+ bottom: 0;
147
+ z-index: 9999999;
148
+ background: rgba(0, 0, 0, 0.5);
149
+ display: flex;
150
+ justify-content: center;
151
+ padding-top: 20vh;
152
+ }
153
+
154
+ #nowaikit-quicknav-input {
155
+ width: 500px;
156
+ max-width: 90vw;
157
+ height: 48px;
158
+ background: #111828;
159
+ border: 2px solid #00D4AA;
160
+ border-radius: 12px;
161
+ color: #f0f2f5;
162
+ font-size: 16px;
163
+ font-family: 'JetBrains Mono', 'Consolas', monospace;
164
+ padding: 0 20px;
165
+ outline: none;
166
+ box-shadow: 0 8px 32px rgba(0, 212, 170, 0.15);
167
+ }
168
+
169
+ #nowaikit-quicknav-input::placeholder {
170
+ color: #4a5670;
171
+ }
172
+
173
+ /* ─── Toast ──────────────────────────────────────────────────────────────── */
174
+
175
+ .nowaikit-toast {
176
+ position: fixed;
177
+ top: 40px;
178
+ right: 20px;
179
+ z-index: 99999999;
180
+ background: #111828;
181
+ color: #f0f2f5;
182
+ padding: 10px 20px;
183
+ border-radius: 8px;
184
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
185
+ font-size: 13px;
186
+ box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3);
187
+ transform: translateX(120%);
188
+ transition: transform 0.3s ease;
189
+ border-left: 3px solid #00D4AA;
190
+ }
191
+
192
+ .nowaikit-toast-warn {
193
+ border-left-color: #f0a030;
194
+ }
195
+
196
+ .nowaikit-toast-show {
197
+ transform: translateX(0);
198
+ }
199
+
200
+ /* ─── 3D. Field Type Tooltips ────────────────────────────────────────────── */
201
+
202
+ .nowaikit-field-tooltip {
203
+ position: absolute;
204
+ z-index: 99999999;
205
+ background: #1a2234;
206
+ border: 1px solid #2a3548;
207
+ border-radius: 6px;
208
+ padding: 8px 12px;
209
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
210
+ font-size: 11px;
211
+ color: #c8d0dc;
212
+ box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4);
213
+ min-width: 180px;
214
+ max-width: 320px;
215
+ pointer-events: none;
216
+ animation: nowaikit-tooltip-in 0.15s ease;
217
+ }
218
+
219
+ @keyframes nowaikit-tooltip-in {
220
+ from {
221
+ opacity: 0;
222
+ transform: translateY(-4px);
223
+ }
224
+ to {
225
+ opacity: 1;
226
+ transform: translateY(0);
227
+ }
228
+ }
229
+
230
+ .nowaikit-tooltip-row {
231
+ display: flex;
232
+ justify-content: space-between;
233
+ align-items: center;
234
+ padding: 2px 0;
235
+ gap: 12px;
236
+ }
237
+
238
+ .nowaikit-tooltip-key {
239
+ color: #6b7a90;
240
+ font-size: 10px;
241
+ text-transform: uppercase;
242
+ letter-spacing: 0.3px;
243
+ white-space: nowrap;
244
+ flex-shrink: 0;
245
+ }
246
+
247
+ .nowaikit-tooltip-val {
248
+ color: #e0e5ec;
249
+ font-family: 'JetBrains Mono', 'Consolas', monospace;
250
+ font-size: 11px;
251
+ text-align: right;
252
+ word-break: break-word;
253
+ }
254
+
255
+ /* ─── Node Switcher Modal ───────────────────────────────────────────────── */
256
+
257
+ .nowaikit-node-switcher {
258
+ position: fixed;
259
+ top: 0;
260
+ left: 0;
261
+ right: 0;
262
+ bottom: 0;
263
+ z-index: 99999999;
264
+ background: rgba(0, 0, 0, 0.55);
265
+ display: flex;
266
+ justify-content: center;
267
+ align-items: flex-start;
268
+ padding-top: 15vh;
269
+ animation: nowaikit-fade-in 0.15s ease;
270
+ }
271
+
272
+ @keyframes nowaikit-fade-in {
273
+ from { opacity: 0; }
274
+ to { opacity: 1; }
275
+ }
276
+
277
+ .nowaikit-node-switcher-panel {
278
+ width: 420px;
279
+ max-width: 92vw;
280
+ background: #111828;
281
+ border: 1px solid #2a3548;
282
+ border-radius: 12px;
283
+ box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5);
284
+ overflow: hidden;
285
+ animation: nowaikit-slide-down 0.2s ease;
286
+ display: flex;
287
+ flex-direction: column;
288
+ }
289
+
290
+ @keyframes nowaikit-slide-down {
291
+ from { opacity: 0; transform: translateY(-12px); }
292
+ to { opacity: 1; transform: translateY(0); }
293
+ }
294
+
295
+ .nowaikit-node-switcher-header {
296
+ display: flex;
297
+ align-items: center;
298
+ justify-content: space-between;
299
+ padding: 14px 18px;
300
+ background: linear-gradient(135deg, #0F4C81 0%, rgba(0, 212, 170, 0.15) 100%);
301
+ border-bottom: 1px solid #2a3548;
302
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
303
+ font-size: 14px;
304
+ font-weight: 600;
305
+ color: #fff;
306
+ }
307
+
308
+ .nowaikit-node-switcher-close {
309
+ background: none;
310
+ border: none;
311
+ color: rgba(255,255,255,0.6);
312
+ font-size: 20px;
313
+ cursor: pointer;
314
+ padding: 0 4px;
315
+ line-height: 1;
316
+ transition: color 0.2s;
317
+ }
318
+
319
+ .nowaikit-node-switcher-close:hover {
320
+ color: #fff;
321
+ }
322
+
323
+ .nowaikit-node-switcher-body {
324
+ max-height: 340px;
325
+ overflow-y: auto;
326
+ padding: 6px;
327
+ }
328
+
329
+ .nowaikit-node-switcher-body::-webkit-scrollbar {
330
+ width: 5px;
331
+ }
332
+
333
+ .nowaikit-node-switcher-body::-webkit-scrollbar-thumb {
334
+ background: #2a3548;
335
+ border-radius: 3px;
336
+ }
337
+
338
+ .nowaikit-node-switcher-loading,
339
+ .nowaikit-node-switcher-empty {
340
+ padding: 28px 12px;
341
+ text-align: center;
342
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
343
+ font-size: 13px;
344
+ color: #6b7a90;
345
+ display: flex;
346
+ align-items: center;
347
+ justify-content: center;
348
+ gap: 10px;
349
+ }
350
+
351
+ .nowaikit-node-spinner {
352
+ width: 16px;
353
+ height: 16px;
354
+ border: 2px solid rgba(0, 212, 170, 0.2);
355
+ border-top-color: #00D4AA;
356
+ border-radius: 50%;
357
+ animation: nowaikit-spin 0.7s linear infinite;
358
+ }
359
+
360
+ @keyframes nowaikit-spin {
361
+ to { transform: rotate(360deg); }
362
+ }
363
+
364
+ /* ── Node Item (selectable radio row) ───────────────────────────────────── */
365
+
366
+ .nowaikit-node-item {
367
+ display: flex;
368
+ align-items: center;
369
+ gap: 12px;
370
+ padding: 12px 14px;
371
+ margin: 2px 0;
372
+ border-radius: 8px;
373
+ border: 1px solid transparent;
374
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
375
+ cursor: pointer;
376
+ transition: background 0.15s, border-color 0.15s;
377
+ user-select: none;
378
+ }
379
+
380
+ .nowaikit-node-item:hover {
381
+ background: rgba(0, 212, 170, 0.06);
382
+ }
383
+
384
+ .nowaikit-node-item.nowaikit-node-selected {
385
+ background: rgba(0, 212, 170, 0.1);
386
+ border-color: #00D4AA;
387
+ }
388
+
389
+ .nowaikit-node-item.nowaikit-node-current {
390
+ background: rgba(0, 212, 170, 0.04);
391
+ border-color: rgba(0, 212, 170, 0.15);
392
+ }
393
+
394
+ /* Radio indicator */
395
+ .nowaikit-node-radio {
396
+ width: 18px;
397
+ height: 18px;
398
+ border-radius: 50%;
399
+ border: 2px solid #3a4a60;
400
+ flex-shrink: 0;
401
+ display: flex;
402
+ align-items: center;
403
+ justify-content: center;
404
+ transition: border-color 0.15s;
405
+ }
406
+
407
+ .nowaikit-node-radio-dot {
408
+ width: 8px;
409
+ height: 8px;
410
+ border-radius: 50%;
411
+ background: transparent;
412
+ transition: background 0.15s;
413
+ }
414
+
415
+ .nowaikit-node-item.nowaikit-node-current .nowaikit-node-radio {
416
+ border-color: #00D4AA;
417
+ }
418
+
419
+ .nowaikit-node-item.nowaikit-node-current .nowaikit-node-radio-dot {
420
+ background: #00D4AA;
421
+ }
422
+
423
+ .nowaikit-node-item.nowaikit-node-selected .nowaikit-node-radio {
424
+ border-color: #00D4AA;
425
+ }
426
+
427
+ .nowaikit-node-item.nowaikit-node-selected .nowaikit-node-radio-dot {
428
+ background: #00D4AA;
429
+ }
430
+
431
+ /* Node details */
432
+ .nowaikit-node-details {
433
+ flex: 1;
434
+ min-width: 0;
435
+ }
436
+
437
+ .nowaikit-node-name {
438
+ font-size: 13px;
439
+ font-weight: 600;
440
+ color: #e0e5ec;
441
+ white-space: nowrap;
442
+ overflow: hidden;
443
+ text-overflow: ellipsis;
444
+ }
445
+
446
+ .nowaikit-node-full-id {
447
+ font-size: 11px;
448
+ color: #5a6a80;
449
+ font-family: 'JetBrains Mono', 'Consolas', monospace;
450
+ white-space: nowrap;
451
+ overflow: hidden;
452
+ text-overflow: ellipsis;
453
+ margin-top: 2px;
454
+ }
455
+
456
+ /* Badges */
457
+ .nowaikit-node-badge-active {
458
+ font-size: 10px;
459
+ font-weight: 700;
460
+ text-transform: uppercase;
461
+ letter-spacing: 0.5px;
462
+ padding: 3px 8px;
463
+ border-radius: 4px;
464
+ background: rgba(0, 212, 170, 0.15);
465
+ color: #00D4AA;
466
+ flex-shrink: 0;
467
+ }
468
+
469
+ .nowaikit-node-badge-available {
470
+ font-size: 10px;
471
+ font-weight: 500;
472
+ padding: 3px 8px;
473
+ border-radius: 4px;
474
+ background: rgba(100, 120, 150, 0.1);
475
+ color: #6b7a90;
476
+ flex-shrink: 0;
477
+ transition: background 0.15s, color 0.15s;
478
+ }
479
+
480
+ .nowaikit-node-item.nowaikit-node-selected .nowaikit-node-badge-available {
481
+ background: rgba(0, 212, 170, 0.15);
482
+ color: #00D4AA;
483
+ }
484
+
485
+ /* ── Footer with Switch button ──────────────────────────────────────────── */
486
+
487
+ .nowaikit-node-switcher-footer {
488
+ padding: 12px 14px;
489
+ border-top: 1px solid #2a3548;
490
+ text-align: center;
491
+ }
492
+
493
+ .nowaikit-node-switch-btn {
494
+ width: 100%;
495
+ padding: 10px 16px;
496
+ background: #2a3548;
497
+ border: none;
498
+ border-radius: 8px;
499
+ color: #6b7a90;
500
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
501
+ font-size: 13px;
502
+ font-weight: 600;
503
+ cursor: not-allowed;
504
+ transition: background 0.2s, color 0.2s, transform 0.1s;
505
+ }
506
+
507
+ .nowaikit-node-switch-btn:not(:disabled) {
508
+ background: linear-gradient(135deg, #00D4AA, #0F4C81);
509
+ color: #fff;
510
+ cursor: pointer;
511
+ }
512
+
513
+ .nowaikit-node-switch-btn:not(:disabled):hover {
514
+ opacity: 0.9;
515
+ }
516
+
517
+ .nowaikit-node-switch-btn:not(:disabled):active {
518
+ transform: scale(0.98);
519
+ }
520
+
521
+ .nowaikit-node-switch-btn-loading {
522
+ opacity: 0.7 !important;
523
+ cursor: wait !important;
524
+ }
525
+
526
+ .nowaikit-node-footer-hint {
527
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
528
+ font-size: 11px;
529
+ color: #4a5568;
530
+ margin-top: 8px;
531
+ }
532
+
533
+ /* Node switch trigger in info overlay */
534
+ .nowaikit-node-switch-trigger {
535
+ cursor: pointer !important;
536
+ }
537
+
538
+ .nowaikit-node-switch-trigger:hover {
539
+ text-decoration: underline;
540
+ color: #00D4AA !important;
541
+ }
542
+
543
+ /* ─── Node Switcher Light Theme ─────────────────────────────────────────── */
544
+
545
+ body.nowaikit-light .nowaikit-node-switcher {
546
+ background: rgba(255, 255, 255, 0.6);
547
+ }
548
+
549
+ body.nowaikit-light .nowaikit-node-switcher-panel {
550
+ background: #ffffff;
551
+ border-color: #d4dae3;
552
+ box-shadow: 0 8px 32px rgba(0, 0, 0, 0.15);
553
+ }
554
+
555
+ body.nowaikit-light .nowaikit-node-switcher-header {
556
+ background: linear-gradient(135deg, #0F4C81 0%, rgba(0, 212, 170, 0.15) 100%);
557
+ border-bottom-color: #d4dae3;
558
+ }
559
+
560
+ body.nowaikit-light .nowaikit-node-item:hover {
561
+ background: rgba(10, 125, 100, 0.05);
562
+ }
563
+
564
+ body.nowaikit-light .nowaikit-node-item.nowaikit-node-selected {
565
+ background: rgba(10, 125, 100, 0.08);
566
+ border-color: #0a7d64;
567
+ }
568
+
569
+ body.nowaikit-light .nowaikit-node-item.nowaikit-node-current {
570
+ background: rgba(10, 125, 100, 0.04);
571
+ border-color: rgba(10, 125, 100, 0.15);
572
+ }
573
+
574
+ body.nowaikit-light .nowaikit-node-radio {
575
+ border-color: #b0b8c8;
576
+ }
577
+
578
+ body.nowaikit-light .nowaikit-node-item.nowaikit-node-current .nowaikit-node-radio,
579
+ body.nowaikit-light .nowaikit-node-item.nowaikit-node-selected .nowaikit-node-radio {
580
+ border-color: #0a7d64;
581
+ }
582
+
583
+ body.nowaikit-light .nowaikit-node-item.nowaikit-node-current .nowaikit-node-radio-dot,
584
+ body.nowaikit-light .nowaikit-node-item.nowaikit-node-selected .nowaikit-node-radio-dot {
585
+ background: #0a7d64;
586
+ }
587
+
588
+ body.nowaikit-light .nowaikit-node-name {
589
+ color: #2e3440;
590
+ }
591
+
592
+ body.nowaikit-light .nowaikit-node-full-id {
593
+ color: #7a849a;
594
+ }
595
+
596
+ body.nowaikit-light .nowaikit-node-badge-active {
597
+ background: rgba(10, 125, 100, 0.1);
598
+ color: #0a7d64;
599
+ }
600
+
601
+ body.nowaikit-light .nowaikit-node-badge-available {
602
+ background: rgba(100, 120, 150, 0.08);
603
+ color: #7a849a;
604
+ }
605
+
606
+ body.nowaikit-light .nowaikit-node-item.nowaikit-node-selected .nowaikit-node-badge-available {
607
+ background: rgba(10, 125, 100, 0.1);
608
+ color: #0a7d64;
609
+ }
610
+
611
+ body.nowaikit-light .nowaikit-node-switcher-footer {
612
+ border-top-color: #d4dae3;
613
+ }
614
+
615
+ body.nowaikit-light .nowaikit-node-switch-btn {
616
+ background: #e8ecf0;
617
+ color: #7a849a;
618
+ }
619
+
620
+ body.nowaikit-light .nowaikit-node-switch-btn:not(:disabled) {
621
+ background: linear-gradient(135deg, #00D4AA, #0F4C81);
622
+ color: #fff;
623
+ }
624
+
625
+ body.nowaikit-light .nowaikit-node-footer-hint {
626
+ color: #9aa0b0;
627
+ }
628
+
629
+ /* ─── 3B. Script Syntax Highlighting ─────────────────────────────────────── */
630
+
631
+ .nowaikit-script-overlay {
632
+ position: absolute;
633
+ top: 0;
634
+ left: 0;
635
+ right: 0;
636
+ bottom: 0;
637
+ pointer-events: none;
638
+ overflow: hidden;
639
+ z-index: 5;
640
+ }
641
+
642
+ .nowaikit-textarea-overlay {
643
+ overflow: auto;
644
+ }
645
+
646
+ .nowaikit-script-pre {
647
+ margin: 0;
648
+ padding: 4px;
649
+ font-family: 'JetBrains Mono', 'Fira Code', 'Consolas', 'Monaco', monospace;
650
+ font-size: inherit;
651
+ line-height: inherit;
652
+ white-space: pre-wrap;
653
+ word-wrap: break-word;
654
+ color: transparent;
655
+ background: transparent;
656
+ }
657
+
658
+ /* JavaScript keywords: purple/violet */
659
+ .nowaikit-keyword {
660
+ color: #c678dd;
661
+ font-weight: 500;
662
+ }
663
+
664
+ /* ServiceNow-specific APIs: teal/accent — distinct from regular keywords */
665
+ .nowaikit-sn-api {
666
+ color: #00D4AA;
667
+ font-weight: 600;
668
+ }
669
+
670
+ /* String literals: warm green */
671
+ .nowaikit-string {
672
+ color: #98c379;
673
+ }
674
+
675
+ /* Comments: muted gray */
676
+ .nowaikit-comment {
677
+ color: #5c6370;
678
+ font-style: italic;
679
+ }
680
+
681
+ /* Number literals: orange */
682
+ .nowaikit-number {
683
+ color: #d19a66;
684
+ }
685
+
686
+ /* ─── 3E. Theme-Aware Overrides ──────────────────────────────────────────── */
687
+
688
+ /*
689
+ * Light theme — applied when body has .nowaikit-light
690
+ * Adjusts all injected UI for bright ServiceNow backgrounds (Polaris light).
691
+ */
692
+
693
+ /* Info Overlay — light variant */
694
+ body.nowaikit-light #nowaikit-info-overlay {
695
+ background: #ffffff;
696
+ border-color: #d4dae3;
697
+ color: #3b4252;
698
+ box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
699
+ }
700
+
701
+ body.nowaikit-light .nowaikit-info-label {
702
+ color: #7a849a;
703
+ }
704
+
705
+ body.nowaikit-light .nowaikit-info-value {
706
+ color: #2e3440;
707
+ }
708
+
709
+ body.nowaikit-light .nowaikit-clickable {
710
+ color: #0a7d64;
711
+ }
712
+
713
+ body.nowaikit-light .nowaikit-node-value {
714
+ color: #c06000;
715
+ }
716
+
717
+ /* Quick Nav — light variant */
718
+ body.nowaikit-light #nowaikit-quicknav {
719
+ background: rgba(255, 255, 255, 0.7);
720
+ }
721
+
722
+ body.nowaikit-light #nowaikit-quicknav-input {
723
+ background: #ffffff;
724
+ border-color: #0a7d64;
725
+ color: #2e3440;
726
+ box-shadow: 0 8px 32px rgba(0, 0, 0, 0.08);
727
+ }
728
+
729
+ body.nowaikit-light #nowaikit-quicknav-input::placeholder {
730
+ color: #9aa0b0;
731
+ }
732
+
733
+ /* Toast — light variant */
734
+ body.nowaikit-light .nowaikit-toast {
735
+ background: #ffffff;
736
+ color: #2e3440;
737
+ border-left-color: #0a7d64;
738
+ box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
739
+ }
740
+
741
+ body.nowaikit-light .nowaikit-toast-warn {
742
+ border-left-color: #c06000;
743
+ }
744
+
745
+ /* Technical names — light variant */
746
+ body.nowaikit-light .nowaikit-techname {
747
+ background: rgba(10, 125, 100, 0.1);
748
+ color: #0a7d64;
749
+ }
750
+
751
+ body.nowaikit-light .nowaikit-techname:hover {
752
+ background: rgba(10, 125, 100, 0.2);
753
+ }
754
+
755
+ body.nowaikit-light .nowaikit-has-tooltip {
756
+ border-bottom-color: rgba(10, 125, 100, 0.5);
757
+ }
758
+
759
+ /* Copy button — light variant */
760
+ body.nowaikit-light .nowaikit-copy-btn {
761
+ background: rgba(10, 125, 100, 0.08);
762
+ color: #0a7d64;
763
+ }
764
+
765
+ body.nowaikit-light .nowaikit-copy-btn:hover {
766
+ background: rgba(10, 125, 100, 0.18);
767
+ }
768
+
769
+ /* Field tooltip — light variant */
770
+ body.nowaikit-light .nowaikit-field-tooltip {
771
+ background: #ffffff;
772
+ border-color: #d4dae3;
773
+ color: #3b4252;
774
+ box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
775
+ }
776
+
777
+ body.nowaikit-light .nowaikit-tooltip-key {
778
+ color: #7a849a;
779
+ }
780
+
781
+ body.nowaikit-light .nowaikit-tooltip-val {
782
+ color: #2e3440;
783
+ }
784
+
785
+ /* Script highlighting — light variant */
786
+ body.nowaikit-light .nowaikit-keyword {
787
+ color: #a626a4;
788
+ }
789
+
790
+ body.nowaikit-light .nowaikit-sn-api {
791
+ color: #0a7d64;
792
+ }
793
+
794
+ body.nowaikit-light .nowaikit-string {
795
+ color: #50a14f;
796
+ }
797
+
798
+ body.nowaikit-light .nowaikit-comment {
799
+ color: #a0a1a7;
800
+ }
801
+
802
+ body.nowaikit-light .nowaikit-number {
803
+ color: #986801;
804
+ }
805
+
806
+ /* Update Set banner — same in both themes (gradient stays consistent) */
807
+
808
+ /*
809
+ * Dark theme — applied when body has .nowaikit-dark
810
+ * This is the default styling already defined above.
811
+ * Explicit .nowaikit-dark selectors are included for specificity
812
+ * in case of conflicts with ServiceNow's own dark mode styles.
813
+ */
814
+
815
+ body.nowaikit-dark #nowaikit-info-overlay {
816
+ background: #111828;
817
+ border-color: #2a3548;
818
+ color: #c8d0dc;
819
+ }
820
+
821
+ body.nowaikit-dark .nowaikit-field-tooltip {
822
+ background: #1a2234;
823
+ border-color: #2a3548;
824
+ color: #c8d0dc;
825
+ }
826
+
827
+ body.nowaikit-dark .nowaikit-toast {
828
+ background: #111828;
829
+ color: #f0f2f5;
830
+ }
831
+
832
+ body.nowaikit-dark #nowaikit-quicknav-input {
833
+ background: #111828;
834
+ color: #f0f2f5;
835
+ }
836
+
837
+ /* ═══════════════════════════════════════════════════════════════════════════
838
+ AI SIDEBAR
839
+ ═══════════════════════════════════════════════════════════════════════════ */
840
+
841
+ /* Hide info overlay when sidebar is open — prevents blocking chat */
842
+ .nowaikit-ai-sidebar.open ~ #nowaikit-info-overlay,
843
+ body:has(.nowaikit-ai-sidebar.open) #nowaikit-info-overlay {
844
+ opacity: 0 !important;
845
+ pointer-events: none !important;
846
+ transition: opacity 0.2s;
847
+ }
848
+
849
+ /* Toggle button (floating) */
850
+ .nowaikit-ai-toggle {
851
+ position: fixed;
852
+ bottom: 80px;
853
+ right: 16px;
854
+ z-index: 999996;
855
+ width: 44px;
856
+ height: 44px;
857
+ border-radius: 50%;
858
+ background: linear-gradient(135deg, #00D4AA 0%, #0F4C81 100%);
859
+ border: none;
860
+ color: #fff;
861
+ cursor: pointer;
862
+ display: flex;
863
+ align-items: center;
864
+ justify-content: center;
865
+ box-shadow: 0 4px 12px rgba(0, 212, 170, 0.3);
866
+ transition: transform 0.2s, box-shadow 0.2s;
867
+ }
868
+
869
+ .nowaikit-ai-toggle:hover {
870
+ transform: scale(1.1);
871
+ box-shadow: 0 6px 20px rgba(0, 212, 170, 0.4);
872
+ }
873
+
874
+ .nowaikit-ai-toggle.active {
875
+ background: #1e2a3e;
876
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
877
+ }
878
+
879
+ /* Sidebar panel */
880
+ .nowaikit-ai-sidebar {
881
+ position: fixed;
882
+ top: 0;
883
+ right: -480px;
884
+ width: 480px;
885
+ height: 100vh;
886
+ z-index: 9999999;
887
+ background: #0B1020;
888
+ border-left: 1px solid #1e2a3e;
889
+ box-shadow: -4px 0 20px rgba(0, 0, 0, 0.4);
890
+ display: flex;
891
+ flex-direction: column;
892
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
893
+ font-size: 13px;
894
+ color: #e0e5ec;
895
+ transition: right 0.3s ease, width 0s, top 0s, height 0s;
896
+ }
897
+
898
+ .nowaikit-ai-sidebar.open {
899
+ right: 0;
900
+ }
901
+
902
+ /* Resize handle (left edge) */
903
+ .nowaikit-ai-resize-handle {
904
+ position: absolute;
905
+ top: 0;
906
+ left: -3px;
907
+ width: 6px;
908
+ height: 100%;
909
+ cursor: ew-resize;
910
+ z-index: 10;
911
+ }
912
+ .nowaikit-ai-resize-handle:hover,
913
+ .nowaikit-ai-resize-handle.active {
914
+ background: rgba(0, 212, 170, 0.3);
915
+ }
916
+
917
+ /* Floating mode */
918
+ .nowaikit-ai-sidebar.floating {
919
+ top: 60px;
920
+ right: 40px;
921
+ width: 520px;
922
+ height: 70vh;
923
+ border-radius: 12px;
924
+ border: 1px solid #1e2a3e;
925
+ box-shadow: 0 12px 40px rgba(0, 0, 0, 0.6);
926
+ resize: both;
927
+ overflow: hidden;
928
+ min-width: 360px;
929
+ min-height: 300px;
930
+ }
931
+ .nowaikit-ai-sidebar.floating .nowaikit-ai-header {
932
+ cursor: grab;
933
+ border-radius: 12px 12px 0 0;
934
+ }
935
+ .nowaikit-ai-sidebar.floating .nowaikit-ai-header:active {
936
+ cursor: grabbing;
937
+ }
938
+ .nowaikit-ai-sidebar.floating .nowaikit-ai-resize-handle {
939
+ display: none;
940
+ }
941
+
942
+ /* Header */
943
+ .nowaikit-ai-header {
944
+ display: flex;
945
+ align-items: center;
946
+ justify-content: space-between;
947
+ padding: 14px 16px;
948
+ background: linear-gradient(135deg, #0a2e5c 0%, #065f50 100%);
949
+ border-bottom: 1px solid #1e2a3e;
950
+ flex-shrink: 0;
951
+ }
952
+
953
+ .nowaikit-ai-header-left {
954
+ display: flex;
955
+ align-items: center;
956
+ gap: 8px;
957
+ color: #00D4AA;
958
+ }
959
+
960
+ .nowaikit-ai-title {
961
+ font-weight: 800;
962
+ font-size: 16px;
963
+ letter-spacing: -0.02em;
964
+ -webkit-text-fill-color: initial;
965
+ }
966
+
967
+ .nk-ai-logo-now { background:linear-gradient(135deg,#fff 0%,#B8C4D4 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text; }
968
+ .nk-ai-logo-ai { background:linear-gradient(90deg,#00F0C0,#00D4AA,#0F4C81,#00D4AA,#00F0C0);background-size:300% 100%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:nowaikit-logo-shimmer 4s ease-in-out infinite; }
969
+ .nk-ai-logo-kit { background:linear-gradient(135deg,#A0AEBE 0%,#6B7A8E 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text; }
970
+ .nk-ai-logo-suffix { font-weight:400;font-size:0.75em;-webkit-text-fill-color:rgba(255,255,255,0.5);letter-spacing:0.04em; }
971
+
972
+ @keyframes nowaikit-logo-shimmer {
973
+ 0% { background-position: 0% 50%; }
974
+ 50% { background-position: 100% 50%; }
975
+ 100% { background-position: 0% 50%; }
976
+ }
977
+
978
+ /* Welcome screen branded text */
979
+ .nowaikit-ai-welcome-title { font-weight:800;letter-spacing:-0.02em; }
980
+ .nowaikit-ai-welcome-title .nk-ai-logo-suffix { font-size:0.65em; }
981
+
982
+ .nowaikit-ai-header-actions {
983
+ display: flex;
984
+ gap: 4px;
985
+ }
986
+
987
+ .nowaikit-ai-bridge-status {
988
+ display: flex;
989
+ align-items: center;
990
+ padding: 4px 16px 6px;
991
+ border-bottom: 1px solid #1e2a3e;
992
+ background: #0e1726;
993
+ }
994
+
995
+ .nowaikit-ai-btn-icon {
996
+ width: 32px;
997
+ height: 32px;
998
+ border: none;
999
+ background: transparent;
1000
+ color: #6b7a90;
1001
+ cursor: pointer;
1002
+ border-radius: 6px;
1003
+ display: flex;
1004
+ align-items: center;
1005
+ justify-content: center;
1006
+ transition: background 0.2s, color 0.2s;
1007
+ }
1008
+
1009
+ .nowaikit-ai-btn-icon:hover {
1010
+ background: #1e2a3e;
1011
+ color: #e0e5ec;
1012
+ }
1013
+
1014
+ /* Settings panel */
1015
+ .nowaikit-ai-settings-panel {
1016
+ padding: 16px;
1017
+ background: #111828;
1018
+ border-bottom: 1px solid #1e2a3e;
1019
+ flex-shrink: 0;
1020
+ }
1021
+
1022
+ .nowaikit-ai-setting-group {
1023
+ margin-bottom: 12px;
1024
+ }
1025
+
1026
+ .nowaikit-ai-label {
1027
+ display: block;
1028
+ font-size: 11px;
1029
+ font-weight: 600;
1030
+ color: #6b7a90;
1031
+ text-transform: uppercase;
1032
+ letter-spacing: 0.5px;
1033
+ margin-bottom: 4px;
1034
+ }
1035
+
1036
+ .nowaikit-ai-select,
1037
+ .nowaikit-ai-input {
1038
+ width: 100%;
1039
+ padding: 8px 10px;
1040
+ background: #0B1020;
1041
+ border: 1px solid #1e2a3e;
1042
+ border-radius: 6px;
1043
+ color: #e0e5ec;
1044
+ font-size: 13px;
1045
+ font-family: inherit;
1046
+ outline: none;
1047
+ transition: border-color 0.2s;
1048
+ }
1049
+
1050
+ .nowaikit-ai-select:focus,
1051
+ .nowaikit-ai-input:focus {
1052
+ border-color: #00D4AA;
1053
+ }
1054
+
1055
+ .nowaikit-ai-save-btn {
1056
+ width: 100%;
1057
+ padding: 8px;
1058
+ background: linear-gradient(135deg, #00D4AA, #0F4C81);
1059
+ border: none;
1060
+ border-radius: 6px;
1061
+ color: #fff;
1062
+ font-size: 13px;
1063
+ font-weight: 600;
1064
+ cursor: pointer;
1065
+ transition: opacity 0.2s;
1066
+ }
1067
+
1068
+ .nowaikit-ai-save-btn:hover {
1069
+ opacity: 0.9;
1070
+ }
1071
+
1072
+ /* Messages area */
1073
+ .nowaikit-ai-messages {
1074
+ flex: 1;
1075
+ overflow-y: auto;
1076
+ padding: 16px;
1077
+ display: flex;
1078
+ flex-direction: column;
1079
+ gap: 12px;
1080
+ }
1081
+
1082
+ .nowaikit-ai-messages::-webkit-scrollbar {
1083
+ width: 6px;
1084
+ }
1085
+
1086
+ .nowaikit-ai-messages::-webkit-scrollbar-track {
1087
+ background: transparent;
1088
+ }
1089
+
1090
+ .nowaikit-ai-messages::-webkit-scrollbar-thumb {
1091
+ background: #2a3548;
1092
+ border-radius: 3px;
1093
+ }
1094
+
1095
+ /* Welcome screen */
1096
+ .nowaikit-ai-welcome {
1097
+ display: flex;
1098
+ flex-direction: column;
1099
+ align-items: center;
1100
+ justify-content: center;
1101
+ text-align: center;
1102
+ padding: 40px 20px;
1103
+ flex: 1;
1104
+ }
1105
+
1106
+ .nowaikit-ai-welcome-icon {
1107
+ margin-bottom: 16px;
1108
+ }
1109
+
1110
+ .nowaikit-ai-welcome-title {
1111
+ font-size: 18px;
1112
+ font-weight: 700;
1113
+ background: linear-gradient(135deg, #00D4AA, #0F4C81);
1114
+ -webkit-background-clip: text;
1115
+ -webkit-text-fill-color: transparent;
1116
+ margin-bottom: 8px;
1117
+ }
1118
+
1119
+ .nowaikit-ai-welcome-sub {
1120
+ font-size: 13px;
1121
+ color: #6b7a90;
1122
+ line-height: 1.5;
1123
+ max-width: 280px;
1124
+ }
1125
+
1126
+ .nowaikit-ai-welcome-hint {
1127
+ font-size: 11px;
1128
+ color: #4a5568;
1129
+ margin-top: 16px;
1130
+ padding: 8px 12px;
1131
+ background: rgba(0, 212, 170, 0.05);
1132
+ border-radius: 6px;
1133
+ border: 1px solid rgba(0, 212, 170, 0.1);
1134
+ }
1135
+
1136
+ /* Message bubbles */
1137
+ .nowaikit-ai-message {
1138
+ display: flex;
1139
+ gap: 10px;
1140
+ align-items: flex-start;
1141
+ }
1142
+
1143
+ .nowaikit-ai-avatar {
1144
+ width: 28px;
1145
+ height: 28px;
1146
+ border-radius: 50%;
1147
+ display: flex;
1148
+ align-items: center;
1149
+ justify-content: center;
1150
+ font-size: 12px;
1151
+ font-weight: 700;
1152
+ flex-shrink: 0;
1153
+ }
1154
+
1155
+ .nowaikit-ai-avatar-user {
1156
+ background: #1e2a3e;
1157
+ color: #e0e5ec;
1158
+ }
1159
+
1160
+ .nowaikit-ai-avatar-ai {
1161
+ background: linear-gradient(135deg, #00D4AA, #0F4C81);
1162
+ color: #fff;
1163
+ }
1164
+
1165
+ .nowaikit-ai-message-content {
1166
+ flex: 1;
1167
+ background: #111828;
1168
+ border: 1px solid #1e2a3e;
1169
+ border-radius: 10px;
1170
+ padding: 10px 14px;
1171
+ font-size: 13px;
1172
+ line-height: 1.6;
1173
+ color: #e0e5ec;
1174
+ overflow-wrap: break-word;
1175
+ word-break: break-word;
1176
+ }
1177
+
1178
+ .nowaikit-ai-message-user .nowaikit-ai-message-content {
1179
+ background: rgba(0, 212, 170, 0.08);
1180
+ border-color: rgba(0, 212, 170, 0.15);
1181
+ }
1182
+
1183
+ .nowaikit-ai-message-content code {
1184
+ font-family: 'JetBrains Mono', 'Fira Code', monospace;
1185
+ font-size: 12px;
1186
+ background: #0B1020;
1187
+ padding: 1px 5px;
1188
+ border-radius: 3px;
1189
+ color: #00D4AA;
1190
+ }
1191
+
1192
+ .nowaikit-ai-message-content pre {
1193
+ background: #0B1020;
1194
+ border: 1px solid #1e2a3e;
1195
+ border-radius: 6px;
1196
+ padding: 12px;
1197
+ margin: 8px 0;
1198
+ overflow-x: auto;
1199
+ position: relative;
1200
+ }
1201
+
1202
+ .nowaikit-ai-message-content pre code {
1203
+ background: none;
1204
+ padding: 0;
1205
+ font-size: 12px;
1206
+ line-height: 1.5;
1207
+ color: #e0e5ec;
1208
+ }
1209
+
1210
+ .nowaikit-ai-message-content strong {
1211
+ color: #fff;
1212
+ }
1213
+
1214
+ .nowaikit-ai-message-content h3, .nowaikit-ai-message-content h4 {
1215
+ color: #fff;
1216
+ margin: 8px 0 4px;
1217
+ }
1218
+
1219
+ .nowaikit-ai-message-content ul, .nowaikit-ai-message-content ol {
1220
+ padding-left: 20px;
1221
+ margin: 4px 0;
1222
+ }
1223
+
1224
+ .nowaikit-ai-message-content li {
1225
+ margin-bottom: 2px;
1226
+ }
1227
+
1228
+ .nowaikit-ai-error .nowaikit-ai-message-content {
1229
+ border-color: #ff6b6b;
1230
+ color: #ff8787;
1231
+ }
1232
+
1233
+ /* Code action buttons */
1234
+ .nowaikit-ai-code-actions {
1235
+ display: flex;
1236
+ gap: 6px;
1237
+ margin-bottom: 8px;
1238
+ }
1239
+
1240
+ .nowaikit-ai-copy-code-btn,
1241
+ .nowaikit-ai-insert-btn {
1242
+ padding: 4px 10px;
1243
+ font-size: 11px;
1244
+ font-weight: 500;
1245
+ border: 1px solid #1e2a3e;
1246
+ border-radius: 4px;
1247
+ cursor: pointer;
1248
+ transition: all 0.2s;
1249
+ font-family: inherit;
1250
+ }
1251
+
1252
+ .nowaikit-ai-copy-code-btn {
1253
+ background: transparent;
1254
+ color: #6b7a90;
1255
+ }
1256
+
1257
+ .nowaikit-ai-copy-code-btn:hover {
1258
+ background: #1e2a3e;
1259
+ color: #e0e5ec;
1260
+ }
1261
+
1262
+ .nowaikit-ai-insert-btn {
1263
+ background: rgba(0, 212, 170, 0.1);
1264
+ color: #00D4AA;
1265
+ border-color: rgba(0, 212, 170, 0.2);
1266
+ }
1267
+
1268
+ .nowaikit-ai-insert-btn:hover {
1269
+ background: rgba(0, 212, 170, 0.2);
1270
+ }
1271
+
1272
+ /* Typing indicator */
1273
+ .nowaikit-ai-typing {
1274
+ color: #6b7a90;
1275
+ font-style: italic;
1276
+ }
1277
+
1278
+ .nowaikit-ai-cursor {
1279
+ animation: nowaikit-ai-blink 1s step-end infinite;
1280
+ color: #00D4AA;
1281
+ }
1282
+
1283
+ @keyframes nowaikit-ai-blink {
1284
+ 0%, 50% { opacity: 1; }
1285
+ 51%, 100% { opacity: 0; }
1286
+ }
1287
+
1288
+ /* Quick actions bar */
1289
+ .nowaikit-ai-quick-actions {
1290
+ display: flex;
1291
+ gap: 6px;
1292
+ padding: 10px 16px;
1293
+ border-top: 1px solid #1e2a3e;
1294
+ overflow-x: auto;
1295
+ flex-shrink: 0;
1296
+ }
1297
+
1298
+ .nowaikit-ai-quick-actions::-webkit-scrollbar {
1299
+ height: 0;
1300
+ }
1301
+
1302
+ .nowaikit-ai-quick-btn {
1303
+ display: flex;
1304
+ align-items: center;
1305
+ gap: 4px;
1306
+ padding: 6px 10px;
1307
+ background: #111828;
1308
+ border: 1px solid #1e2a3e;
1309
+ border-radius: 16px;
1310
+ color: #6b7a90;
1311
+ font-size: 11px;
1312
+ font-family: inherit;
1313
+ cursor: pointer;
1314
+ white-space: nowrap;
1315
+ transition: all 0.2s;
1316
+ }
1317
+
1318
+ .nowaikit-ai-quick-btn:hover {
1319
+ background: rgba(0, 212, 170, 0.08);
1320
+ border-color: rgba(0, 212, 170, 0.2);
1321
+ color: #00D4AA;
1322
+ }
1323
+
1324
+ .nowaikit-ai-quick-icon {
1325
+ font-size: 13px;
1326
+ }
1327
+
1328
+ /* Input area */
1329
+ .nowaikit-ai-input-area {
1330
+ padding: 12px 16px;
1331
+ border-top: 1px solid #1e2a3e;
1332
+ background: #111828;
1333
+ flex-shrink: 0;
1334
+ }
1335
+
1336
+ .nowaikit-ai-input-wrapper {
1337
+ display: flex;
1338
+ align-items: flex-end;
1339
+ gap: 8px;
1340
+ background: #0B1020;
1341
+ border: 1px solid #1e2a3e;
1342
+ border-radius: 10px;
1343
+ padding: 8px 12px;
1344
+ transition: border-color 0.2s;
1345
+ }
1346
+
1347
+ .nowaikit-ai-input-wrapper:focus-within {
1348
+ border-color: #00D4AA;
1349
+ }
1350
+
1351
+ .nowaikit-ai-chat-input {
1352
+ flex: 1;
1353
+ background: transparent;
1354
+ border: none;
1355
+ color: #e0e5ec;
1356
+ font-size: 13px;
1357
+ font-family: inherit;
1358
+ line-height: 1.4;
1359
+ resize: none;
1360
+ outline: none;
1361
+ max-height: 120px;
1362
+ }
1363
+
1364
+ .nowaikit-ai-chat-input::placeholder {
1365
+ color: #4a5568;
1366
+ }
1367
+
1368
+ .nowaikit-ai-send-btn {
1369
+ width: 32px;
1370
+ height: 32px;
1371
+ border: none;
1372
+ background: linear-gradient(135deg, #00D4AA, #0F4C81);
1373
+ border-radius: 8px;
1374
+ color: #fff;
1375
+ cursor: pointer;
1376
+ display: flex;
1377
+ align-items: center;
1378
+ justify-content: center;
1379
+ flex-shrink: 0;
1380
+ transition: opacity 0.2s;
1381
+ }
1382
+
1383
+ .nowaikit-ai-send-btn:hover {
1384
+ opacity: 0.85;
1385
+ }
1386
+
1387
+ .nowaikit-ai-send-btn:disabled {
1388
+ opacity: 0.5;
1389
+ cursor: not-allowed;
1390
+ }
1391
+
1392
+ .nowaikit-ai-input-hint {
1393
+ font-size: 10px;
1394
+ color: #4a5568;
1395
+ text-align: center;
1396
+ margin-top: 6px;
1397
+ }
1398
+
1399
+ /* Light theme overrides */
1400
+ body.nowaikit-light .nowaikit-ai-sidebar {
1401
+ background: #ffffff;
1402
+ border-left-color: #e2e8f0;
1403
+ color: #1a202c;
1404
+ }
1405
+
1406
+ body.nowaikit-light .nowaikit-ai-header {
1407
+ background: linear-gradient(135deg, #0a2e5c 0%, #065f50 100%);
1408
+ border-bottom-color: #1e2a3e;
1409
+ }
1410
+
1411
+ body.nowaikit-light .nowaikit-ai-header-left {
1412
+ color: #fff;
1413
+ }
1414
+
1415
+ body.nowaikit-light .nowaikit-ai-title {
1416
+ -webkit-text-fill-color: initial;
1417
+ }
1418
+ body.nowaikit-light .nk-ai-logo-now { background:linear-gradient(135deg,#fff 0%,#dde4ec 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent; }
1419
+ body.nowaikit-light .nk-ai-logo-kit { background:linear-gradient(135deg,#c8d0dc 0%,#a0aebe 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent; }
1420
+ body.nowaikit-light .nk-ai-logo-suffix { -webkit-text-fill-color:rgba(255,255,255,0.55); }
1421
+
1422
+ body.nowaikit-light .nowaikit-ai-header-actions .nowaikit-ai-btn-icon {
1423
+ color: rgba(255,255,255,0.7);
1424
+ }
1425
+
1426
+ body.nowaikit-light .nowaikit-ai-header-actions .nowaikit-ai-btn-icon:hover {
1427
+ background: rgba(255,255,255,0.2);
1428
+ color: #fff;
1429
+ }
1430
+
1431
+ body.nowaikit-light .nowaikit-ai-bridge-status {
1432
+ background: #f1f5f9;
1433
+ border-bottom-color: #e2e8f0;
1434
+ }
1435
+
1436
+ body.nowaikit-light .nowaikit-ai-message-content {
1437
+ background: #f8fafc;
1438
+ border-color: #e2e8f0;
1439
+ color: #1a202c;
1440
+ }
1441
+
1442
+ body.nowaikit-light .nowaikit-ai-message-user .nowaikit-ai-message-content {
1443
+ background: rgba(0, 212, 170, 0.06);
1444
+ border-color: rgba(0, 212, 170, 0.12);
1445
+ }
1446
+
1447
+ body.nowaikit-light .nowaikit-ai-message-content pre {
1448
+ background: #f1f5f9;
1449
+ border-color: #e2e8f0;
1450
+ }
1451
+
1452
+ body.nowaikit-light .nowaikit-ai-message-content pre code {
1453
+ color: #1a202c;
1454
+ }
1455
+
1456
+ body.nowaikit-light .nowaikit-ai-message-content code {
1457
+ background: #f1f5f9;
1458
+ color: #0D9488;
1459
+ }
1460
+
1461
+ body.nowaikit-light .nowaikit-ai-message-content strong {
1462
+ color: #1a202c;
1463
+ }
1464
+
1465
+ body.nowaikit-light .nowaikit-ai-message-content h3,
1466
+ body.nowaikit-light .nowaikit-ai-message-content h4 {
1467
+ color: #1a202c;
1468
+ }
1469
+
1470
+ body.nowaikit-light .nowaikit-ai-message-content li {
1471
+ color: #334155;
1472
+ }
1473
+
1474
+ body.nowaikit-light .nowaikit-ai-avatar-user {
1475
+ background: #e2e8f0;
1476
+ color: #1a202c;
1477
+ }
1478
+
1479
+ body.nowaikit-light .nowaikit-ai-copy-code-btn {
1480
+ color: #64748b;
1481
+ border-color: #e2e8f0;
1482
+ }
1483
+
1484
+ body.nowaikit-light .nowaikit-ai-copy-code-btn:hover {
1485
+ background: #e2e8f0;
1486
+ color: #1a202c;
1487
+ }
1488
+
1489
+ body.nowaikit-light .nowaikit-ai-insert-btn {
1490
+ background: rgba(13, 148, 136, 0.08);
1491
+ color: #0D9488;
1492
+ border-color: rgba(13, 148, 136, 0.2);
1493
+ }
1494
+
1495
+ body.nowaikit-light .nowaikit-ai-label {
1496
+ color: #64748b;
1497
+ }
1498
+
1499
+ body.nowaikit-light .nowaikit-ai-typing {
1500
+ color: #94a3b8;
1501
+ }
1502
+
1503
+ body.nowaikit-light .nowaikit-ai-input-hint {
1504
+ color: #94a3b8;
1505
+ }
1506
+
1507
+ body.nowaikit-light .nowaikit-ai-welcome-hint {
1508
+ color: #64748b;
1509
+ background: rgba(13, 148, 136, 0.04);
1510
+ border-color: rgba(13, 148, 136, 0.1);
1511
+ }
1512
+
1513
+ body.nowaikit-light .nowaikit-ai-error .nowaikit-ai-message-content {
1514
+ border-color: #f87171;
1515
+ color: #dc2626;
1516
+ }
1517
+
1518
+ body.nowaikit-light .nowaikit-ai-chat-input {
1519
+ color: #1a202c;
1520
+ }
1521
+
1522
+ body.nowaikit-light .nowaikit-ai-input-wrapper {
1523
+ background: #f8fafc;
1524
+ border-color: #e2e8f0;
1525
+ }
1526
+
1527
+ body.nowaikit-light .nowaikit-ai-input-area {
1528
+ background: #f8fafc;
1529
+ border-top-color: #e2e8f0;
1530
+ }
1531
+
1532
+ body.nowaikit-light .nowaikit-ai-settings-panel {
1533
+ background: #f8fafc;
1534
+ border-bottom-color: #e2e8f0;
1535
+ }
1536
+
1537
+ body.nowaikit-light .nowaikit-ai-select,
1538
+ body.nowaikit-light .nowaikit-ai-input {
1539
+ background: #ffffff;
1540
+ border-color: #e2e8f0;
1541
+ color: #1a202c;
1542
+ }
1543
+
1544
+ body.nowaikit-light .nowaikit-ai-quick-btn {
1545
+ background: #f8fafc;
1546
+ border-color: #e2e8f0;
1547
+ color: #64748b;
1548
+ }
1549
+
1550
+ body.nowaikit-light .nowaikit-ai-quick-btn:hover {
1551
+ background: rgba(0, 212, 170, 0.06);
1552
+ color: #0D9488;
1553
+ }
1554
+
1555
+ body.nowaikit-light .nowaikit-ai-btn-icon {
1556
+ color: #94a3b8;
1557
+ }
1558
+
1559
+ body.nowaikit-light .nowaikit-ai-btn-icon:hover {
1560
+ background: #e2e8f0;
1561
+ color: #1a202c;
1562
+ }
1563
+
1564
+ body.nowaikit-light .nowaikit-ai-welcome-sub {
1565
+ color: #64748b;
1566
+ }
1567
+
1568
+ body.nowaikit-light .nowaikit-ai-messages::-webkit-scrollbar-thumb {
1569
+ background: #cbd5e1;
1570
+ }
1571
+
1572
+ body.nowaikit-light .nowaikit-ai-quick-actions {
1573
+ border-top-color: #e2e8f0;
1574
+ }
1575
+
1576
+ body.nowaikit-light .nowaikit-ai-chat-input::placeholder {
1577
+ color: #94a3b8;
1578
+ }
1579
+
1580
+ body.nowaikit-light .nowaikit-ai-toggle.active {
1581
+ background: #e2e8f0;
1582
+ }
1583
+
1584
+ /* Theme toggle button active state */
1585
+ .nowaikit-ai-btn-icon.nowaikit-ai-theme-active {
1586
+ color: #00D4AA;
1587
+ }
1588
+
1589
+ body.nowaikit-light .nowaikit-ai-btn-icon.nowaikit-ai-theme-active {
1590
+ color: #0D9488;
1591
+ }
1592
+
1593
+ /* Responsive: narrower screens */
1594
+ @media (max-width: 520px) {
1595
+ .nowaikit-ai-sidebar {
1596
+ width: 100vw;
1597
+ right: -100vw;
1598
+ }
1599
+ .nowaikit-ai-sidebar.open {
1600
+ right: 0;
1601
+ }
1602
+ .nowaikit-ai-sidebar.floating {
1603
+ top: 0;
1604
+ right: 0;
1605
+ width: 100vw;
1606
+ height: 100vh;
1607
+ border-radius: 0;
1608
+ }
1609
+ }