goctests0 commited on
Commit
7fe5601
·
verified ·
1 Parent(s): 03e0c3e

Upload style.css

Browse files
Files changed (1) hide show
  1. static/css/style.css +207 -0
static/css/style.css CHANGED
@@ -120,6 +120,38 @@ p {
120
  background: linear-gradient(155deg, var(--color-primary) 0%, var(--color-primary-dark) 130%);
121
  color: var(--color-text-on-primary);
122
  border-radius: 0 0 var(--radius-lg) var(--radius-lg);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
123
  }
124
 
125
  .app-header.provider {
@@ -393,6 +425,181 @@ textarea:focus, input[type="text"]:focus {
393
  margin-bottom: var(--space-4);
394
  }
395
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
396
  .result-label {
397
  font-size: var(--text-sm);
398
  font-weight: 600;
 
120
  background: linear-gradient(155deg, var(--color-primary) 0%, var(--color-primary-dark) 130%);
121
  color: var(--color-text-on-primary);
122
  border-radius: 0 0 var(--radius-lg) var(--radius-lg);
123
+ display: flex;
124
+ align-items: flex-start;
125
+ justify-content: space-between;
126
+ gap: var(--space-3);
127
+ }
128
+
129
+ .header-icon-btn {
130
+ width: 40px;
131
+ height: 40px;
132
+ border-radius: 50%;
133
+ border: none;
134
+ background: rgba(255, 255, 255, 0.18);
135
+ color: inherit;
136
+ display: flex;
137
+ align-items: center;
138
+ justify-content: center;
139
+ cursor: pointer;
140
+ flex-shrink: 0;
141
+ transition: background 150ms ease, transform 100ms ease;
142
+ }
143
+
144
+ .header-icon-btn:hover {
145
+ background: rgba(255, 255, 255, 0.28);
146
+ }
147
+
148
+ .header-icon-btn:active {
149
+ transform: scale(0.94);
150
+ }
151
+
152
+ .header-icon-btn svg {
153
+ width: 20px;
154
+ height: 20px;
155
  }
156
 
157
  .app-header.provider {
 
425
  margin-bottom: var(--space-4);
426
  }
427
 
428
+ .search-input {
429
+ width: 100%;
430
+ padding: var(--space-3) var(--space-4);
431
+ border: 1px solid var(--color-border);
432
+ border-radius: var(--radius);
433
+ font-size: var(--text-base);
434
+ font-family: inherit;
435
+ color: var(--color-text);
436
+ background: var(--color-surface);
437
+ }
438
+
439
+ .search-input:focus {
440
+ outline: none;
441
+ border-color: var(--color-primary);
442
+ box-shadow: 0 0 0 3px var(--color-primary-light);
443
+ }
444
+
445
+ .history-row {
446
+ cursor: pointer;
447
+ border: 1px solid var(--color-border);
448
+ border-radius: var(--radius);
449
+ padding: var(--space-3) var(--space-4);
450
+ margin-bottom: var(--space-3);
451
+ transition: box-shadow 150ms ease, border-color 150ms ease, transform 100ms ease;
452
+ }
453
+
454
+ .history-row:hover {
455
+ border-color: var(--color-primary);
456
+ box-shadow: var(--shadow-sm);
457
+ }
458
+
459
+ .history-row:active {
460
+ transform: scale(0.99);
461
+ }
462
+
463
+ .history-row:focus-visible {
464
+ outline: 2px solid var(--color-primary);
465
+ outline-offset: 2px;
466
+ }
467
+
468
+ .history-row .timestamp {
469
+ font-size: var(--text-sm);
470
+ color: var(--color-text-secondary);
471
+ font-weight: 400;
472
+ float: right;
473
+ }
474
+
475
+ /* Provider queue tabs (Waiting / Active / Completed) */
476
+ .queue-tabs {
477
+ display: flex;
478
+ gap: var(--space-2);
479
+ margin-bottom: var(--space-4);
480
+ }
481
+
482
+ .queue-tab {
483
+ flex: 1;
484
+ padding: var(--space-2) var(--space-3);
485
+ border: 1px solid var(--color-border);
486
+ border-radius: var(--radius);
487
+ background: var(--color-surface);
488
+ color: var(--color-text-secondary);
489
+ font-size: var(--text-sm);
490
+ font-weight: 600;
491
+ cursor: pointer;
492
+ transition: background 150ms ease, color 150ms ease, border-color 150ms ease;
493
+ }
494
+
495
+ .queue-tab:hover {
496
+ border-color: var(--color-provider-accent);
497
+ }
498
+
499
+ .queue-tab.active {
500
+ background: var(--color-provider-accent);
501
+ border-color: var(--color-provider-accent);
502
+ color: var(--color-text-on-provider-accent);
503
+ }
504
+
505
+ .queue-tab .tab-count {
506
+ opacity: 0.8;
507
+ margin-left: var(--space-1);
508
+ }
509
+
510
+ /* Workspace: reference/status line above the patient's message */
511
+ .workspace-meta {
512
+ display: flex;
513
+ align-items: center;
514
+ justify-content: space-between;
515
+ flex-wrap: wrap;
516
+ gap: var(--space-2);
517
+ margin-bottom: var(--space-2);
518
+ }
519
+
520
+ /* Original-language transcript, collapsed by default under the English
521
+ translation so the provider isn't required to read a language they
522
+ may not speak, but can always verify against the source. */
523
+ .original-transcript {
524
+ margin-top: var(--space-3);
525
+ font-size: var(--text-sm);
526
+ }
527
+
528
+ .original-transcript summary {
529
+ cursor: pointer;
530
+ color: var(--color-text-secondary);
531
+ font-weight: 600;
532
+ }
533
+
534
+ .original-transcript summary:hover {
535
+ color: var(--color-provider-accent-text);
536
+ }
537
+
538
+ .original-transcript p {
539
+ margin: var(--space-2) 0 0;
540
+ color: var(--color-text);
541
+ background: var(--color-bg);
542
+ border-radius: var(--radius-sm);
543
+ padding: var(--space-3);
544
+ }
545
+
546
+ /* Read-only rows for a patient's other consultations, shown for context
547
+ in the workspace. Deliberately not clickable - see the comment next to
548
+ #patient-history-list in provider.html for why. */
549
+ .history-row-static {
550
+ border: 1px solid var(--color-border);
551
+ border-radius: var(--radius);
552
+ padding: var(--space-3) var(--space-4);
553
+ margin-bottom: var(--space-3);
554
+ }
555
+
556
+ .history-row-static .timestamp {
557
+ float: right;
558
+ font-weight: 400;
559
+ }
560
+
561
+ /* Response composer preview: a real translation + real generated speech,
562
+ so it's visually set apart as "this is what actually gets sent",
563
+ distinct from the (still-editable, not-yet-committed) reply above it. */
564
+ .preview-block {
565
+ margin-top: var(--space-4);
566
+ padding: var(--space-4);
567
+ border: 1px dashed var(--color-provider-accent);
568
+ border-radius: var(--radius);
569
+ background: var(--color-provider-accent-light);
570
+ }
571
+
572
+ .preview-label {
573
+ font-size: var(--text-sm);
574
+ font-weight: 600;
575
+ color: var(--color-provider-accent-text);
576
+ margin-bottom: var(--space-3);
577
+ }
578
+
579
+ .preview-block .chat-bubble.from-provider {
580
+ margin-bottom: var(--space-3);
581
+ }
582
+
583
+ /* Keep the shared audio player on-brand in the provider context (rust
584
+ accent) instead of the patient page's green. */
585
+ .provider .audio-btn {
586
+ background: var(--color-provider-accent);
587
+ color: var(--color-text-on-provider-accent);
588
+ }
589
+
590
+ .provider .audio-btn:hover {
591
+ background: var(--color-provider-accent-text);
592
+ }
593
+
594
+ .provider .audio-btn-sm {
595
+ background: var(--color-provider-accent-light);
596
+ color: var(--color-provider-accent-text);
597
+ }
598
+
599
+ .provider .audio-seek {
600
+ accent-color: var(--color-provider-accent);
601
+ }
602
+
603
  .result-label {
604
  font-size: var(--text-sm);
605
  font-weight: 600;