Abdfah commited on
Commit
5c1fcc7
·
verified ·
1 Parent(s): dc4504a

Update style.css

Browse files
Files changed (1) hide show
  1. style.css +666 -18
style.css CHANGED
@@ -1,28 +1,676 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  body {
2
- padding: 2rem;
3
- font-family: -apple-system, BlinkMacSystemFont, "Arial", sans-serif;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4
  }
5
 
6
- h1 {
7
- font-size: 16px;
8
- margin-top: 0;
9
  }
10
 
11
- p {
12
- color: rgb(107, 114, 128);
13
- font-size: 15px;
14
- margin-bottom: 10px;
15
- margin-top: 5px;
16
  }
17
 
18
- .card {
19
- max-width: 620px;
20
- margin: 0 auto;
21
- padding: 16px;
22
- border: 1px solid lightgray;
23
- border-radius: 16px;
24
  }
25
 
26
- .card p:last-child {
27
- margin-bottom: 0;
 
28
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* Main styles for CyberGuard AI Assistant */
2
+ :root {
3
+ --primary-color: #2563eb;
4
+ --primary-hover: #1d4ed8;
5
+ --secondary-color: #0f172a;
6
+ --accent-color: #3b82f6;
7
+ --light-bg: #f8fafc;
8
+ --dark-bg: #1e293b;
9
+ --text-light: #f1f5f9;
10
+ --text-dark: #334155;
11
+ --border-color: #e2e8f0;
12
+ --success-color: #10b981;
13
+ --error-color: #ef4444;
14
+ --warning-color: #f59e0b;
15
+ --info-color: #3b82f6;
16
+ --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
17
+ --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
18
+ --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
19
+ --radius-sm: 0.25rem;
20
+ --radius-md: 0.375rem;
21
+ --radius-lg: 0.5rem;
22
+ --radius-xl: 0.75rem;
23
+ --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
24
+ --sidebar-width: 320px;
25
+ --header-height: 60px;
26
+ }
27
+
28
+ * {
29
+ margin: 0;
30
+ padding: 0;
31
+ box-sizing: border-box;
32
+ font-family: var(--font-sans);
33
+ }
34
+
35
  body {
36
+ background-color: var(--light-bg);
37
+ color: var(--text-dark);
38
+ line-height: 1.5;
39
+ }
40
+
41
+ .app-container {
42
+ display: flex;
43
+ height: 100vh;
44
+ position: relative;
45
+ overflow: hidden;
46
+ }
47
+
48
+ /* Sidebar styles */
49
+ .sidebar {
50
+ width: var(--sidebar-width);
51
+ background-color: var(--secondary-color);
52
+ color: var(--text-light);
53
+ height: 100%;
54
+ overflow-y: auto;
55
+ transition: transform 0.3s ease;
56
+ position: fixed;
57
+ top: 0;
58
+ left: 0;
59
+ bottom: 0;
60
+ z-index: 100;
61
+ box-shadow: var(--shadow-lg);
62
+ transform: translateX(-100%);
63
+ }
64
+
65
+ .sidebar.active {
66
+ transform: translateX(0);
67
+ }
68
+
69
+ .sidebar-header {
70
+ padding: 1.25rem;
71
+ display: flex;
72
+ justify-content: space-between;
73
+ align-items: center;
74
+ border-bottom: 1px solid rgba(255, 255, 255, 0.1);
75
+ }
76
+
77
+ .sidebar-header h2 {
78
+ font-size: 1.25rem;
79
+ font-weight: 600;
80
+ }
81
+
82
+ .new-chat-btn {
83
+ display: flex;
84
+ align-items: center;
85
+ gap: 0.5rem;
86
+ background-color: var(--primary-color);
87
+ color: white;
88
+ border: none;
89
+ padding: 0.5rem 1rem;
90
+ border-radius: var(--radius-md);
91
+ cursor: pointer;
92
+ font-size: 0.875rem;
93
+ font-weight: 500;
94
+ transition: background-color 0.2s;
95
+ }
96
+
97
+ .new-chat-btn:hover {
98
+ background-color: var(--primary-hover);
99
+ }
100
+
101
+ #header-new-chat-btn {
102
+ margin-left: 0.5rem;
103
+ }
104
+
105
+ .conversation-list {
106
+ padding: 1rem;
107
+ }
108
+
109
+ .conversation-item {
110
+ display: flex;
111
+ align-items: center;
112
+ gap: 0.75rem;
113
+ padding: 0.75rem;
114
+ border-radius: var(--radius-md);
115
+ cursor: pointer;
116
+ transition: background-color 0.2s;
117
+ margin-bottom: 0.5rem;
118
+ overflow: hidden;
119
+ text-overflow: ellipsis;
120
+ white-space: nowrap;
121
+ }
122
+
123
+ .conversation-item:hover {
124
+ background-color: rgba(255, 255, 255, 0.1);
125
+ }
126
+
127
+ .conversation-item.active {
128
+ background-color: rgba(59, 130, 246, 0.2);
129
+ }
130
+
131
+ .conversation-item i {
132
+ color: var(--accent-color);
133
+ }
134
+
135
+ .conversation-title {
136
+ font-size: 0.9rem;
137
+ flex: 1;
138
+ overflow: hidden;
139
+ text-overflow: ellipsis;
140
+ }
141
+
142
+ .conversation-time {
143
+ font-size: 0.75rem;
144
+ color: rgba(255, 255, 255, 0.6);
145
+ }
146
+
147
+ /* Chat container styles */
148
+ .chat-container {
149
+ flex: 1;
150
+ display: flex;
151
+ flex-direction: column;
152
+ height: 100%;
153
+ margin-left: 0;
154
+ transition: margin-left 0.3s ease;
155
+ }
156
+
157
+ .chat-container.sidebar-open {
158
+ margin-left: var(--sidebar-width);
159
+ }
160
+
161
+ .chat-header {
162
+ height: var(--header-height);
163
+ background-color: white;
164
+ border-bottom: 1px solid var(--border-color);
165
+ display: flex;
166
+ align-items: center;
167
+ padding: 0 1rem;
168
+ position: sticky;
169
+ top: 0;
170
+ z-index: 10;
171
+ box-shadow: var(--shadow-sm);
172
+ }
173
+
174
+ .menu-toggle {
175
+ background: none;
176
+ border: none;
177
+ font-size: 1.25rem;
178
+ cursor: pointer;
179
+ width: 40px;
180
+ height: 40px;
181
+ display: flex;
182
+ align-items: center;
183
+ justify-content: center;
184
+ border-radius: 50%;
185
+ transition: background-color 0.2s;
186
+ color: var(--text-dark);
187
+ }
188
+
189
+ .menu-toggle:hover {
190
+ background-color: var(--border-color);
191
+ }
192
+
193
+ .chat-title {
194
+ font-size: 1.125rem;
195
+ font-weight: 600;
196
+ margin-left: 1rem;
197
+ flex: 1;
198
+ }
199
+
200
+ .header-actions {
201
+ display: flex;
202
+ align-items: center;
203
+ gap: 0.75rem;
204
+ position: relative;
205
+ }
206
+
207
+ .language-btn, .info-btn {
208
+ background: none;
209
+ border: none;
210
+ font-size: 1rem;
211
+ cursor: pointer;
212
+ width: 40px;
213
+ height: 40px;
214
+ display: flex;
215
+ align-items: center;
216
+ justify-content: center;
217
+ border-radius: 50%;
218
+ transition: background-color 0.2s;
219
+ color: var(--text-dark);
220
+ }
221
+
222
+ .language-btn {
223
+ width: auto;
224
+ padding: 0 0.75rem;
225
+ border-radius: var(--radius-md);
226
+ gap: 0.5rem;
227
+ }
228
+
229
+ .language-btn:hover, .info-btn:hover {
230
+ background-color: var(--border-color);
231
+ }
232
+
233
+ .language-dropdown {
234
+ position: absolute;
235
+ top: 100%;
236
+ right: 0;
237
+ background-color: white;
238
+ border-radius: var(--radius-md);
239
+ box-shadow: var(--shadow-lg);
240
+ width: 180px;
241
+ z-index: 100;
242
+ overflow: hidden;
243
+ display: none;
244
+ }
245
+
246
+ .language-dropdown.active {
247
+ display: block;
248
+ }
249
+
250
+ .language-option {
251
+ padding: 0.75rem 1rem;
252
+ cursor: pointer;
253
+ transition: background-color 0.2s;
254
+ }
255
+
256
+ .language-option:hover {
257
+ background-color: var(--light-bg);
258
+ }
259
+
260
+ /* Chat messages area */
261
+ .chat-messages {
262
+ flex: 1;
263
+ overflow-y: auto;
264
+ padding: 1rem;
265
+ display: flex;
266
+ flex-direction: column;
267
+ gap: 1.5rem;
268
+ }
269
+
270
+ .welcome-container {
271
+ display: flex;
272
+ flex-direction: column;
273
+ align-items: center;
274
+ justify-content: center;
275
+ text-align: center;
276
+ padding: 2rem 1rem;
277
+ max-width: 700px;
278
+ margin: auto;
279
+ }
280
+
281
+ .welcome-logo {
282
+ font-size: 3rem;
283
+ color: var(--primary-color);
284
+ margin-bottom: 1.5rem;
285
+ height: 80px;
286
+ width: 80px;
287
+ border-radius: 50%;
288
+ background-color: rgba(37, 99, 235, 0.1);
289
+ display: flex;
290
+ align-items: center;
291
+ justify-content: center;
292
+ }
293
+
294
+ .welcome-container h1 {
295
+ margin-bottom: 1rem;
296
+ font-size: 2rem;
297
+ font-weight: 700;
298
+ color: var(--secondary-color);
299
+ }
300
+
301
+ .welcome-container p {
302
+ margin-bottom: 2rem;
303
+ font-size: 1.125rem;
304
+ color: var(--text-dark);
305
+ max-width: 600px;
306
+ }
307
+
308
+ .example-queries {
309
+ display: grid;
310
+ grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
311
+ gap: 1rem;
312
+ width: 100%;
313
+ }
314
+
315
+ .example-query {
316
+ background-color: white;
317
+ padding: 1rem;
318
+ border-radius: var(--radius-lg);
319
+ box-shadow: var(--shadow-md);
320
+ display: flex;
321
+ align-items: center;
322
+ gap: 0.75rem;
323
+ cursor: pointer;
324
+ transition: transform 0.2s, box-shadow 0.2s;
325
+ text-align: left;
326
+ }
327
+
328
+ .example-query:hover {
329
+ transform: translateY(-2px);
330
+ box-shadow: var(--shadow-lg);
331
+ }
332
+
333
+ .example-query i {
334
+ color: var(--primary-color);
335
+ font-size: 1.25rem;
336
+ }
337
+
338
+ .message {
339
+ display: flex;
340
+ gap: 1rem;
341
+ max-width: 900px;
342
+ margin: 0 auto;
343
+ width: 100%;
344
+ }
345
+
346
+ .message-avatar {
347
+ width: 40px;
348
+ height: 40px;
349
+ border-radius: 50%;
350
+ display: flex;
351
+ align-items: center;
352
+ justify-content: center;
353
+ flex-shrink: 0;
354
+ font-size: 1.25rem;
355
  }
