Krish-05 commited on
Commit
c19916a
·
verified ·
1 Parent(s): f27d99c

Update frontend/src/index.css

Browse files
Files changed (1) hide show
  1. frontend/src/index.css +48 -112
frontend/src/index.css CHANGED
@@ -1,5 +1,4 @@
1
  /* frontend/src/index.css */
2
-
3
  /* Tailwind CSS directives - MUST be at the very top */
4
  @tailwind base;
5
  @tailwind components;
@@ -27,7 +26,6 @@ html, body, #root, .app-wrapper {
27
  /* overflow: hidden is critical for entire page to prevent unwanted scrolling */
28
  overflow: hidden;
29
  }
30
-
31
  body {
32
  font-family: var(--fontFamily), -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
33
  -webkit-font-smoothing: antialiased;
@@ -74,48 +72,40 @@ main {
74
  height: var(--header-height); /* Set fixed height for header if known */
75
  box-sizing: border-box; /* Include padding in height calculation */
76
  }
77
-
78
  .logo {
79
  display: flex;
80
  align-items: center;
81
  gap: 10px;
82
  }
83
-
84
  .logo img {
85
  height: 40px;
86
  width: auto;
87
  }
88
-
89
  .logo .brand-names {
90
  display: flex;
91
  flex-direction: column;
92
  line-height: 1.2;
93
  }
94
-
95
  .logo .main-brand {
96
  font-size: 1.8em;
97
  font-weight: bold;
98
  color: var(--text-color);
99
  }
100
-
101
  .logo .sub-brand {
102
  font-size: 0.9em;
103
  color: #777;
104
  }
105
-
106
  .app-header nav {
107
  display: flex;
108
  align-items: center;
109
  gap: 1rem;
110
  }
111
-
112
  .app-header nav a {
113
  text-decoration: none;
114
  color: var(--text-color);
115
  font-weight: 500;
116
  transition: color 0.3s ease;
117
  }
118
-
119
  .app-header nav a:hover {
120
  color: var(--primary-color);
121
  }
@@ -140,7 +130,6 @@ main {
140
  font-weight: 600;
141
  transition: color 0.3s ease;
142
  }
143
-
144
  .link-green:hover {
145
  color: var(--green-button-hover-bg) !important;
146
  }
@@ -157,17 +146,14 @@ main {
157
  text-decoration: none;
158
  display: inline-block;
159
  box-sizing: border-box;
160
-
161
  background-color: var(--green-button-bg);
162
  color: var(--white-color) !important;
163
  transition: background-color 0.3s ease, color 0.3s ease;
164
  }
165
-
166
  .btn-solid-green:hover {
167
  background-color: var(--green-button-hover-bg);
168
  color: var(--white-color) !important;
169
  }
170
-
171
  .btn-secondary {
172
  background-color: transparent;
173
  border: 1px solid var(--border-color);
@@ -183,7 +169,6 @@ main {
183
  color: #555;
184
  }
185
 
186
-
187
  /* --- Auth Forms --- */
188
  .auth-container { width: 100%; display: flex; justify-content: center; }
189
  .auth-form { width: 100%; max-width: 400px; padding: 2rem; }
@@ -202,7 +187,7 @@ main {
202
  .error-message { color: red; text-align: center; margin-bottom: 1rem; }
203
  .auth-form .btn-primary { width: 100%; padding: 0.75rem; }
204
 
205
- /* --- Chat Layout (from chatinterface.css, merged and adapted) --- */
206
  .chat-layout {
207
  display: flex;
208
  width: 100%;
@@ -220,7 +205,7 @@ main {
220
  display: flex;
221
  flex-direction: column;
222
  justify-content: space-between; /* Pushes content to top and bottom */
223
- flex-shrink: 0;
224
  height: 100%; /* Make sidebar take full height of chat-layout */
225
  box-sizing: border-box;
226
  }
@@ -253,7 +238,6 @@ main {
253
  .new-chat-btn:hover {
254
  background-color: var(--green-button-hover-bg);
255
  }
256
-
257
  .new-chat-btn .plus-icon {
258
  font-size: 1.2rem;
259
  font-weight: bold;
@@ -293,33 +277,33 @@ main {
293
  color: var(--dark-green-text); /* Keep dark green text when active */
294
  }
295
 
296
- /* Main chat content area (from chatinterface.css, merged) */
297
  .chat-main {
298
  flex-grow: 1;
299
  display: flex;
300
  flex-direction: column;
301
- justify-content: space-between; /* From chatinterface.css */
302
- background-color: #f9f9f9; /* From chatinterface.css */
303
  height: 100%; /* Ensures it takes full height of parent */
304
  box-sizing: border-box; /* Include padding in height calculation */
305
- overflow-y: auto; /* Enable scrolling for main content like history page */
306
  }
307
 
308
- /* Chat Messages Area (from chatinterface.css, merged) */
309
  .chat-messages {
310
- flex-grow: 1;
311
  overflow-y: auto; /* Enable scrolling for messages */
312
- padding: 20px; /* From chatinterface.css */
313
  display: flex;
314
  flex-direction: column;
315
- gap: 15px; /* Spacing between message wrappers from chatinterface.css */
316
  }
317
 
318
- /* Empty Chat Placeholder (from chatinterface.css, merged) */
319
  .empty-chat-placeholder {
320
  text-align: center;
321
- padding: 50px; /* From chatinterface.css */
322
- color: #666; /* From chatinterface.css */
323
  flex-grow: 1; /* Pushes content to the bottom if few messages */
324
  display: flex;
325
  flex-direction: column;
@@ -342,8 +326,7 @@ main {
342
  margin-top: 20px;
343
  }
344
 
345
-
346
- /* Message Wrapper (contains avatar and bubble) (from chatinterface.css, merged) */
347
  .message-wrapper {
348
  display: flex; /* Use flexbox for layout of avatar and bubble */
349
  align-items: flex-start; /* Align items to the top */
@@ -356,7 +339,7 @@ main {
356
  flex-direction: row-reverse; /* Put avatar on the right for user */
357
  }
358
 
359
- /* Chat Avatar Styling (from chatinterface.css, merged) */
360
  .chat-avatar {
361
  font-size: 24px; /* Still useful for user emoji */
362
  padding: 8px;
@@ -387,32 +370,27 @@ main {
387
  border-radius: 50%; /* Ensure the image itself is also rounded */
388
  }
389
 
390
- /* Message Bubble Styling (from chatinterface.css, merged) */
391
  .message-bubble {
392
- background-color: #f0f0f0;
393
  padding: 12px 18px;
394
  border-radius: 20px;
395
  max-width: 70%; /* Limit message width */
396
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
397
-
398
- /* --- THE KEY CSS PROPERTY FOR NEWLINES --- */
399
  white-space: pre-wrap; /* This will make '\n' characters create new lines */
400
- /* --- END KEY CSS PROPERTY --- */
401
-
402
  word-break: break-word; /* Ensure long words break within the bubble */
403
  overflow-wrap: break-word; /* Modern equivalent */
404
  }
405
 
406
  /* Specific styling for assistant bubbles */
407
  .message-wrapper.assistant .message-bubble {
408
- background-color: #e6f7ff; /* Light blue for assistant */
409
  border-bottom-left-radius: 5px; /* Pointy bottom-left for assistant */
410
  margin-right: auto; /* Push to left, next to sidebar */
411
  }
412
 
413
  /* Specific styling for user bubbles */
414
  .message-wrapper.user .message-bubble {
415
- background-color: #d1e7dd; /* Light green for user */
416
  border-bottom-right-radius: 5px; /* Pointy bottom-right for user */
417
  margin-left: auto; /* Push to right */
418
  }
@@ -422,61 +400,47 @@ main {
422
  animation: blink 1s step-end infinite;
423
  display: inline-block; /* Essential for it to be visible next to text */
424
  width: 0.5em; /* Give it a small width */
425
- background-color: var(--text-color); /* From original index.css */
426
  }
427
-
428
  @keyframes blink {
429
  from, to { opacity: 1; }
430
  50% { opacity: 0; }
431
  }
432
 
433
-
434
- /* Chat Input Area (from chatinterface.css, merged) */
435
  .chat-input-area {
436
- padding: 20px; /* From chatinterface.css */
437
- border-top: 1px solid #eee; /* From chatinterface.css */
438
- background-color: #fff; /* From chatinterface.css */
439
  }
440
-
441
  .chat-form {
442
  display: flex;
443
- gap: 10px; /* From chatinterface.css */
444
  }
445
-
446
  .chat-form input[type="text"] {
447
  flex-grow: 1;
448
- padding: 12px; /* From chatinterface.css */
449
- border: 1px solid #ccc; /* From chatinterface.css */
450
- border-radius: 25px; /* From chatinterface.css */
451
- font-size: 16px; /* From chatinterface.css */
452
  outline: none;
453
- background-color: #fafafa; /* Using existing variable if possible, else direct value */
454
  }
455
-
456
  .chat-form button {
457
- padding: 12px 20px; /* From chatinterface.css */
458
- background-color: #007bff; /* From chatinterface.css */
459
- color: white; /* From chatinterface.css */
460
  border: none;
461
- border-radius: 25px; /* From chatinterface.css */
462
  cursor: pointer;
463
- font-size: 16px; /* From chatinterface.css */
464
  transition: background-color 0.2s;
465
- /* Using primary-color for consistency */
466
- background-color: var(--primary-color);
467
- color: var(--white-color);
468
- border-radius: 6px; /* Adjusted to match other buttons */
469
- padding: 0.75rem 1rem; /* Adjusted to match other buttons */
470
  }
471
-
472
  .chat-form button:hover:not(:disabled) {
473
- background-color: #0056b3; /* Darker blue from chatinterface.css */
474
- /* Using hover color from primary-color for consistency */
475
  background-color: #1e9d4e;
476
  }
477
-
478
  .chat-form button:disabled {
479
- background-color: #a0a0a0; /* From chatinterface.css */
480
  cursor: not-allowed;
481
  }
482
 
@@ -486,7 +450,6 @@ main {
486
  align-items: center;
487
  gap: 0.5rem;
488
  }
489
-
490
  .voice-record-btn {
491
  padding: 0.5rem;
492
  border-radius: 50%;
@@ -501,47 +464,40 @@ main {
501
  height: 40px;
502
  transition: background-color 0.2s;
503
  }
504
-
505
  .voice-record-btn:hover:not(:disabled) {
506
  background-color: #dc2626; /* Darker red on hover */
507
  }
508
-
509
  .voice-record-btn.recording {
510
  background-color: #f87171; /* Lighter red when recording */
511
  animation: pulse 1.5s infinite; /* Add a pulse animation when recording */
512
  }
513
-
514
  @keyframes pulse {
515
  0% { transform: scale(1); box-shadow: 0 0 0 0 rgba(248, 113, 113, 0.7); }
516
  70% { transform: scale(1.1); box-shadow: 0 0 0 10px rgba(248, 113, 113, 0); }
517
  100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(248, 113, 113, 0); }
518
  }
519
-
520
  .sound-wave {
521
  flex-grow: 1; /* Allow visualizer to take available space */
522
  height: 40px; /* Adjust height as needed */
523
  margin-left: 0.5rem;
524
  }
525
 
526
-
527
- /* --- History Page Styles (from history.css, merged and adapted) --- */
528
  .history-title {
529
- color: var(--text-color); /* From history.css, using variable */
530
  margin-bottom: 20px;
531
- font-size: 24px; /* From history.css */
532
- padding: 0 20px; /* Added padding to align with chat-messages */
533
- margin-top: 20px; /* Added margin-top */
534
  }
535
-
536
  .history-list {
537
  list-style: none;
538
- padding: 0 20px; /* Added padding to align with chat-messages */
539
  }
540
-
541
  .history-item {
542
  background-color: #fff;
543
  border-radius: 8px;
544
- padding: 15px 20px; /* From history.css */
545
  margin-bottom: 10px;
546
  display: flex;
547
  align-items: center;
@@ -549,39 +505,33 @@ main {
549
  cursor: pointer;
550
  transition: background-color 0.2s ease-in-out;
551
  }
552
-
553
  .history-item:hover {
554
- background-color: #e9ecef; /* From history.css */
555
  }
556
-
557
  .history-icon {
558
  font-size: 24px;
559
  margin-right: 15px;
560
  }
561
-
562
  .history-details {
563
  flex-grow: 1;
564
  }
565
-
566
  .history-prompt {
567
- font-weight: bold; /* From history.css */
568
- color: #555; /* From history.css */
569
  margin-bottom: 5px;
570
  }
571
-
572
  .history-date {
573
- font-size: 0.85em; /* From history.css */
574
- color: #888; /* From history.css */
575
  }
576
 
577
- /* Conversation View Specific Styles (from history.css, merged) */
578
  .conversation-view {
579
  background-color: #fff;
580
  border-radius: 8px;
581
  padding: 20px;
582
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
583
  }
584
-
585
  .back-button {
586
  background-color: #007bff;
587
  color: white;
@@ -593,11 +543,9 @@ main {
593
  font-size: 16px;
594
  transition: background-color 0.2s ease-in-out;
595
  }
596
-
597
  .back-button:hover {
598
  background-color: #0056b3;
599
  }
600
-
601
  .conversation-title {
602
  color: #333;
603
  margin-bottom: 20px;
@@ -605,7 +553,6 @@ main {
605
  border-bottom: 1px solid #eee;
606
  padding-bottom: 10px;
607
  }
608
-
609
  .messages-list {
610
  max-height: 500px; /* Limit height and enable scrolling for messages */
611
  overflow-y: auto;
@@ -613,7 +560,6 @@ main {
613
  display: flex;
614
  flex-direction: column;
615
  }
616
-
617
  .message-item {
618
  margin-bottom: 15px;
619
  padding: 10px 15px;
@@ -621,40 +567,33 @@ main {
621
  max-width: 80%;
622
  clear: both; /* Good for floating elements, though flexbox often handles this */
623
  }
624
-
625
  .message-item.user {
626
  background-color: #dcf8c6; /* Light green for user messages */
627
  align-self: flex-end; /* Align to the right in a flex container */
628
  margin-left: auto; /* Push to the right */
629
  }
630
-
631
  .message-item.chatbot { /* Using .chatbot from history.css, convert to .assistant where needed in JSX */
632
  background-color: #e2e2e2; /* Light grey for chatbot messages */
633
  align-self: flex-start; /* Align to the left */
634
  margin-right: auto; /* Push to the left */
635
  }
636
-
637
  .message-sender {
638
  font-weight: bold;
639
  margin-bottom: 5px;
640
  font-size: 0.9em;
641
  }
642
-
643
  .message-item.user .message-sender {
644
  color: #3d8c1c; /* Darker green for user sender */
645
  }
646
-
647
  .message-item.chatbot .message-sender {
648
  color: #555;
649
  }
650
-
651
  .message-content {
652
  font-size: 1em;
653
  line-height: 1.4;
654
  word-wrap: break-word; /* Ensure long words wrap */
655
  white-space: pre-wrap; /* Ensure newlines are respected in history view */
656
  }
657
-
658
  .message-timestamp {
659
  font-size: 0.75em;
660
  color: #999;
@@ -738,7 +677,6 @@ main {
738
  .chat-input-area {
739
  padding: 1rem;
740
  }
741
-
742
  /* Adjustments for voice input on mobile if needed */
743
  .chat-form {
744
  flex-wrap: wrap; /* Allow input and buttons to wrap if screen is very small */
@@ -761,7 +699,6 @@ main {
761
  flex-grow: 1;
762
  max-width: calc(100% - 60px); /* Adjust based on button size */
763
  }
764
-
765
  /* Mobile adjustments for History Page */
766
  .history-title {
767
  padding: 0 1rem;
@@ -784,5 +721,4 @@ main {
784
  .history-date {
785
  text-align: left; /* Align date to left when stacked */
786
  }
787
-
788
  }
 
1
  /* frontend/src/index.css */
 
2
  /* Tailwind CSS directives - MUST be at the very top */
3
  @tailwind base;
4
  @tailwind components;
 
26
  /* overflow: hidden is critical for entire page to prevent unwanted scrolling */
27
  overflow: hidden;
28
  }
 
29
  body {
30
  font-family: var(--fontFamily), -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
31
  -webkit-font-smoothing: antialiased;
 
72
  height: var(--header-height); /* Set fixed height for header if known */
73
  box-sizing: border-box; /* Include padding in height calculation */
74
  }
 
75
  .logo {
76
  display: flex;
77
  align-items: center;
78
  gap: 10px;
79
  }
 
80
  .logo img {
81
  height: 40px;
82
  width: auto;
83
  }
 
84
  .logo .brand-names {
85
  display: flex;
86
  flex-direction: column;
87
  line-height: 1.2;
88
  }
 
89
  .logo .main-brand {
90
  font-size: 1.8em;
91
  font-weight: bold;
92
  color: var(--text-color);
93
  }
 
94
  .logo .sub-brand {
95
  font-size: 0.9em;
96
  color: #777;
97
  }
 
98
  .app-header nav {
99
  display: flex;
100
  align-items: center;
101
  gap: 1rem;
102
  }
 
103
  .app-header nav a {
104
  text-decoration: none;
105
  color: var(--text-color);
106
  font-weight: 500;
107
  transition: color 0.3s ease;
108
  }
 
109
  .app-header nav a:hover {
110
  color: var(--primary-color);
111
  }
 
130
  font-weight: 600;
131
  transition: color 0.3s ease;
132
  }
 
133
  .link-green:hover {
134
  color: var(--green-button-hover-bg) !important;
135
  }
 
146
  text-decoration: none;
147
  display: inline-block;
148
  box-sizing: border-box;
 
149
  background-color: var(--green-button-bg);
150
  color: var(--white-color) !important;
151
  transition: background-color 0.3s ease, color 0.3s ease;
152
  }
 
153
  .btn-solid-green:hover {
154
  background-color: var(--green-button-hover-bg);
155
  color: var(--white-color) !important;
156
  }
 
157
  .btn-secondary {
158
  background-color: transparent;
159
  border: 1px solid var(--border-color);
 
169
  color: #555;
170
  }
171
 
 
172
  /* --- Auth Forms --- */
173
  .auth-container { width: 100%; display: flex; justify-content: center; }
174
  .auth-form { width: 100%; max-width: 400px; padding: 2rem; }
 
187
  .error-message { color: red; text-align: center; margin-bottom: 1rem; }
188
  .auth-form .btn-primary { width: 100%; padding: 0.75rem; }
189
 
190
+ /* --- Chat Layout (main container for sidebar and chat content) --- */
191
  .chat-layout {
192
  display: flex;
193
  width: 100%;
 
205
  display: flex;
206
  flex-direction: column;
207
  justify-content: space-between; /* Pushes content to top and bottom */
208
+ flex-shrink: 0; /* Prevent sidebar from shrinking */
209
  height: 100%; /* Make sidebar take full height of chat-layout */
210
  box-sizing: border-box;
211
  }
 
238
  .new-chat-btn:hover {
239
  background-color: var(--green-button-hover-bg);
240
  }
 
241
  .new-chat-btn .plus-icon {
242
  font-size: 1.2rem;
243
  font-weight: bold;
 
277
  color: var(--dark-green-text); /* Keep dark green text when active */
278
  }
279
 
280
+ /* Main chat content area */
281
  .chat-main {
282
  flex-grow: 1;
283
  display: flex;
284
  flex-direction: column;
285
+ justify-content: space-between; /* This is fine, it separates messages from input */
286
+ background-color: #f9f9f9;
287
  height: 100%; /* Ensures it takes full height of parent */
288
  box-sizing: border-box; /* Include padding in height calculation */
289
+ /* REMOVED: overflow-y: auto; from chat-main to ensure only chat-messages scrolls */
290
  }
291
 
292
+ /* Chat Messages Area */
293
  .chat-messages {
294
+ flex-grow: 1; /* Allow messages to take available space and push input down */
295
  overflow-y: auto; /* Enable scrolling for messages */
296
+ padding: 20px;
297
  display: flex;
298
  flex-direction: column;
299
+ gap: 15px; /* Spacing between message wrappers */
300
  }
301
 
302
+ /* Empty Chat Placeholder */
303
  .empty-chat-placeholder {
304
  text-align: center;
305
+ padding: 50px;
306
+ color: #666;
307
  flex-grow: 1; /* Pushes content to the bottom if few messages */
308
  display: flex;
309
  flex-direction: column;
 
326
  margin-top: 20px;
327
  }
328
 
329
+ /* Message Wrapper (contains avatar and bubble) */
 
330
  .message-wrapper {
331
  display: flex; /* Use flexbox for layout of avatar and bubble */
332
  align-items: flex-start; /* Align items to the top */
 
339
  flex-direction: row-reverse; /* Put avatar on the right for user */
340
  }
341
 
342
+ /* Chat Avatar Styling */
343
  .chat-avatar {
344
  font-size: 24px; /* Still useful for user emoji */
345
  padding: 8px;
 
370
  border-radius: 50%; /* Ensure the image itself is also rounded */
371
  }
372
 
373
+ /* Message Bubble Styling */
374
  .message-bubble {
 
375
  padding: 12px 18px;
376
  border-radius: 20px;
377
  max-width: 70%; /* Limit message width */
378
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
 
 
379
  white-space: pre-wrap; /* This will make '\n' characters create new lines */
 
 
380
  word-break: break-word; /* Ensure long words break within the bubble */
381
  overflow-wrap: break-word; /* Modern equivalent */
382
  }
383
 
384
  /* Specific styling for assistant bubbles */
385
  .message-wrapper.assistant .message-bubble {
386
+ background-color: #DFE3E8; /* Changed background color for assistant */
387
  border-bottom-left-radius: 5px; /* Pointy bottom-left for assistant */
388
  margin-right: auto; /* Push to left, next to sidebar */
389
  }
390
 
391
  /* Specific styling for user bubbles */
392
  .message-wrapper.user .message-bubble {
393
+ background-color: #17DAFC; /* Changed background color for user */
394
  border-bottom-right-radius: 5px; /* Pointy bottom-right for user */
395
  margin-left: auto; /* Push to right */
396
  }
 
400
  animation: blink 1s step-end infinite;
401
  display: inline-block; /* Essential for it to be visible next to text */
402
  width: 0.5em; /* Give it a small width */
403
+ background-color: var(--text-color);
404
  }
 
405
  @keyframes blink {
406
  from, to { opacity: 1; }
407
  50% { opacity: 0; }
408
  }
409
 
410
+ /* Chat Input Area */
 
411
  .chat-input-area {
412
+ padding: 20px;
413
+ border-top: 1px solid #eee;
414
+ background-color: #fff;
415
  }
 
416
  .chat-form {
417
  display: flex;
418
+ gap: 10px;
419
  }
 
420
  .chat-form input[type="text"] {
421
  flex-grow: 1;
422
+ padding: 12px;
423
+ border: 1px solid #ccc;
424
+ border-radius: 25px;
425
+ font-size: 16px;
426
  outline: none;
427
+ background-color: #fafafa;
428
  }
 
429
  .chat-form button {
430
+ padding: 12px 20px;
431
+ background-color: var(--primary-color);
432
+ color: var(--white-color);
433
  border: none;
434
+ border-radius: 6px;
435
  cursor: pointer;
436
+ font-size: 16px;
437
  transition: background-color 0.2s;
 
 
 
 
 
438
  }
 
439
  .chat-form button:hover:not(:disabled) {
 
 
440
  background-color: #1e9d4e;
441
  }
 
442
  .chat-form button:disabled {
443
+ background-color: #a0a0a0;
444
  cursor: not-allowed;
445
  }
446
 
 
450
  align-items: center;
451
  gap: 0.5rem;
452
  }
 
453
  .voice-record-btn {
454
  padding: 0.5rem;
455
  border-radius: 50%;
 
464
  height: 40px;
465
  transition: background-color 0.2s;
466
  }
 
467
  .voice-record-btn:hover:not(:disabled) {
468
  background-color: #dc2626; /* Darker red on hover */
469
  }
 
470
  .voice-record-btn.recording {
471
  background-color: #f87171; /* Lighter red when recording */
472
  animation: pulse 1.5s infinite; /* Add a pulse animation when recording */
473
  }
 
474
  @keyframes pulse {
475
  0% { transform: scale(1); box-shadow: 0 0 0 0 rgba(248, 113, 113, 0.7); }
476
  70% { transform: scale(1.1); box-shadow: 0 0 0 10px rgba(248, 113, 113, 0); }
477
  100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(248, 113, 113, 0); }
478
  }
 
479
  .sound-wave {
480
  flex-grow: 1; /* Allow visualizer to take available space */
481
  height: 40px; /* Adjust height as needed */
482
  margin-left: 0.5rem;
483
  }
484
 
485
+ /* --- History Page Styles --- */
 
486
  .history-title {
487
+ color: var(--text-color);
488
  margin-bottom: 20px;
489
+ font-size: 24px;
490
+ padding: 0 20px;
491
+ margin-top: 20px;
492
  }
 
493
  .history-list {
494
  list-style: none;
495
+ padding: 0 20px;
496
  }
 
497
  .history-item {
498
  background-color: #fff;
499
  border-radius: 8px;
500
+ padding: 15px 20px;
501
  margin-bottom: 10px;
502
  display: flex;
503
  align-items: center;
 
505
  cursor: pointer;
506
  transition: background-color 0.2s ease-in-out;
507
  }
 
508
  .history-item:hover {
509
+ background-color: #e9ecef;
510
  }
 
511
  .history-icon {
512
  font-size: 24px;
513
  margin-right: 15px;
514
  }
 
515
  .history-details {
516
  flex-grow: 1;
517
  }
 
518
  .history-prompt {
519
+ font-weight: bold;
520
+ color: #555;
521
  margin-bottom: 5px;
522
  }
 
523
  .history-date {
524
+ font-size: 0.85em;
525
+ color: #888;
526
  }
527
 
528
+ /* Conversation View Specific Styles */
529
  .conversation-view {
530
  background-color: #fff;
531
  border-radius: 8px;
532
  padding: 20px;
533
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
534
  }
 
535
  .back-button {
536
  background-color: #007bff;
537
  color: white;
 
543
  font-size: 16px;
544
  transition: background-color 0.2s ease-in-out;
545
  }
 
546
  .back-button:hover {
547
  background-color: #0056b3;
548
  }
 
549
  .conversation-title {
550
  color: #333;
551
  margin-bottom: 20px;
 
553
  border-bottom: 1px solid #eee;
554
  padding-bottom: 10px;
555
  }
 
556
  .messages-list {
557
  max-height: 500px; /* Limit height and enable scrolling for messages */
558
  overflow-y: auto;
 
560
  display: flex;
561
  flex-direction: column;
562
  }
 
563
  .message-item {
564
  margin-bottom: 15px;
565
  padding: 10px 15px;
 
567
  max-width: 80%;
568
  clear: both; /* Good for floating elements, though flexbox often handles this */
569
  }
 
570
  .message-item.user {
571
  background-color: #dcf8c6; /* Light green for user messages */
572
  align-self: flex-end; /* Align to the right in a flex container */
573
  margin-left: auto; /* Push to the right */
574
  }
 
575
  .message-item.chatbot { /* Using .chatbot from history.css, convert to .assistant where needed in JSX */
576
  background-color: #e2e2e2; /* Light grey for chatbot messages */
577
  align-self: flex-start; /* Align to the left */
578
  margin-right: auto; /* Push to the left */
579
  }
 
580
  .message-sender {
581
  font-weight: bold;
582
  margin-bottom: 5px;
583
  font-size: 0.9em;
584
  }
 
585
  .message-item.user .message-sender {
586
  color: #3d8c1c; /* Darker green for user sender */
587
  }
 
588
  .message-item.chatbot .message-sender {
589
  color: #555;
590
  }
 
591
  .message-content {
592
  font-size: 1em;
593
  line-height: 1.4;
594
  word-wrap: break-word; /* Ensure long words wrap */
595
  white-space: pre-wrap; /* Ensure newlines are respected in history view */
596
  }
 
597
  .message-timestamp {
598
  font-size: 0.75em;
599
  color: #999;
 
677
  .chat-input-area {
678
  padding: 1rem;
679
  }
 
680
  /* Adjustments for voice input on mobile if needed */
681
  .chat-form {
682
  flex-wrap: wrap; /* Allow input and buttons to wrap if screen is very small */
 
699
  flex-grow: 1;
700
  max-width: calc(100% - 60px); /* Adjust based on button size */
701
  }
 
702
  /* Mobile adjustments for History Page */
703
  .history-title {
704
  padding: 0 1rem;
 
721
  .history-date {
722
  text-align: left; /* Align date to left when stacked */
723
  }
 
724
  }