aizek-chatbot 1.0.29 → 1.0.30

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/index.css ADDED
@@ -0,0 +1,1852 @@
1
+ @charset "UTF-8";
2
+
3
+ /* src/styles/index.scss */
4
+ .message-container {
5
+ display: flex;
6
+ flex-direction: column;
7
+ width: 100%;
8
+ }
9
+ .message-container.user {
10
+ align-items: flex-end;
11
+ }
12
+ .message-container.assistant {
13
+ align-items: flex-start;
14
+ }
15
+ .message-bubble {
16
+ max-width: 80%;
17
+ padding: 12px 16px;
18
+ margin-bottom: 8px;
19
+ word-wrap: break-word;
20
+ line-height: 1.4;
21
+ font-size: 14px;
22
+ position: relative;
23
+ }
24
+ .message-bubble.user {
25
+ border-radius: 18px 18px 4px 18px;
26
+ background:
27
+ linear-gradient(
28
+ 135deg,
29
+ #667eea 0%,
30
+ #764ba2 100%);
31
+ color: #ffffff;
32
+ margin-left: auto;
33
+ margin-right: 0;
34
+ }
35
+ .message-bubble.assistant {
36
+ border-radius: 18px 18px 18px 4px;
37
+ background: #f8fafc;
38
+ color: #334155;
39
+ border: 1px solid #e2e8f0;
40
+ margin-left: 0;
41
+ margin-right: auto;
42
+ }
43
+ .message-bubble .message-typing-indicator {
44
+ display: inline-flex;
45
+ align-items: center;
46
+ margin-left: 8px;
47
+ }
48
+ .message-time {
49
+ font-size: 11px;
50
+ opacity: 0.7;
51
+ margin-top: 4px;
52
+ }
53
+ .message-time.user {
54
+ text-align: right;
55
+ }
56
+ .message-time.assistant {
57
+ text-align: left;
58
+ }
59
+ .markdown-content {
60
+ line-height: 1.6;
61
+ word-break: break-word;
62
+ }
63
+ .markdown-content + .generative-ui-container {
64
+ margin-top: 16px;
65
+ }
66
+ .markdown-content p {
67
+ margin: 0 0 12px 0;
68
+ line-height: 1.6;
69
+ }
70
+ .markdown-content p:last-child {
71
+ margin-bottom: 0;
72
+ }
73
+ .markdown-content p:first-child {
74
+ margin-top: 0;
75
+ }
76
+ .markdown-content a {
77
+ color: #667eea;
78
+ text-decoration: none;
79
+ transition: all 0.15s ease;
80
+ font-weight: 500;
81
+ border-bottom: 1px solid transparent;
82
+ }
83
+ .markdown-content a:hover {
84
+ color: #764ba2;
85
+ border-bottom-color: #764ba2;
86
+ }
87
+ .markdown-content ul,
88
+ .markdown-content ol {
89
+ margin: 12px 0;
90
+ padding-left: 20px;
91
+ }
92
+ .markdown-content ul {
93
+ list-style: none;
94
+ padding-left: 0;
95
+ }
96
+ .markdown-content ol {
97
+ list-style: decimal;
98
+ }
99
+ .markdown-content li {
100
+ margin-bottom: 8px;
101
+ line-height: 1.6;
102
+ position: relative;
103
+ padding-left: 20px;
104
+ }
105
+ .markdown-content li:last-child {
106
+ margin-bottom: 0;
107
+ }
108
+ .markdown-content li::before {
109
+ content: "\2022";
110
+ position: absolute;
111
+ left: 0;
112
+ color: #667eea;
113
+ font-weight: bold;
114
+ font-size: 16px;
115
+ }
116
+ .markdown-content li ul,
117
+ .markdown-content li ol {
118
+ margin-top: 4px;
119
+ margin-bottom: 4px;
120
+ }
121
+ .markdown-content ol li {
122
+ padding-left: 0;
123
+ }
124
+ .markdown-content ol li::before {
125
+ content: none;
126
+ }
127
+ .markdown-content code {
128
+ background: rgba(102, 126, 234, 0.1);
129
+ color: #764ba2;
130
+ padding: 2px 6px;
131
+ border-radius: 4px;
132
+ font-family:
133
+ "Monaco",
134
+ "Menlo",
135
+ "Ubuntu Mono",
136
+ "Courier New",
137
+ monospace;
138
+ font-size: 0.9em;
139
+ border: 1px solid rgba(102, 126, 234, 0.2);
140
+ }
141
+ .markdown-content pre {
142
+ background: #f8fafc;
143
+ padding: 12px 16px;
144
+ border-radius: 8px;
145
+ overflow-x: auto;
146
+ margin: 12px 0;
147
+ border: 1px solid #e2e8f0;
148
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
149
+ }
150
+ .markdown-content pre code {
151
+ background: none;
152
+ padding: 0;
153
+ border: none;
154
+ color: #1e293b;
155
+ font-size: 12px;
156
+ line-height: 1.5;
157
+ }
158
+ .markdown-content strong,
159
+ .markdown-content b {
160
+ font-weight: 600;
161
+ color: inherit;
162
+ }
163
+ .markdown-content em,
164
+ .markdown-content i {
165
+ font-style: italic;
166
+ }
167
+ .markdown-content h1,
168
+ .markdown-content h2,
169
+ .markdown-content h3,
170
+ .markdown-content h4,
171
+ .markdown-content h5,
172
+ .markdown-content h6 {
173
+ margin: 16px 0 8px 0;
174
+ font-weight: 600;
175
+ line-height: 1.4;
176
+ color: inherit;
177
+ }
178
+ .markdown-content h1:first-child,
179
+ .markdown-content h2:first-child,
180
+ .markdown-content h3:first-child,
181
+ .markdown-content h4:first-child,
182
+ .markdown-content h5:first-child,
183
+ .markdown-content h6:first-child {
184
+ margin-top: 0;
185
+ }
186
+ .markdown-content h1 {
187
+ font-size: 18px;
188
+ border-bottom: 2px solid #e2e8f0;
189
+ padding-bottom: 8px;
190
+ }
191
+ .markdown-content h2 {
192
+ font-size: 16px;
193
+ }
194
+ .markdown-content h3 {
195
+ font-size: 15px;
196
+ }
197
+ .markdown-content h4,
198
+ .markdown-content h5,
199
+ .markdown-content h6 {
200
+ font-size: 14px;
201
+ }
202
+ .markdown-content blockquote {
203
+ border-left: 3px solid #667eea;
204
+ padding-left: 12px;
205
+ margin: 12px 0;
206
+ color: inherit;
207
+ opacity: 0.9;
208
+ font-style: italic;
209
+ background: rgba(102, 126, 234, 0.05);
210
+ padding: 8px 12px;
211
+ border-radius: 0 4px 4px 0;
212
+ }
213
+ .markdown-content blockquote p {
214
+ margin: 0;
215
+ }
216
+ .markdown-content hr {
217
+ border: none;
218
+ border-top: 1px solid #e2e8f0;
219
+ margin: 16px 0;
220
+ }
221
+ .markdown-content table {
222
+ border-collapse: collapse;
223
+ width: 100%;
224
+ margin: 12px 0;
225
+ font-size: 12px;
226
+ border-radius: 8px;
227
+ overflow: hidden;
228
+ border: 1px solid #e2e8f0;
229
+ }
230
+ .markdown-content th,
231
+ .markdown-content td {
232
+ padding: 10px 12px;
233
+ text-align: left;
234
+ border-bottom: 1px solid #e2e8f0;
235
+ }
236
+ .markdown-content th {
237
+ background: #f1f5f9;
238
+ font-weight: 600;
239
+ color: #1e293b;
240
+ border-bottom: 2px solid #cbd5e1;
241
+ }
242
+ .markdown-content tr:last-child td {
243
+ border-bottom: none;
244
+ }
245
+ .markdown-content tbody tr {
246
+ transition: background-color 0.15s ease;
247
+ }
248
+ .markdown-content tbody tr:hover {
249
+ background-color: rgba(102, 126, 234, 0.05);
250
+ }
251
+ .markdown-content img {
252
+ max-width: 100%;
253
+ height: auto;
254
+ border-radius: 8px;
255
+ margin: 8px 0;
256
+ }
257
+ .markdown-content input[type=checkbox] {
258
+ margin-right: 6px;
259
+ }
260
+ .message-bubble.user .markdown-content {
261
+ color: #ffffff;
262
+ }
263
+ .message-bubble.user .markdown-content a {
264
+ color: #ffffff;
265
+ border-bottom-color: rgba(255, 255, 255, 0.4);
266
+ font-weight: 600;
267
+ }
268
+ .message-bubble.user .markdown-content a:hover {
269
+ border-bottom-color: #ffffff;
270
+ }
271
+ .message-bubble.user .markdown-content li::before {
272
+ color: #ffffff;
273
+ }
274
+ .message-bubble.user .markdown-content code {
275
+ background: rgba(255, 255, 255, 0.2);
276
+ color: #ffffff;
277
+ border-color: rgba(255, 255, 255, 0.3);
278
+ }
279
+ .message-bubble.user .markdown-content pre {
280
+ background: rgba(255, 255, 255, 0.1);
281
+ border-color: rgba(255, 255, 255, 0.2);
282
+ }
283
+ .message-bubble.user .markdown-content pre code {
284
+ color: #ffffff;
285
+ }
286
+ .message-bubble.user .markdown-content h1 {
287
+ border-bottom-color: rgba(255, 255, 255, 0.3);
288
+ }
289
+ .message-bubble.user .markdown-content blockquote {
290
+ border-left-color: #ffffff;
291
+ background: rgba(255, 255, 255, 0.1);
292
+ color: #ffffff;
293
+ }
294
+ .message-bubble.user .markdown-content hr {
295
+ border-top-color: rgba(255, 255, 255, 0.3);
296
+ }
297
+ .message-bubble.user .markdown-content table {
298
+ border-color: rgba(255, 255, 255, 0.3);
299
+ }
300
+ .message-bubble.user .markdown-content th,
301
+ .message-bubble.user .markdown-content td {
302
+ border-bottom-color: rgba(255, 255, 255, 0.2);
303
+ }
304
+ .message-bubble.user .markdown-content th {
305
+ background: rgba(255, 255, 255, 0.15);
306
+ color: #ffffff;
307
+ border-bottom-color: rgba(255, 255, 255, 0.3);
308
+ }
309
+ .message-bubble.user .markdown-content tbody tr:hover {
310
+ background-color: rgba(255, 255, 255, 0.1);
311
+ }
312
+ .message-bubble.assistant .markdown-content {
313
+ color: #334155;
314
+ }
315
+ .message-bubble.assistant .markdown-content a {
316
+ color: #667eea;
317
+ }
318
+ .message-bubble.assistant .markdown-content a:hover {
319
+ color: #764ba2;
320
+ }
321
+ .message-bubble.assistant .markdown-content li::before {
322
+ color: #667eea;
323
+ }
324
+ .message-bubble.assistant .markdown-content code {
325
+ background: rgba(102, 126, 234, 0.1);
326
+ color: #764ba2;
327
+ border-color: rgba(102, 126, 234, 0.2);
328
+ }
329
+ .message-bubble.assistant .markdown-content pre {
330
+ background: #ffffff;
331
+ border-color: #e2e8f0;
332
+ }
333
+ .message-bubble.assistant .markdown-content pre code {
334
+ color: #1e293b;
335
+ }
336
+ .message-bubble.assistant .markdown-content h1,
337
+ .message-bubble.assistant .markdown-content h2,
338
+ .message-bubble.assistant .markdown-content h3,
339
+ .message-bubble.assistant .markdown-content h4,
340
+ .message-bubble.assistant .markdown-content h5,
341
+ .message-bubble.assistant .markdown-content h6 {
342
+ color: #1e293b;
343
+ }
344
+ .message-bubble.assistant .markdown-content h1 {
345
+ border-bottom-color: #e2e8f0;
346
+ }
347
+ .message-bubble.assistant .markdown-content strong,
348
+ .message-bubble.assistant .markdown-content b {
349
+ color: #0f172a;
350
+ }
351
+ .message-bubble.assistant .markdown-content blockquote {
352
+ border-left-color: #667eea;
353
+ background: rgba(102, 126, 234, 0.05);
354
+ color: #334155;
355
+ }
356
+ .message-bubble.assistant .markdown-content th {
357
+ background: #f1f5f9;
358
+ color: #1e293b;
359
+ }
360
+ .message-bubble.assistant .markdown-content tbody tr:hover {
361
+ background-color: rgba(102, 126, 234, 0.05);
362
+ }
363
+ .input-container {
364
+ display: flex;
365
+ align-items: flex-end;
366
+ gap: 12px;
367
+ padding: 16px;
368
+ background: #ffffff;
369
+ border-top: 1px solid #e2e8f0;
370
+ border-radius: 0 0 12px 12px;
371
+ }
372
+ .textarea {
373
+ flex: 1;
374
+ min-height: 44px;
375
+ max-height: 120px;
376
+ padding: 12px 16px;
377
+ border: 1px solid #e2e8f0;
378
+ border-radius: 22px;
379
+ font-size: 14px;
380
+ line-height: 1.4;
381
+ resize: none;
382
+ outline: none;
383
+ transition: border-color 0.2s ease, box-shadow 0.2s ease;
384
+ font-family: inherit;
385
+ background: #f8fafc;
386
+ color: #334155;
387
+ }
388
+ .textarea:disabled {
389
+ opacity: 0.6;
390
+ cursor: not-allowed;
391
+ }
392
+ .textarea:focus:not(:disabled) {
393
+ border-color: #3b82f6;
394
+ box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
395
+ }
396
+ .send-button {
397
+ width: 44px;
398
+ height: 44px;
399
+ border-radius: 50%;
400
+ border: none;
401
+ color: #ffffff;
402
+ cursor: pointer;
403
+ display: flex;
404
+ align-items: center;
405
+ justify-content: center;
406
+ transition: all 0.2s ease;
407
+ font-size: 16px;
408
+ }
409
+ .send-button:disabled {
410
+ background: #e2e8f0;
411
+ cursor: not-allowed;
412
+ }
413
+ .send-button:not(:disabled) {
414
+ background:
415
+ linear-gradient(
416
+ 135deg,
417
+ #667eea 0%,
418
+ #764ba2 100%);
419
+ }
420
+ .send-button:not(:disabled):hover {
421
+ transform: scale(1.05);
422
+ }
423
+ .header {
424
+ padding: 16px 20px;
425
+ color: #ffffff;
426
+ display: flex;
427
+ align-items: center;
428
+ gap: 12px;
429
+ }
430
+ .logo-container {
431
+ width: 40px;
432
+ height: 40px;
433
+ border-radius: 50%;
434
+ background: rgba(255, 255, 255, 0.2);
435
+ display: flex;
436
+ align-items: center;
437
+ justify-content: center;
438
+ font-size: 18px;
439
+ overflow: hidden;
440
+ }
441
+ .logo-image {
442
+ width: 100%;
443
+ height: 100%;
444
+ object-fit: cover;
445
+ border-radius: 50%;
446
+ }
447
+ .logo-text {
448
+ font-size: 16px;
449
+ font-weight: bold;
450
+ }
451
+ .company-name {
452
+ margin: 0;
453
+ font-size: 16px;
454
+ font-weight: 600;
455
+ }
456
+ .status-text {
457
+ margin: 0;
458
+ font-size: 12px;
459
+ opacity: 0.8;
460
+ }
461
+ .session-bar {
462
+ margin-left: auto;
463
+ display: flex;
464
+ align-items: center;
465
+ gap: 4px;
466
+ padding: 4px;
467
+ background: rgba(255, 255, 255, 0.1);
468
+ border-radius: 8px;
469
+ backdrop-filter: blur(8px);
470
+ }
471
+ .session-tab {
472
+ position: relative;
473
+ padding: 8px 12px;
474
+ border-radius: 8px;
475
+ font-size: 11px;
476
+ font-weight: 500;
477
+ color: #ffffff;
478
+ background: rgba(255, 255, 255, 0.1);
479
+ border: 1px solid rgba(255, 255, 255, 0.15);
480
+ cursor: pointer;
481
+ transition: all 0.2s ease;
482
+ white-space: nowrap;
483
+ overflow: hidden;
484
+ text-overflow: ellipsis;
485
+ min-width: 60px;
486
+ max-width: 100px;
487
+ text-align: center;
488
+ }
489
+ .session-tab:hover {
490
+ background: rgba(255, 255, 255, 0.2);
491
+ border-color: rgba(255, 255, 255, 0.3);
492
+ transform: translateY(-1px);
493
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
494
+ }
495
+ .session-tab:active {
496
+ transform: translateY(0);
497
+ }
498
+ .session-tab.active {
499
+ background: rgba(255, 255, 255, 0.25);
500
+ border-color: rgba(255, 255, 255, 0.4);
501
+ box-shadow: 0 2px 12px rgba(255, 255, 255, 0.2);
502
+ font-weight: 600;
503
+ }
504
+ .session-tab.active::before {
505
+ content: "";
506
+ position: absolute;
507
+ bottom: 0;
508
+ left: 50%;
509
+ transform: translateX(-50%);
510
+ width: 60%;
511
+ height: 2px;
512
+ background: #ffffff;
513
+ border-radius: 4px 4px 0 0;
514
+ }
515
+ .session-tab:not(.active) {
516
+ opacity: 0.7;
517
+ }
518
+ .session-new-button {
519
+ padding: 8px 12px;
520
+ border-radius: 8px;
521
+ font-size: 11px;
522
+ font-weight: 600;
523
+ color: #ffffff;
524
+ background: rgba(255, 255, 255, 0.15);
525
+ border: 1px solid rgba(255, 255, 255, 0.2);
526
+ cursor: pointer;
527
+ transition: all 0.2s ease;
528
+ display: flex;
529
+ align-items: center;
530
+ justify-content: center;
531
+ min-width: 50px;
532
+ position: relative;
533
+ overflow: hidden;
534
+ }
535
+ .session-new-button::before {
536
+ content: "";
537
+ position: absolute;
538
+ top: 50%;
539
+ left: 50%;
540
+ width: 0;
541
+ height: 0;
542
+ border-radius: 50%;
543
+ background: rgba(255, 255, 255, 0.3);
544
+ transform: translate(-50%, -50%);
545
+ transition: width 0.4s ease, height 0.4s ease;
546
+ }
547
+ .session-new-button:hover:not(:disabled) {
548
+ background: rgba(255, 255, 255, 0.25);
549
+ border-color: rgba(255, 255, 255, 0.35);
550
+ transform: translateY(-1px);
551
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
552
+ }
553
+ .session-new-button:hover:not(:disabled)::before {
554
+ width: 100px;
555
+ height: 100px;
556
+ }
557
+ .session-new-button:active:not(:disabled) {
558
+ transform: translateY(0);
559
+ }
560
+ .session-new-button:disabled {
561
+ opacity: 0.4;
562
+ cursor: not-allowed;
563
+ background: rgba(255, 255, 255, 0.05);
564
+ border-color: rgba(255, 255, 255, 0.1);
565
+ }
566
+ .session-new-button span {
567
+ position: relative;
568
+ z-index: 1;
569
+ }
570
+ .button-sizes.small {
571
+ width: 50px;
572
+ height: 50px;
573
+ font-size: 20px;
574
+ }
575
+ .button-sizes.medium {
576
+ width: 60px;
577
+ height: 60px;
578
+ font-size: 24px;
579
+ }
580
+ .button-sizes.large {
581
+ width: 70px;
582
+ height: 70px;
583
+ font-size: 28px;
584
+ }
585
+ .floating-button {
586
+ position: fixed;
587
+ bottom: 20px;
588
+ border-radius: 50%;
589
+ border: none;
590
+ color: #ffffff;
591
+ cursor: pointer;
592
+ display: flex;
593
+ align-items: center;
594
+ justify-content: center;
595
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
596
+ transition: all 0.3s ease;
597
+ z-index: 1000;
598
+ }
599
+ .floating-button.bottom-left {
600
+ left: 20px;
601
+ }
602
+ .floating-button.bottom-right {
603
+ right: 20px;
604
+ }
605
+ .floating-button.is-open {
606
+ transform: scale(0.9);
607
+ }
608
+ .floating-button:hover {
609
+ box-shadow: 0 6px 20px rgba(0, 0, 0, 0.25);
610
+ }
611
+ .chat-container {
612
+ position: fixed;
613
+ bottom: 90px;
614
+ z-index: 9999999;
615
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
616
+ }
617
+ .chat-container.bottom-left {
618
+ left: 20px;
619
+ transform-origin: bottom left;
620
+ }
621
+ .chat-container.bottom-right {
622
+ right: 20px;
623
+ transform-origin: bottom right;
624
+ }
625
+ .chat-container.is-open {
626
+ transform: translateY(0) scale(1);
627
+ opacity: 1;
628
+ visibility: visible;
629
+ }
630
+ .chat-container:not(.is-open) {
631
+ transform: translateY(20px) scale(0.95);
632
+ opacity: 0;
633
+ visibility: hidden;
634
+ }
635
+ .overlay {
636
+ position: fixed;
637
+ top: 0;
638
+ left: 0;
639
+ right: 0;
640
+ bottom: 0;
641
+ background: rgba(0, 0, 0, 0.1);
642
+ z-index: 998;
643
+ transition: all 0.3s ease;
644
+ }
645
+ .overlay.is-open {
646
+ opacity: 1;
647
+ visibility: visible;
648
+ }
649
+ .overlay:not(.is-open) {
650
+ opacity: 0;
651
+ visibility: hidden;
652
+ }
653
+ .chatbot-container {
654
+ display: flex;
655
+ flex-direction: column;
656
+ height: 100%;
657
+ background: #ffffff;
658
+ border-radius: 12px;
659
+ box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
660
+ border: 1px solid #e2e8f0;
661
+ overflow: hidden;
662
+ }
663
+ .messages-container {
664
+ flex: 1;
665
+ overflow-y: auto;
666
+ padding: 12px;
667
+ display: flex;
668
+ flex-direction: column;
669
+ gap: 4px;
670
+ background: #f8fafc;
671
+ min-height: 0;
672
+ }
673
+ .empty-state {
674
+ display: flex;
675
+ flex-direction: column;
676
+ align-items: center;
677
+ justify-content: center;
678
+ height: 100%;
679
+ color: #64748b;
680
+ text-align: center;
681
+ padding: 40px 20px;
682
+ }
683
+ .empty-state .empty-state-icon {
684
+ font-size: 48px;
685
+ margin-bottom: 16px;
686
+ }
687
+ .empty-state .empty-state-title {
688
+ margin: 0 0 8px 0;
689
+ font-size: 14px;
690
+ }
691
+ .empty-state .empty-state-description {
692
+ margin: 0;
693
+ font-size: 14px;
694
+ opacity: 0.8;
695
+ }
696
+ .chat-content {
697
+ flex: 1;
698
+ display: flex;
699
+ flex-direction: column;
700
+ background: #f8fafc;
701
+ min-height: 0;
702
+ }
703
+ .home-panel {
704
+ padding: 16px;
705
+ display: flex;
706
+ flex-direction: column;
707
+ gap: 8px;
708
+ width: 100%;
709
+ max-width: 100%;
710
+ height: 100%;
711
+ justify-content: center;
712
+ align-items: center;
713
+ text-align: center;
714
+ }
715
+ .info-panel {
716
+ padding: 16px;
717
+ display: flex;
718
+ flex-direction: column;
719
+ gap: 8px;
720
+ }
721
+ .panel-title {
722
+ margin: 0;
723
+ font-size: 16px;
724
+ font-weight: 650;
725
+ color: #0f172a;
726
+ }
727
+ .panel-subtitle {
728
+ margin: 0;
729
+ color: #475569;
730
+ line-height: 1.4;
731
+ font-size: 14px;
732
+ }
733
+ .eyebrow {
734
+ margin: 0;
735
+ font-size: 11px;
736
+ letter-spacing: 0.3px;
737
+ text-transform: uppercase;
738
+ color: #64748b;
739
+ }
740
+ .home-actions {
741
+ display: flex;
742
+ gap: 8px;
743
+ flex-wrap: wrap;
744
+ }
745
+ .primary-button {
746
+ padding: 8px 12px;
747
+ border-radius: 10px;
748
+ border: none;
749
+ background:
750
+ linear-gradient(
751
+ 135deg,
752
+ #667eea 0%,
753
+ #764ba2 100%);
754
+ color: #ffffff;
755
+ font-weight: 600;
756
+ cursor: pointer;
757
+ transition: all 0.2s ease;
758
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
759
+ font-size: 12px;
760
+ }
761
+ .primary-button:hover {
762
+ transform: translateY(-1px);
763
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
764
+ }
765
+ .primary-button:disabled {
766
+ opacity: 0.6;
767
+ cursor: not-allowed;
768
+ }
769
+ .ghost-button {
770
+ padding: 8px 12px;
771
+ border-radius: 10px;
772
+ border: 1px solid #e2e8f0;
773
+ background: #ffffff;
774
+ color: #334155;
775
+ font-weight: 600;
776
+ cursor: pointer;
777
+ transition: all 0.2s ease;
778
+ font-size: 12px;
779
+ }
780
+ .ghost-button:hover {
781
+ background: #f1f5f9;
782
+ }
783
+ .conversation-list {
784
+ flex: 1;
785
+ display: flex;
786
+ flex-direction: column;
787
+ gap: 8px;
788
+ padding: 16px;
789
+ min-height: 0;
790
+ }
791
+ .list-header {
792
+ display: flex;
793
+ align-items: center;
794
+ justify-content: space-between;
795
+ }
796
+ .list-header .panel-title {
797
+ font-size: 14px;
798
+ font-weight: 700;
799
+ }
800
+ .conversation-items {
801
+ display: flex;
802
+ flex-direction: column;
803
+ gap: 6px;
804
+ }
805
+ .conversation-item {
806
+ width: 100%;
807
+ border: 1px solid #e2e8f0;
808
+ border-radius: 12px;
809
+ background: #ffffff;
810
+ padding: 10px 12px;
811
+ display: flex;
812
+ align-items: center;
813
+ justify-content: space-between;
814
+ text-align: left;
815
+ cursor: pointer;
816
+ transition: all 0.2s ease;
817
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
818
+ }
819
+ .conversation-item:hover {
820
+ border-color: #cbd5e1;
821
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
822
+ transform: translateY(-0.5px);
823
+ }
824
+ .conversation-item.active {
825
+ border-color: #2563eb;
826
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
827
+ }
828
+ .conversation-meta {
829
+ display: flex;
830
+ flex-direction: column;
831
+ gap: 2px;
832
+ }
833
+ .conversation-title {
834
+ margin: 0;
835
+ font-weight: 600;
836
+ color: #0f172a;
837
+ font-size: 12px;
838
+ }
839
+ .conversation-sub {
840
+ margin: 0;
841
+ font-size: 11px;
842
+ color: #64748b;
843
+ }
844
+ .conversation-pill {
845
+ padding: 6px 10px;
846
+ background: #f1f5f9;
847
+ color: #334155;
848
+ border-radius: 999px;
849
+ font-size: 11px;
850
+ font-weight: 700;
851
+ }
852
+ .empty-list {
853
+ display: flex;
854
+ flex-direction: column;
855
+ align-items: center;
856
+ justify-content: center;
857
+ flex: 1;
858
+ background: #ffffff;
859
+ border: 1px dashed #cbd5e1;
860
+ border-radius: 8px;
861
+ padding: 32px 16px;
862
+ text-align: center;
863
+ color: #64748b;
864
+ }
865
+ .empty-list .empty-state-icon {
866
+ font-size: 32px;
867
+ margin-bottom: 10px;
868
+ }
869
+ .empty-list .empty-state-title {
870
+ font-size: 12px;
871
+ font-weight: 600;
872
+ margin-bottom: 4px;
873
+ color: #1e293b;
874
+ }
875
+ .empty-list .empty-state-description {
876
+ font-size: 12px;
877
+ max-width: 260px;
878
+ margin: 0;
879
+ color: #64748b;
880
+ }
881
+ .conversation-detail {
882
+ flex: 1;
883
+ display: flex;
884
+ flex-direction: column;
885
+ background: #f8fafc;
886
+ min-height: 0;
887
+ }
888
+ .detail-header {
889
+ display: grid;
890
+ grid-template-columns: 44px 1fr auto;
891
+ align-items: center;
892
+ padding: 10px 10px;
893
+ background: rgba(255, 255, 255, 0.88);
894
+ border-bottom: 1px solid rgba(226, 232, 240, 0.9);
895
+ backdrop-filter: blur(10px);
896
+ gap: 8px;
897
+ }
898
+ .detail-title {
899
+ display: flex;
900
+ flex-direction: column;
901
+ gap: 2px;
902
+ }
903
+ .detail-header-left {
904
+ display: flex;
905
+ align-items: center;
906
+ justify-content: flex-start;
907
+ }
908
+ .detail-header-center {
909
+ min-width: 0;
910
+ display: flex;
911
+ align-items: center;
912
+ gap: 10px;
913
+ }
914
+ .detail-header-right {
915
+ display: flex;
916
+ align-items: center;
917
+ gap: 8px;
918
+ }
919
+ .detail-avatar {
920
+ width: 32px;
921
+ height: 32px;
922
+ border-radius: 10px;
923
+ display: inline-flex;
924
+ align-items: center;
925
+ justify-content: center;
926
+ color: #334155;
927
+ background:
928
+ linear-gradient(
929
+ 180deg,
930
+ rgba(241, 245, 249, 0.9),
931
+ rgba(226, 232, 240, 0.7));
932
+ border: 1px solid rgba(203, 213, 225, 0.9);
933
+ box-shadow: 0 1px 0 rgba(0, 0, 0, 0.03);
934
+ flex: 0 0 auto;
935
+ }
936
+ .detail-title-row {
937
+ display: flex;
938
+ align-items: center;
939
+ gap: 8px;
940
+ min-width: 0;
941
+ }
942
+ .detail-title-text {
943
+ font-size: 12px;
944
+ font-weight: 750;
945
+ color: #0f172a;
946
+ white-space: nowrap;
947
+ overflow: hidden;
948
+ text-overflow: ellipsis;
949
+ max-width: 210px;
950
+ }
951
+ .detail-subtitle {
952
+ margin: 0;
953
+ font-size: 11px;
954
+ color: #64748b;
955
+ line-height: 1.2;
956
+ }
957
+ .status-dot {
958
+ width: 8px;
959
+ height: 8px;
960
+ border-radius: 999px;
961
+ box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.12);
962
+ flex: 0 0 auto;
963
+ }
964
+ .status-dot.online {
965
+ background: #10b981;
966
+ }
967
+ .status-dot.typing {
968
+ background: #f59e0b;
969
+ box-shadow: 0 0 0 3px rgba(245, 158, 11, 0.14);
970
+ }
971
+ .icon-button {
972
+ width: 36px;
973
+ height: 36px;
974
+ display: inline-flex;
975
+ align-items: center;
976
+ justify-content: center;
977
+ border-radius: 12px;
978
+ border: 1px solid rgba(226, 232, 240, 0.95);
979
+ background: rgba(255, 255, 255, 0.9);
980
+ color: #334155;
981
+ cursor: pointer;
982
+ transition:
983
+ transform 0.15s ease,
984
+ box-shadow 0.15s ease,
985
+ background 0.15s ease,
986
+ border-color 0.15s ease;
987
+ box-shadow: 0 1px 0 rgba(0, 0, 0, 0.03);
988
+ }
989
+ .icon-button:hover:not(:disabled) {
990
+ background: #ffffff;
991
+ border-color: rgba(203, 213, 225, 0.95);
992
+ box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08);
993
+ transform: translateY(-0.5px);
994
+ }
995
+ .icon-button:active:not(:disabled) {
996
+ transform: translateY(0);
997
+ box-shadow: 0 2px 10px rgba(15, 23, 42, 0.06);
998
+ }
999
+ .icon-button:disabled {
1000
+ opacity: 0.45;
1001
+ cursor: not-allowed;
1002
+ }
1003
+ .icon-button.danger {
1004
+ color: #dc2626;
1005
+ }
1006
+ .info-list {
1007
+ list-style: none;
1008
+ padding: 0;
1009
+ margin: 0;
1010
+ display: flex;
1011
+ flex-direction: column;
1012
+ gap: 8px;
1013
+ }
1014
+ .info-list li {
1015
+ display: flex;
1016
+ justify-content: space-between;
1017
+ align-items: center;
1018
+ padding: 10px 12px;
1019
+ background: #ffffff;
1020
+ border: 1px solid #e2e8f0;
1021
+ border-radius: 8px;
1022
+ font-size: 12px;
1023
+ }
1024
+ .info-list li span {
1025
+ color: #64748b;
1026
+ }
1027
+ .bottom-nav {
1028
+ display: grid;
1029
+ grid-template-columns: repeat(3, 1fr);
1030
+ background: #ffffff;
1031
+ border-top: 1px solid #e2e8f0;
1032
+ padding: 6px;
1033
+ gap: 6px;
1034
+ }
1035
+ .nav-button {
1036
+ padding: 8px 10px;
1037
+ border: 1px solid transparent;
1038
+ border-radius: 12px;
1039
+ background: #f1f5f9;
1040
+ color: #334155;
1041
+ font-weight: 600;
1042
+ cursor: pointer;
1043
+ transition: all 0.2s ease;
1044
+ font-size: 12px;
1045
+ }
1046
+ .nav-button.active {
1047
+ background:
1048
+ linear-gradient(
1049
+ 135deg,
1050
+ #667eea 0%,
1051
+ #764ba2 100%);
1052
+ color: #ffffff;
1053
+ border-color: transparent;
1054
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
1055
+ }
1056
+ .nav-button:hover {
1057
+ transform: translateY(-0.5px);
1058
+ }
1059
+ @keyframes spin {
1060
+ from {
1061
+ transform: rotate(0deg);
1062
+ }
1063
+ to {
1064
+ transform: rotate(360deg);
1065
+ }
1066
+ }
1067
+ .loading-spinner {
1068
+ width: 16px;
1069
+ height: 16px;
1070
+ border: 2px solid transparent;
1071
+ border-top: 2px solid currentColor;
1072
+ border-radius: 50%;
1073
+ animation: spin 1s linear infinite;
1074
+ }
1075
+ @keyframes slideDown {
1076
+ from {
1077
+ opacity: 0;
1078
+ transform: translateY(-10px);
1079
+ }
1080
+ to {
1081
+ opacity: 1;
1082
+ transform: translateY(0);
1083
+ }
1084
+ }
1085
+ .alert-container {
1086
+ border-radius: 12px;
1087
+ padding: 14px 16px;
1088
+ margin: 12px 16px;
1089
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
1090
+ color: #ffffff;
1091
+ font-size: 13px;
1092
+ display: flex;
1093
+ align-items: flex-start;
1094
+ gap: 12px;
1095
+ position: relative;
1096
+ animation: slideDown 0.3s ease ease-out;
1097
+ }
1098
+ .alert-container.error {
1099
+ background:
1100
+ linear-gradient(
1101
+ 135deg,
1102
+ #ef4444 0%,
1103
+ #dc2626 100%);
1104
+ border: 1px solid #dc2626;
1105
+ box-shadow: 0 4px 12px rgba(239, 68, 68, 0.2);
1106
+ }
1107
+ .alert-container.warning {
1108
+ background:
1109
+ linear-gradient(
1110
+ 135deg,
1111
+ #f59e0b 0%,
1112
+ #d97706 100%);
1113
+ border: 1px solid #d97706;
1114
+ box-shadow: 0 4px 12px rgba(245, 158, 11, 0.2);
1115
+ }
1116
+ .alert-container.success {
1117
+ background:
1118
+ linear-gradient(
1119
+ 135deg,
1120
+ #10b981 0%,
1121
+ #059669 100%);
1122
+ border: 1px solid #059669;
1123
+ box-shadow: 0 4px 12px rgba(16, 185, 129, 0.2);
1124
+ }
1125
+ .alert-icon-container {
1126
+ display: flex;
1127
+ align-items: center;
1128
+ justify-content: center;
1129
+ width: 24px;
1130
+ height: 24px;
1131
+ flex-shrink: 0;
1132
+ margin-top: 2px;
1133
+ }
1134
+ .alert-content {
1135
+ flex: 1;
1136
+ display: flex;
1137
+ flex-direction: column;
1138
+ gap: 8px;
1139
+ }
1140
+ .alert-title {
1141
+ font-weight: 600;
1142
+ font-size: 14px;
1143
+ margin: 0;
1144
+ line-height: 1.4;
1145
+ }
1146
+ .alert-message {
1147
+ margin: 0;
1148
+ line-height: 1.5;
1149
+ opacity: 0.95;
1150
+ }
1151
+ .alert-list {
1152
+ margin: 8px 0 0 0;
1153
+ padding-left: 20px;
1154
+ list-style: none;
1155
+ }
1156
+ .alert-list-item {
1157
+ margin-bottom: 4px;
1158
+ position: relative;
1159
+ padding-left: 12px;
1160
+ line-height: 1.4;
1161
+ }
1162
+ .alert-list-item li > span {
1163
+ position: "absolute";
1164
+ left: 0;
1165
+ top: 2px;
1166
+ font-weight: bold;
1167
+ }
1168
+ .alert-list-item li > code {
1169
+ background: rgba(255, 255, 255, 0.2);
1170
+ padding: 2px 6px;
1171
+ border-radius: 4px;
1172
+ font-size: 12px;
1173
+ }
1174
+ .alert-close-button {
1175
+ position: absolute;
1176
+ top: 12px;
1177
+ right: 12px;
1178
+ background: rgba(255, 255, 255, 0.2);
1179
+ border: none;
1180
+ border-radius: 6px;
1181
+ width: 24px;
1182
+ height: 24px;
1183
+ display: flex;
1184
+ align-items: center;
1185
+ justify-content: center;
1186
+ cursor: pointer;
1187
+ color: #ffffff;
1188
+ transition: all 0.2s ease;
1189
+ padding: 0;
1190
+ }
1191
+ .alert-close-button:hover {
1192
+ background: rgba(255, 255, 255, 0.3);
1193
+ }
1194
+ .ui-renderer {
1195
+ display: flex;
1196
+ flex-direction: column;
1197
+ gap: 16px;
1198
+ width: 100%;
1199
+ }
1200
+ .form-component {
1201
+ width: 100%;
1202
+ max-width: 500px;
1203
+ border: 1px solid #e0e0e0;
1204
+ border-radius: 12px;
1205
+ padding: 24px;
1206
+ background-color: #ffffff;
1207
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
1208
+ font-family:
1209
+ -apple-system,
1210
+ BlinkMacSystemFont,
1211
+ "Segoe UI",
1212
+ Roboto,
1213
+ "Helvetica Neue",
1214
+ Arial,
1215
+ sans-serif;
1216
+ }
1217
+ .form-title {
1218
+ font-weight: 600;
1219
+ font-size: 16px;
1220
+ margin-bottom: 20px;
1221
+ color: #1a1a1a;
1222
+ margin-top: 0;
1223
+ }
1224
+ .form-fields {
1225
+ display: flex;
1226
+ flex-direction: column;
1227
+ gap: 20px;
1228
+ }
1229
+ .form-field {
1230
+ display: flex;
1231
+ flex-direction: column;
1232
+ gap: 8px;
1233
+ }
1234
+ .form-label {
1235
+ font-weight: 500;
1236
+ font-size: 13px;
1237
+ color: #475569;
1238
+ display: flex;
1239
+ align-items: center;
1240
+ gap: 4px;
1241
+ }
1242
+ .form-label span {
1243
+ color: #ef4444;
1244
+ font-size: 12px;
1245
+ }
1246
+ .form-input,
1247
+ .form-select {
1248
+ border: 1px solid #d1d5db;
1249
+ border-radius: 8px;
1250
+ padding: 10px 12px;
1251
+ font-size: 13px;
1252
+ color: #1a1a1a;
1253
+ background-color: #ffffff;
1254
+ font-family: inherit;
1255
+ outline: none;
1256
+ transition: border-color 0.15s ease, box-shadow 0.15s ease;
1257
+ cursor: pointer;
1258
+ }
1259
+ .form-input:focus,
1260
+ .form-select:focus {
1261
+ border-color: #3b82f6;
1262
+ box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
1263
+ }
1264
+ .form-select {
1265
+ cursor: pointer;
1266
+ }
1267
+ .form-submit-button {
1268
+ margin-top: 24px;
1269
+ display: inline-flex;
1270
+ align-items: center;
1271
+ justify-content: center;
1272
+ border-radius: 8px;
1273
+ padding: 12px 24px;
1274
+ font-size: 13px;
1275
+ font-weight: 500;
1276
+ background-color: #3b82f6;
1277
+ color: #ffffff;
1278
+ border: none;
1279
+ cursor: pointer;
1280
+ transition: background-color 0.15s ease, transform 0.1s ease;
1281
+ font-family: inherit;
1282
+ }
1283
+ .form-submit-button:hover {
1284
+ background-color: #2563eb;
1285
+ }
1286
+ .form-submit-button:active {
1287
+ transform: scale(0.98);
1288
+ }
1289
+ .buttons-component {
1290
+ display: flex;
1291
+ gap: 12px;
1292
+ flex-wrap: wrap;
1293
+ }
1294
+ .button-component {
1295
+ border-radius: 8px;
1296
+ padding: 10px 20px;
1297
+ font-size: 13px;
1298
+ font-weight: 500;
1299
+ border: 1px solid #e0e0e0;
1300
+ background-color: #ffffff;
1301
+ color: #475569;
1302
+ cursor: pointer;
1303
+ transition: all 0.15s ease;
1304
+ font-family:
1305
+ -apple-system,
1306
+ BlinkMacSystemFont,
1307
+ "Segoe UI",
1308
+ Roboto,
1309
+ "Helvetica Neue",
1310
+ Arial,
1311
+ sans-serif;
1312
+ outline: none;
1313
+ }
1314
+ .button-component.primary {
1315
+ background-color: #3b82f6;
1316
+ color: #ffffff;
1317
+ border-color: #3b82f6;
1318
+ }
1319
+ .button-component.primary:hover {
1320
+ background-color: #2563eb;
1321
+ border-color: #2563eb;
1322
+ }
1323
+ .button-component.secondary {
1324
+ background-color: #f3f4f6;
1325
+ color: #475569;
1326
+ border-color: #d1d5db;
1327
+ }
1328
+ .button-component.secondary:hover {
1329
+ background-color: #e5e7eb;
1330
+ border-color: #9ca3af;
1331
+ }
1332
+ .button-component.danger {
1333
+ background-color: #ef4444;
1334
+ color: #ffffff;
1335
+ border-color: #ef4444;
1336
+ }
1337
+ .button-component.danger:hover {
1338
+ background-color: #dc2626;
1339
+ border-color: #dc2626;
1340
+ }
1341
+ .button-component:not(.primary):not(.secondary):not(.danger):hover {
1342
+ background-color: #f9fafb;
1343
+ border-color: #d1d5db;
1344
+ }
1345
+ .button-component:active {
1346
+ transform: scale(0.97);
1347
+ }
1348
+ .table-component {
1349
+ border: 1px solid #e0e0e0;
1350
+ border-radius: 12px;
1351
+ overflow: hidden;
1352
+ font-size: 13px;
1353
+ background-color: #ffffff;
1354
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
1355
+ font-family:
1356
+ -apple-system,
1357
+ BlinkMacSystemFont,
1358
+ "Segoe UI",
1359
+ Roboto,
1360
+ "Helvetica Neue",
1361
+ Arial,
1362
+ sans-serif;
1363
+ }
1364
+ .table-caption {
1365
+ padding: 16px 20px;
1366
+ font-weight: 600;
1367
+ font-size: 14px;
1368
+ border-bottom: 1px solid #e0e0e0;
1369
+ background-color: #f8f9fa;
1370
+ color: #1a1a1a;
1371
+ }
1372
+ .table-wrapper {
1373
+ overflow-x: auto;
1374
+ }
1375
+ .table {
1376
+ width: 100%;
1377
+ border-collapse: collapse;
1378
+ min-width: 100%;
1379
+ }
1380
+ .table-header {
1381
+ background-color: #f8f9fa;
1382
+ }
1383
+ .table-th {
1384
+ border-bottom: 2px solid #e0e0e0;
1385
+ padding: 14px 20px;
1386
+ text-align: left;
1387
+ font-weight: 600;
1388
+ font-size: 12px;
1389
+ color: #4a5568;
1390
+ text-transform: uppercase;
1391
+ letter-spacing: 0.5px;
1392
+ white-space: nowrap;
1393
+ }
1394
+ .table-tbody tr {
1395
+ background-color: #ffffff;
1396
+ transition: background-color 0.15s ease;
1397
+ }
1398
+ .table-tbody tr:nth-child(even) {
1399
+ background-color: #fafbfc;
1400
+ }
1401
+ .table-tbody tr:hover {
1402
+ background-color: #f0f4f8;
1403
+ }
1404
+ .table-td {
1405
+ border-bottom: 1px solid #e8e8e8;
1406
+ padding: 16px 20px;
1407
+ font-size: 13px;
1408
+ vertical-align: middle;
1409
+ }
1410
+ .table-td > span {
1411
+ color: #a0a0a0;
1412
+ font-style: italic;
1413
+ }
1414
+ .table-cell-image {
1415
+ display: flex;
1416
+ align-items: center;
1417
+ }
1418
+ .table-image {
1419
+ width: 40px;
1420
+ height: 40px;
1421
+ border-radius: 8px;
1422
+ object-fit: cover;
1423
+ border: 1px solid #e0e0e0;
1424
+ }
1425
+ .table-cell-text {
1426
+ color: #2d3748;
1427
+ line-height: 1.5;
1428
+ }
1429
+ .table-empty {
1430
+ padding: 40px;
1431
+ text-align: center;
1432
+ color: #9ca3af;
1433
+ font-size: 13px;
1434
+ }
1435
+ .card-component {
1436
+ border: 1px solid #e5e7eb;
1437
+ border-radius: 16px;
1438
+ padding: 16px;
1439
+ background-color: #ffffff;
1440
+ box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1);
1441
+ overflow: hidden;
1442
+ margin-bottom: 12px;
1443
+ }
1444
+ .card-content {
1445
+ display: flex;
1446
+ gap: 12px;
1447
+ }
1448
+ .card-image {
1449
+ width: 64px;
1450
+ height: 64px;
1451
+ border-radius: 8px;
1452
+ object-fit: cover;
1453
+ flex-shrink: 0;
1454
+ }
1455
+ .card-info {
1456
+ flex: 1;
1457
+ min-width: 0;
1458
+ }
1459
+ .card-title {
1460
+ font-weight: 600;
1461
+ font-size: 14px;
1462
+ margin-bottom: 8px;
1463
+ overflow: hidden;
1464
+ text-overflow: ellipsis;
1465
+ white-space: nowrap;
1466
+ }
1467
+ .card-subtitle {
1468
+ color: #64748b;
1469
+ font-size: 12px;
1470
+ margin-bottom: 4px;
1471
+ margin: 0;
1472
+ }
1473
+ .card-status {
1474
+ display: flex;
1475
+ gap: 8px;
1476
+ font-size: 12px;
1477
+ margin-bottom: 4px;
1478
+ }
1479
+ .card-status-label {
1480
+ color: #64748b;
1481
+ font-weight: 500;
1482
+ }
1483
+ .card-status-value {
1484
+ color: #475569;
1485
+ }
1486
+ .card-fields {
1487
+ display: flex;
1488
+ flex-direction: column;
1489
+ gap: 4px;
1490
+ }
1491
+ .card-field {
1492
+ display: flex;
1493
+ gap: 8px;
1494
+ font-size: 12px;
1495
+ }
1496
+ .card-field-label {
1497
+ color: #64748b;
1498
+ font-weight: 500;
1499
+ }
1500
+ .card-field-value {
1501
+ color: #475569;
1502
+ }
1503
+ .card-description {
1504
+ color: #64748b;
1505
+ font-size: 12px;
1506
+ margin-top: 8px;
1507
+ margin: 0;
1508
+ }
1509
+ .card-list {
1510
+ width: 100%;
1511
+ }
1512
+ .card-list-title {
1513
+ font-weight: 600;
1514
+ margin-bottom: 12px;
1515
+ font-size: 14px;
1516
+ color: #1a1a1a;
1517
+ margin-top: 0;
1518
+ }
1519
+ .card-list-description {
1520
+ color: #64748b;
1521
+ margin-bottom: 12px;
1522
+ font-size: 12px;
1523
+ margin-top: 0;
1524
+ }
1525
+ .card-grid {
1526
+ display: grid;
1527
+ grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
1528
+ gap: 12px;
1529
+ }
1530
+ .card-item {
1531
+ font-size: 12px;
1532
+ border: 1px solid #e0e0e0;
1533
+ border-radius: 12px;
1534
+ padding: 16px;
1535
+ background-color: #ffffff;
1536
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
1537
+ overflow: hidden;
1538
+ }
1539
+ .card-item-content {
1540
+ display: flex;
1541
+ gap: 12px;
1542
+ }
1543
+ .card-item-image {
1544
+ width: 64px;
1545
+ height: 64px;
1546
+ border-radius: 8px;
1547
+ object-fit: cover;
1548
+ flex-shrink: 0;
1549
+ }
1550
+ .card-item-info {
1551
+ flex: 1;
1552
+ min-width: 0;
1553
+ }
1554
+ .card-item-title {
1555
+ font-weight: 600;
1556
+ font-size: 14px;
1557
+ margin-bottom: 4px;
1558
+ overflow: hidden;
1559
+ text-overflow: ellipsis;
1560
+ white-space: nowrap;
1561
+ color: #1a1a1a;
1562
+ margin-top: 0;
1563
+ }
1564
+ .card-item-subtitle {
1565
+ color: #64748b;
1566
+ font-size: 12px;
1567
+ margin: 0;
1568
+ }
1569
+ .card-item-legacy {
1570
+ display: flex;
1571
+ justify-content: space-between;
1572
+ gap: 8px;
1573
+ font-size: 12px;
1574
+ }
1575
+ .card-item-legacy-label {
1576
+ color: #64748b;
1577
+ margin: 0;
1578
+ }
1579
+ .card-item-legacy-value {
1580
+ font-weight: 500;
1581
+ color: #1a1a1a;
1582
+ margin: 0;
1583
+ }
1584
+ .field-image {
1585
+ width: 24px;
1586
+ height: 24px;
1587
+ border-radius: 999px;
1588
+ object-fit: cover;
1589
+ }
1590
+ .field-link {
1591
+ text-decoration: underline;
1592
+ }
1593
+ .field-badge {
1594
+ display: inline-block;
1595
+ padding: 2px 6px;
1596
+ border-radius: 999px;
1597
+ font-size: 10px;
1598
+ font-weight: 500;
1599
+ }
1600
+ .field-badge.success {
1601
+ background-color: #e0fce5;
1602
+ color: #1a7f36;
1603
+ }
1604
+ .field-badge.warning {
1605
+ background-color: #fff7d6;
1606
+ color: #8a6a00;
1607
+ }
1608
+ .field-badge.danger {
1609
+ background-color: #ffe4e4;
1610
+ color: #b42318;
1611
+ }
1612
+ .field-badge:not(.success):not(.warning):not(.danger) {
1613
+ background-color: #f2f2f2;
1614
+ color: #333;
1615
+ }
1616
+ .field-list {
1617
+ margin: 0;
1618
+ padding-left: 16px;
1619
+ }
1620
+ .generative-ui-container {
1621
+ display: flex;
1622
+ flex-direction: column;
1623
+ gap: 16px;
1624
+ width: 100%;
1625
+ }
1626
+ .generative-ui-header {
1627
+ margin-bottom: 12px;
1628
+ }
1629
+ .generative-ui-title {
1630
+ font-size: 18px;
1631
+ font-weight: 600;
1632
+ color: #0f172a;
1633
+ margin: 0 0 8px 0;
1634
+ }
1635
+ .generative-ui-description {
1636
+ font-size: 14px;
1637
+ color: #475569;
1638
+ margin: 0;
1639
+ line-height: 1.5;
1640
+ }
1641
+ .gen-ui-text {
1642
+ font-size: 13px;
1643
+ color: #1e293b;
1644
+ line-height: 1.6;
1645
+ margin: 0;
1646
+ }
1647
+ .gen-ui-input-wrapper {
1648
+ display: flex;
1649
+ flex-direction: column;
1650
+ gap: 8px;
1651
+ }
1652
+ .gen-ui-input-label {
1653
+ font-size: 12px;
1654
+ font-weight: 500;
1655
+ color: #334155;
1656
+ margin: 0;
1657
+ }
1658
+ .gen-ui-input,
1659
+ .gen-ui-textarea {
1660
+ width: 100%;
1661
+ padding: 10px 12px;
1662
+ border: 1px solid #cbd5e1;
1663
+ border-radius: 8px;
1664
+ font-size: 13px;
1665
+ color: #0f172a;
1666
+ background-color: #ffffff;
1667
+ outline: none;
1668
+ transition: border-color 0.2s ease, box-shadow 0.2s ease;
1669
+ font-family: inherit;
1670
+ }
1671
+ .gen-ui-input::placeholder,
1672
+ .gen-ui-textarea::placeholder {
1673
+ color: #94a3b8;
1674
+ }
1675
+ .gen-ui-input:focus,
1676
+ .gen-ui-textarea:focus {
1677
+ border-color: #3b82f6;
1678
+ box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
1679
+ }
1680
+ .gen-ui-input:disabled,
1681
+ .gen-ui-textarea:disabled {
1682
+ background-color: #f1f5f9;
1683
+ cursor: not-allowed;
1684
+ opacity: 0.6;
1685
+ }
1686
+ .gen-ui-textarea {
1687
+ min-height: 80px;
1688
+ resize: vertical;
1689
+ }
1690
+ .gen-ui-select-wrapper {
1691
+ display: flex;
1692
+ flex-direction: column;
1693
+ gap: 8px;
1694
+ }
1695
+ .gen-ui-select-label {
1696
+ font-size: 12px;
1697
+ font-weight: 500;
1698
+ color: #334155;
1699
+ margin: 0;
1700
+ }
1701
+ .gen-ui-select {
1702
+ width: 100%;
1703
+ padding: 10px 12px;
1704
+ border: 1px solid #cbd5e1;
1705
+ border-radius: 8px;
1706
+ font-size: 13px;
1707
+ color: #0f172a;
1708
+ background-color: #ffffff;
1709
+ outline: none;
1710
+ transition: border-color 0.2s ease, box-shadow 0.2s ease;
1711
+ cursor: pointer;
1712
+ font-family: inherit;
1713
+ }
1714
+ .gen-ui-select:focus {
1715
+ border-color: #3b82f6;
1716
+ box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
1717
+ }
1718
+ .gen-ui-select:disabled {
1719
+ background-color: #f1f5f9;
1720
+ cursor: not-allowed;
1721
+ opacity: 0.6;
1722
+ }
1723
+ .gen-ui-button {
1724
+ display: inline-flex;
1725
+ align-items: center;
1726
+ justify-content: center;
1727
+ padding: 10px 16px;
1728
+ border-radius: 8px;
1729
+ font-size: 13px;
1730
+ font-weight: 500;
1731
+ border: none;
1732
+ cursor: pointer;
1733
+ transition: all 0.2s ease;
1734
+ font-family: inherit;
1735
+ outline: none;
1736
+ background: #2563eb;
1737
+ color: #ffffff;
1738
+ }
1739
+ .gen-ui-button:hover {
1740
+ background: #1d4ed8;
1741
+ }
1742
+ .gen-ui-button:active {
1743
+ transform: scale(0.98);
1744
+ }
1745
+ .gen-ui-button:disabled {
1746
+ background: #cbd5e1;
1747
+ cursor: not-allowed;
1748
+ opacity: 0.6;
1749
+ }
1750
+ .gen-ui-card {
1751
+ border: 1px solid #e2e8f0;
1752
+ border-radius: 12px;
1753
+ padding: 16px;
1754
+ background-color: #ffffff;
1755
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
1756
+ transition: box-shadow 0.2s ease;
1757
+ }
1758
+ .gen-ui-card:hover {
1759
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
1760
+ }
1761
+ .gen-ui-card-title {
1762
+ font-size: 16px;
1763
+ font-weight: 600;
1764
+ color: #0f172a;
1765
+ margin: 0 0 8px 0;
1766
+ }
1767
+ .gen-ui-card-content {
1768
+ font-size: 13px;
1769
+ color: #334155;
1770
+ margin: 0;
1771
+ line-height: 1.5;
1772
+ }
1773
+ .gen-ui-list {
1774
+ list-style-type: disc;
1775
+ padding-left: 20px;
1776
+ margin: 0;
1777
+ }
1778
+ .gen-ui-list-item {
1779
+ font-size: 13px;
1780
+ color: #1e293b;
1781
+ line-height: 1.6;
1782
+ margin-bottom: 4px;
1783
+ }
1784
+ .gen-ui-list-item:last-child {
1785
+ margin-bottom: 0;
1786
+ }
1787
+ .gen-ui-image {
1788
+ max-width: 100%;
1789
+ height: auto;
1790
+ border-radius: 8px;
1791
+ display: block;
1792
+ }
1793
+ .gen-ui-link {
1794
+ color: #2563eb;
1795
+ text-decoration: none;
1796
+ font-size: 13px;
1797
+ transition: color 0.2s ease;
1798
+ }
1799
+ .gen-ui-link:hover {
1800
+ color: #1d4ed8;
1801
+ text-decoration: underline;
1802
+ }
1803
+ .gen-ui-link:visited {
1804
+ color: #2563eb;
1805
+ }
1806
+ .gen-ui-table-wrapper {
1807
+ width: 100%;
1808
+ overflow-x: auto;
1809
+ border: 1px solid #e2e8f0;
1810
+ border-radius: 12px;
1811
+ background-color: #ffffff;
1812
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
1813
+ }
1814
+ .gen-ui-table {
1815
+ width: 100%;
1816
+ border-collapse: collapse;
1817
+ min-width: 100%;
1818
+ }
1819
+ .gen-ui-table-header {
1820
+ background-color: #f8fafc;
1821
+ }
1822
+ .gen-ui-table-th {
1823
+ padding: 12px 16px;
1824
+ text-align: left;
1825
+ font-size: 12px;
1826
+ font-weight: 600;
1827
+ color: #334155;
1828
+ border-bottom: 2px solid #e2e8f0;
1829
+ white-space: nowrap;
1830
+ }
1831
+ .gen-ui-table-body tr {
1832
+ transition: background-color 0.2s ease;
1833
+ }
1834
+ .gen-ui-table-body tr:hover {
1835
+ background-color: #f8fafc;
1836
+ }
1837
+ .gen-ui-table-body tr:not(:last-child) {
1838
+ border-bottom: 1px solid #e2e8f0;
1839
+ }
1840
+ .gen-ui-table-td {
1841
+ padding: 12px 16px;
1842
+ font-size: 13px;
1843
+ color: #1e293b;
1844
+ vertical-align: middle;
1845
+ }
1846
+ .gen-ui-form {
1847
+ display: flex;
1848
+ flex-direction: column;
1849
+ gap: 16px;
1850
+ width: 100%;
1851
+ }
1852
+ /*# sourceMappingURL=index.css.map */