356
 
357
+ .message.user .message-avatar {
358
+ background-color: var(--primary-color);
359
+ color: white;
360
  }
361
 
362
+ .message.bot .message-avatar {
363
+ background-color: var(--secondary-color);
364
+ color: white;
 
 
365
  }
366
 
367
+ .message-content {
368
+ background-color: white;
369
+ padding: 1rem;
370
+ border-radius: var(--radius-lg);
371
+ box-shadow: var(--shadow-md);
372
+ flex: 1;
373
  }
374
 
375
+ .message.user .message-content {
376
+ background-color: var(--primary-color);
377
+ color: white;
378
  }
379
+
380
+ .message-content p {
381
+ margin-bottom: 0.75rem;
382
+ }
383
+
384
+ .message-content p:last-child {
385
+ margin-bottom: 0;
386
+ }
387
+
388
+ .message-content pre {
389
+ background-color: #f1f5f9;
390
+ padding: 1rem;
391
+ border-radius: var(--radius-md);
392
+ overflow-x: auto;
393
+ margin: 0.75rem 0;
394
+ font-family: monospace;
395
+ }
396
+
397
+ .message.user .message-content pre {
398
+ background-color: rgba(0, 0, 0, 0.1);
399
+ }
400
+
401
+ .message-time {
402
+ font-size: 0.75rem;
403
+ color: #64748b;
404
+ margin-top: 0.5rem;
405
+ text-align: right;
406
+ }
407
+
408
+ .message.user .message-time {
409
+ color: rgba(255, 255, 255, 0.8);
410
+ }
411
+
412
+ /* Input area */
413
+ .chat-input-container {
414
+ padding: 1rem;
415
+ background-color: white;
416
+ border-top: 1px solid var(--border-color);
417
+ position: sticky;
418
+ bottom: 0;
419
+ z-index: 10;
420
+ }
421
+
422
+ .chat-input-wrapper {
423
+ display: flex;
424
+ align-items: center;
425
+ background-color: var(--light-bg);
426
+ border-radius: var(--radius-lg);
427
+ padding: 0.5rem 1rem;
428
+ box-shadow: var(--shadow-sm);
429
+ border: 1px solid var(--border-color);
430
+ }
431
+
432
+ .chat-input-wrapper:focus-within {
433
+ box-shadow: 0 0 0 2px var(--primary-color);
434
+ }
435
+
436
+ #user-input {
437
+ flex: 1;
438
+ border: none;
439
+ background: none;
440
+ outline: none;
441
+ padding: 0.75rem 0;
442
+ resize: none;
443
+ font-size: 1rem;
444
+ max-height: 150px;
445
+ }
446
+
447
+ .send-btn {
448
+ background-color: var(--primary-color);
449
+ color: white;
450
+ border: none;
451
+ width: 40px;
452
+ height: 40px;
453
+ border-radius: 50%;
454
+ display: flex;
455
+ align-items: center;
456
+ justify-content: center;
457
+ cursor: pointer;
458
+ transition: background-color 0.2s;
459
+ margin-left: 0.5rem;
460
+ }
461
+
462
+ .send-btn:hover {
463
+ background-color: var(--primary-hover);
464
+ }
465
+
466
+ .send-btn:disabled {
467
+ background-color: var(--border-color);
468
+ cursor: not-allowed;
469
+ }
470
+
471
+ .typing-indicator {
472
+ display: none;
473
+ padding: 0.75rem 0 0;
474
+ text-align: center;
475
+ }
476
+
477
+ .typing-indicator.active {
478
+ display: block;
479
+ }
480
+
481
+ .typing-indicator span {
482
+ display: inline-block;
483
+ width: 10px;
484
+ height: 10px;
485
+ background-color: var(--primary-color);
486
+ border-radius: 50%;
487
+ margin: 0 2px;
488
+ opacity: 0.6;
489
+ animation: bounce 1.4s infinite ease-in-out;
490
+ }
491
+
492
+ .typing-indicator span:nth-child(1) {
493
+ animation-delay: 0s;
494
+ }
495
+
496
+ .typing-indicator span:nth-child(2) {
497
+ animation-delay: 0.2s;
498
+ }
499
+
500
+ .typing-indicator span:nth-child(3) {
501
+ animation-delay: 0.4s;
502
+ }
503
+
504
+ @keyframes bounce {
505
+ 0%, 80%, 100% {
506
+ transform: translateY(0);
507
+ }
508
+ 40% {
509
+ transform: translateY(-10px);
510
+ }
511
+ }
512
+
513
+ /* Modal styles */
514
+ .modal {
515
+ position: fixed;
516
+ top: 0;
517
+ left: 0;
518
+ width: 100%;
519
+ height: 100%;
520
+ background-color: rgba(0, 0, 0, 0.5);
521
+ display: flex;
522
+ align-items: center;
523
+ justify-content: center;
524
+ z-index: 200;
525
+ opacity: 0;
526
+ visibility: hidden;
527
+ transition: opacity 0.3s, visibility 0.3s;
528
+ }
529
+
530
+ .modal.active {
531
+ opacity: 1;
532
+ visibility: visible;
533
+ }
534
+
535
+ .modal-content {
536
+ background-color: white;
537
+ border-radius: var(--radius-lg);
538
+ max-width: 600px;
539
+ width: 90%;
540
+ max-height: 90vh;
541
+ overflow-y: auto;
542
+ box-shadow: var(--shadow-lg);
543
+ transform: translateY(20px);
544
+ transition: transform 0.3s;
545
+ }
546
+
547
+ .modal.active .modal-content {
548
+ transform: translateY(0);
549
+ }
550
+
551
+ .modal-header {
552
+ padding: 1.25rem;
553
+ border-bottom: 1px solid var(--border-color);
554
+ display: flex;
555
+ justify-content: space-between;
556
+ align-items: center;
557
+ }
558
+
559
+ .modal-header h2 {
560
+ font-size: 1.25rem;
561
+ font-weight: 600;
562
+ }
563
+
564
+ .close-modal {
565
+ font-size: 1.5rem;
566
+ cursor: pointer;
567
+ opacity: 0.7;
568
+ transition: opacity 0.2s;
569
+ }
570
+
571
+ .close-modal:hover {
572
+ opacity: 1;
573
+ }
574
+
575
+ .modal-body {
576
+ padding: 1.5rem;
577
+ }
578
+
579
+ .modal-body h3 {
580
+ margin: 1.5rem 0 0.75rem;
581
+ color: var(--secondary-color);
582
+ }
583
+
584
+ .modal-body ul {
585
+ margin-left: 1.5rem;
586
+ margin-bottom: 1.5rem;
587
+ }
588
+
589
+ .modal-body ul li {
590
+ margin-bottom: 0.5rem;
591
+ }
592
+
593
+ .modal-footer {
594
+ margin-top: 2rem;
595
+ padding-top: 1rem;
596
+ border-top: 1px solid var(--border-color);
597
+ text-align: center;
598
+ font-size: 0.875rem;
599
+ color: var(--text-dark);
600
+ }
601
+
602
+ .language-selection {
603
+ display: grid;
604
+ grid-template-columns: repeat(2, 1fr);
605
+ gap: 1rem;
606
+ }
607
+
608
+ .language-selection .language-option {
609
+ display: flex;
610
+ align-items: center;
611
+ gap: 0.75rem;
612
+ padding: 1rem;
613
+ border-radius: var(--radius-md);
614
+ cursor: pointer;
615
+ transition: background-color 0.2s;
616
+ border: 1px solid var(--border-color);
617
+ }
618
+
619
+ .language-selection .language-option:hover {
620
+ background-color: var(--light-bg);
621
+ }
622
+
623
+ .language-selection .language-option.active {
624
+ border-color: var(--primary-color);
625
+ background-color: rgba(37, 99, 235, 0.05);
626
+ }
627
+
628
+ /* Responsive styles */
629
+ @media (max-width: 992px) {
630
+ #header-new-chat-btn span {
631
+ display: none;
632
+ }
633
+
634
+ #header-new-chat-btn {
635
+ width: 40px;
636
+ height: 40px;
637
+ border-radius: 50%;
638
+ padding: 0;
639
+ justify-content: center;
640
+ }
641
+ }
642
+
643
+ @media (max-width: 768px) {
644
+ .sidebar {
645
+ width: 85%;
646
+ max-width: 320px;
647
+ }
648
+
649
+ .chat-container.sidebar-open {
650
+ margin-left: 0;
651
+ }
652
+
653
+ .example-queries {
654
+ grid-template-columns: 1fr;
655
+ }
656
+
657
+ .welcome-container h1 {
658
+ font-size: 1.75rem;
659
+ }
660
+
661
+ .welcome-container p {
662
+ font-size: 1rem;
663
+ }
664
+
665
+ .modal-content {
666
+ width: 95%;
667
+ }
668
+
669
+ .language-selection {
670
+ grid-template-columns: 1fr;
671
+ }
672
+
673
+ .header-actions {
674
+ gap: 0.5rem;
675
+ }
676
+ }