cryogenic22 commited on
Commit
02c0eab
·
verified ·
1 Parent(s): ef2f773

Create css/styles.css

Browse files
Files changed (1) hide show
  1. css/styles.css +686 -0
css/styles.css ADDED
@@ -0,0 +1,686 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* Doc_Map_Agent Styles */
2
+
3
+ :root {
4
+ --primary-color: #2c3e50;
5
+ --secondary-color: #3498db;
6
+ --accent-color: #e74c3c;
7
+ --light-color: #ecf0f1;
8
+ --dark-color: #2c3e50;
9
+ --success-color: #2ecc71;
10
+ --warning-color: #f39c12;
11
+ --danger-color: #e74c3c;
12
+ --text-color: #333;
13
+ --border-radius: 4px;
14
+ --box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
15
+ --transition: all 0.3s ease;
16
+ }
17
+
18
+ * {
19
+ box-sizing: border-box;
20
+ margin: 0;
21
+ padding: 0;
22
+ }
23
+
24
+ body {
25
+ font-family: 'Roboto', Arial, sans-serif;
26
+ line-height: 1.6;
27
+ color: var(--text-color);
28
+ background-color: #f5f7fa;
29
+ }
30
+
31
+ .container {
32
+ width: 100%;
33
+ max-width: 1200px;
34
+ margin: 0 auto;
35
+ padding: 0 15px;
36
+ }
37
+
38
+ /* Header Styles */
39
+ header {
40
+ background-color: var(--primary-color);
41
+ color: white;
42
+ padding: 1rem 0;
43
+ box-shadow: var(--box-shadow);
44
+ }
45
+
46
+ .header-container {
47
+ display: flex;
48
+ justify-content: space-between;
49
+ align-items: center;
50
+ }
51
+
52
+ .logo {
53
+ display: flex;
54
+ align-items: center;
55
+ }
56
+
57
+ .logo img {
58
+ height: 40px;
59
+ margin-right: 10px;
60
+ background-color: #fff; /* Add background for placeholder visibility */
61
+ border-radius: 50%;
62
+ }
63
+
64
+ .logo h1 {
65
+ font-size: 1.5rem;
66
+ font-weight: 500;
67
+ }
68
+
69
+ .header-actions {
70
+ display: flex;
71
+ align-items: center;
72
+ }
73
+
74
+ .search-bar {
75
+ margin-right: 15px;
76
+ position: relative;
77
+ }
78
+
79
+ .search-bar input {
80
+ padding: 8px 15px;
81
+ border-radius: 20px;
82
+ border: none;
83
+ width: 200px;
84
+ font-size: 0.9rem;
85
+ }
86
+
87
+ .search-bar button {
88
+ position: absolute;
89
+ right: 0px;
90
+ top: 0;
91
+ height: 100%;
92
+ width: 40px;
93
+ background: var(--secondary-color);
94
+ border: none;
95
+ color: white;
96
+ border-radius: 0 20px 20px 0;
97
+ cursor: pointer;
98
+ transition: var(--transition);
99
+ }
100
+ .search-bar button:hover {
101
+ background: #2980b9;
102
+ }
103
+
104
+
105
+ .settings-btn {
106
+ background: none;
107
+ border: none;
108
+ color: white;
109
+ cursor: pointer;
110
+ font-size: 1.2rem;
111
+ }
112
+
113
+ /* Breadcrumb */
114
+ .breadcrumb {
115
+ padding: 0.8rem 0;
116
+ background-color: #fff;
117
+ border-bottom: 1px solid #ddd;
118
+ font-size: 0.9rem;
119
+ }
120
+
121
+ .breadcrumb ul {
122
+ list-style: none;
123
+ display: flex;
124
+ flex-wrap: wrap; /* Allow wrapping on small screens */
125
+ }
126
+
127
+ .breadcrumb li {
128
+ margin-right: 8px;
129
+ white-space: nowrap;
130
+ }
131
+
132
+ .breadcrumb li:after {
133
+ content: ">";
134
+ margin-left: 8px;
135
+ color: #999;
136
+ }
137
+
138
+ .breadcrumb li:last-child:after {
139
+ content: "";
140
+ }
141
+
142
+ .breadcrumb a {
143
+ text-decoration: none;
144
+ color: var(--secondary-color);
145
+ cursor: pointer;
146
+ }
147
+ .breadcrumb a:hover {
148
+ text-decoration: underline;
149
+ }
150
+
151
+ .breadcrumb li:last-child a {
152
+ color: var(--text-color);
153
+ font-weight: 500;
154
+ cursor: default;
155
+ pointer-events: none; /* Prevent click on last item */
156
+ }
157
+
158
+ /* Main Content */
159
+ main {
160
+ padding: 2rem 0;
161
+ }
162
+
163
+ .page-section {
164
+ animation: fadeIn 0.5s ease-in-out;
165
+ }
166
+
167
+ @keyframes fadeIn {
168
+ from { opacity: 0; }
169
+ to { opacity: 1; }
170
+ }
171
+
172
+
173
+ .page-title {
174
+ margin-bottom: 1.5rem;
175
+ font-size: 1.8rem;
176
+ color: var(--primary-color);
177
+ border-bottom: 2px solid var(--secondary-color);
178
+ padding-bottom: 0.5rem;
179
+ }
180
+
181
+ /* Card Styles */
182
+ .card {
183
+ background-color: #fff;
184
+ border-radius: var(--border-radius);
185
+ box-shadow: var(--box-shadow);
186
+ margin-bottom: 1.5rem;
187
+ overflow: hidden; /* Important for child margins */
188
+ }
189
+
190
+ .card-header {
191
+ padding: 1rem 1.2rem;
192
+ background-color: var(--light-color);
193
+ border-bottom: 1px solid #ddd;
194
+ font-weight: 500;
195
+ color: var(--primary-color);
196
+ }
197
+
198
+ .card-body {
199
+ padding: 1.2rem;
200
+ }
201
+ .card-body p, .card-body ul {
202
+ margin-bottom: 0.8rem;
203
+ }
204
+ .card-body ul {
205
+ padding-left: 20px;
206
+ }
207
+ .card-body h4 {
208
+ margin-top: 1rem;
209
+ margin-bottom: 0.5rem;
210
+ color: var(--primary-color);
211
+ }
212
+ .card-body li {
213
+ margin-bottom: 0.3rem;
214
+ }
215
+
216
+ /* Grid Layout */
217
+ .grid {
218
+ display: grid;
219
+ grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
220
+ gap: 1.5rem;
221
+ }
222
+
223
+ /* Dashboard Cards */
224
+ .dashboard-card {
225
+ background-color: #fff;
226
+ border-radius: var(--border-radius);
227
+ box-shadow: var(--box-shadow);
228
+ padding: 1.5rem;
229
+ text-align: center;
230
+ transition: var(--transition);
231
+ cursor: pointer;
232
+ display: flex;
233
+ flex-direction: column;
234
+ justify-content: space-between;
235
+ }
236
+
237
+ .dashboard-card:hover {
238
+ transform: translateY(-5px);
239
+ box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
240
+ }
241
+
242
+ .dashboard-card i {
243
+ font-size: 2.5rem;
244
+ color: var(--secondary-color);
245
+ margin-bottom: 1rem;
246
+ }
247
+
248
+ .dashboard-card h3 {
249
+ margin-bottom: 0.5rem;
250
+ color: var(--primary-color);
251
+ }
252
+
253
+ .dashboard-card p {
254
+ color: #777;
255
+ font-size: 0.9rem;
256
+ flex-grow: 1; /* Push button down */
257
+ margin-bottom: 1rem;
258
+ }
259
+
260
+ /* Two Column Layout */
261
+ .two-column {
262
+ display: grid;
263
+ grid-template-columns: 250px 1fr; /* Fixed sidebar width */
264
+ gap: 1.5rem;
265
+ }
266
+
267
+ @media (max-width: 768px) {
268
+ .two-column {
269
+ grid-template-columns: 1fr;
270
+ }
271
+ .sidebar {
272
+ margin-bottom: 1.5rem; /* Add space when stacked */
273
+ }
274
+ }
275
+
276
+ /* Sidebar */
277
+ .sidebar {
278
+ background-color: #fff;
279
+ border-radius: var(--border-radius);
280
+ box-shadow: var(--box-shadow);
281
+ padding: 1.2rem;
282
+ height: fit-content; /* Stop sidebar stretching */
283
+ }
284
+
285
+ .sidebar-title {
286
+ margin-bottom: 1rem;
287
+ padding-bottom: 0.5rem;
288
+ border-bottom: 1px solid #ddd;
289
+ font-size: 1.2rem;
290
+ }
291
+
292
+ /* Filter Groups */
293
+ .filter-group {
294
+ margin-bottom: 1.5rem;
295
+ }
296
+
297
+ .filter-group h4 {
298
+ margin-bottom: 0.5rem;
299
+ font-size: 1rem;
300
+ }
301
+
302
+ .filter-options {
303
+ display: flex;
304
+ flex-direction: column;
305
+ max-height: 200px; /* Limit height for long lists */
306
+ overflow-y: auto; /* Add scroll if needed */
307
+ }
308
+
309
+ .filter-option {
310
+ margin-bottom: 0.5rem;
311
+ }
312
+
313
+ .filter-option label {
314
+ display: flex;
315
+ align-items: center;
316
+ cursor: pointer;
317
+ font-size: 0.9rem;
318
+ }
319
+
320
+ .filter-option input {
321
+ margin-right: 0.5rem;
322
+ }
323
+
324
+ /* Buttons */
325
+ .btn {
326
+ display: inline-block;
327
+ padding: 8px 15px;
328
+ border-radius: var(--border-radius);
329
+ border: none;
330
+ cursor: pointer;
331
+ font-size: 0.9rem;
332
+ transition: var(--transition);
333
+ text-decoration: none;
334
+ text-align: center;
335
+ font-weight: 500;
336
+ }
337
+
338
+ .btn-primary {
339
+ background-color: var(--secondary-color);
340
+ color: white;
341
+ }
342
+
343
+ .btn-primary:hover {
344
+ background-color: #2980b9;
345
+ }
346
+
347
+ .btn-secondary {
348
+ background-color: var(--light-color);
349
+ color: var(--text-color);
350
+ border: 1px solid #ccc;
351
+ }
352
+
353
+ .btn-secondary:hover {
354
+ background-color: #e0e0e0;
355
+ }
356
+
357
+ .btn-danger {
358
+ background-color: var(--danger-color);
359
+ color: white;
360
+ }
361
+
362
+ .btn-danger:hover {
363
+ background-color: #c0392b;
364
+ }
365
+
366
+ .btn-block {
367
+ display: block;
368
+ width: 100%;
369
+ }
370
+
371
+ /* Document Cards Container */
372
+ .document-card-container {
373
+ display: grid;
374
+ grid-template-columns: 1fr; /* Default single column */
375
+ gap: 1rem;
376
+ }
377
+
378
+ /* Adjust container for wider screens if desired */
379
+ /* @media (min-width: 992px) {
380
+ .document-card-container {
381
+ grid-template-columns: repeat(2, 1fr);
382
+ gap: 1.5rem;
383
+ }
384
+ } */
385
+
386
+
387
+ /* Document Cards */
388
+ .document-card {
389
+ background-color: #fff;
390
+ border-radius: var(--border-radius);
391
+ box-shadow: var(--box-shadow);
392
+ padding: 1.2rem;
393
+ transition: var(--transition);
394
+ border-left: 4px solid var(--light-color); /* Default border */
395
+ }
396
+ /* Add phase-specific colors */
397
+ .document-card[data-phase="Discovery"] { border-left-color: #1abc9c; }
398
+ .document-card[data-phase="Preclinical"] { border-left-color: #2ecc71; }
399
+ .document-card[data-phase="Preclinical/Clinical"] { border-left-color: #3498db; }
400
+ .document-card[data-phase="Clinical"] { border-left-color: #3498db; }
401
+ .document-card[data-phase="Regulatory"] { border-left-color: #9b59b6; }
402
+ .document-card[data-phase="Clinical/Regulatory"] { border-left-color: #9b59b6; }
403
+ .document-card[data-phase="Post-Marketing"] { border-left-color: #e67e22; }
404
+ .document-card[data-phase="Medical Affairs"] { border-left-color: #f1c40f; }
405
+
406
+
407
+ .document-card:hover {
408
+ box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
409
+ transform: scale(1.01);
410
+ }
411
+
412
+ .document-card h3 {
413
+ margin-bottom: 0.5rem;
414
+ color: var(--primary-color);
415
+ font-size: 1.1rem;
416
+ }
417
+
418
+ .document-card-meta {
419
+ display: flex;
420
+ flex-wrap: wrap;
421
+ gap: 0.5rem 1rem;
422
+ margin-bottom: 0.7rem;
423
+ }
424
+
425
+ .document-card-meta span {
426
+ font-size: 0.85rem;
427
+ color: #777;
428
+ display: flex;
429
+ align-items: center;
430
+ }
431
+ .document-card-meta i {
432
+ margin-right: 5px;
433
+ color: var(--secondary-color);
434
+ }
435
+
436
+
437
+ .document-card p.purpose {
438
+ font-size: 0.9rem;
439
+ color: #555;
440
+ margin-bottom: 1rem;
441
+ }
442
+
443
+
444
+ .document-card-actions {
445
+ margin-top: 1rem;
446
+ text-align: right;
447
+ }
448
+ .document-card-actions .btn {
449
+ font-size: 0.85rem;
450
+ padding: 6px 12px;
451
+ }
452
+
453
+ /* Forms */
454
+ .form-group {
455
+ margin-bottom: 1rem;
456
+ }
457
+
458
+ .form-group label {
459
+ display: block;
460
+ margin-bottom: 0.5rem;
461
+ font-weight: 500;
462
+ }
463
+
464
+ .form-control {
465
+ width: 100%;
466
+ padding: 8px 12px;
467
+ border-radius: var(--border-radius);
468
+ border: 1px solid #ddd;
469
+ font-size: 0.9rem;
470
+ }
471
+
472
+ .form-control:focus {
473
+ outline: none;
474
+ border-color: var(--secondary-color);
475
+ box-shadow: 0 0 0 2px rgba(52, 152, 219, 0.2);
476
+ }
477
+
478
+ textarea.form-control {
479
+ min-height: 100px;
480
+ resize: vertical;
481
+ }
482
+
483
+ /* Visualization Containers & Tabs */
484
+ .tabs {
485
+ border-bottom: 1px solid #ddd;
486
+ margin-bottom: 1.5rem;
487
+ }
488
+ .tab-button {
489
+ padding: 10px 15px;
490
+ cursor: pointer;
491
+ border: none;
492
+ background-color: transparent;
493
+ border-bottom: 3px solid transparent;
494
+ margin-bottom: -1px; /* Overlap border */
495
+ font-size: 1rem;
496
+ transition: var(--transition);
497
+ }
498
+ .tab-button:hover {
499
+ color: var(--secondary-color);
500
+ }
501
+ .tab-button.active {
502
+ border-bottom-color: var(--secondary-color);
503
+ color: var(--primary-color);
504
+ font-weight: 500;
505
+ }
506
+
507
+ .visualization-container {
508
+ min-height: 500px; /* Ensure space for the graph */
509
+ position: relative;
510
+ overflow: hidden; /* Contain SVG */
511
+ }
512
+
513
+ /* D3 Visualization Styles */
514
+ #dependency-network, #process-flow {
515
+ width: 100%;
516
+ height: 500px; /* Default height */
517
+ overflow: hidden; /* Hide scrollbars if SVG is larger */
518
+ }
519
+
520
+ #dependency-network svg, #process-flow svg {
521
+ display: block; /* Remove extra space below SVG */
522
+ width: 100%;
523
+ height: 100%;
524
+ }
525
+
526
+
527
+ /* D3 Dependency Graph Specifics */
528
+ .links line {
529
+ stroke-opacity: 0.6;
530
+ }
531
+
532
+ .nodes circle {
533
+ stroke: #fff;
534
+ stroke-width: 1.5px;
535
+ cursor: pointer;
536
+ }
537
+ .nodes circle:hover {
538
+ stroke: var(--primary-color);
539
+ }
540
+
541
+ .nodes text {
542
+ font-size: 10px;
543
+ pointer-events: none; /* Allow clicking through text to node */
544
+ fill: #333;
545
+ }
546
+ .nodes .node-label-bg { /* Optional background for better readability */
547
+ stroke: white;
548
+ stroke-width: 3px;
549
+ opacity: 0.8;
550
+ }
551
+
552
+
553
+ .legend {
554
+ font-size: 10px;
555
+ }
556
+ .legend rect, .legend line {
557
+ margin-right: 5px;
558
+ }
559
+
560
+
561
+ /* D3 Process Flow Specifics */
562
+ #process-flow .node rect {
563
+ fill: var(--secondary-color);
564
+ stroke: #2980b9;
565
+ stroke-width: 1px;
566
+ rx: 5; /* Rounded corners */
567
+ ry: 5;
568
+ }
569
+ #process-flow .node text {
570
+ fill: white;
571
+ font-size: 11px;
572
+ text-anchor: middle;
573
+ dominant-baseline: middle;
574
+ }
575
+ #process-flow .link {
576
+ fill: none;
577
+ stroke: #95a5a6;
578
+ stroke-width: 2px;
579
+ }
580
+ #process-flow marker path {
581
+ fill: #95a5a6;
582
+ }
583
+
584
+
585
+ /* Footer */
586
+ footer {
587
+ background-color: var(--dark-color); /* Use dark color */
588
+ color: var(--light-color); /* Light text */
589
+ padding: 1.5rem 0;
590
+ margin-top: 3rem;
591
+ }
592
+
593
+ .footer-container {
594
+ display: flex;
595
+ justify-content: space-between;
596
+ align-items: center;
597
+ flex-wrap: wrap; /* Allow wrapping */
598
+ gap: 1rem;
599
+ }
600
+
601
+ .footer-links a {
602
+ color: var(--light-color);
603
+ margin-left: 1rem;
604
+ text-decoration: none;
605
+ font-size: 0.9rem;
606
+ }
607
+
608
+ .footer-links a:hover {
609
+ text-decoration: underline;
610
+ color: var(--secondary-color);
611
+ }
612
+
613
+ /* Responsive Adjustments */
614
+ @media (max-width: 768px) {
615
+ .header-container {
616
+ flex-direction: column;
617
+ align-items: flex-start;
618
+ }
619
+
620
+ .header-actions {
621
+ margin-top: 1rem;
622
+ width: 100%;
623
+ flex-direction: column;
624
+ align-items: stretch;
625
+ }
626
+
627
+ .search-bar {
628
+ width: 100%;
629
+ margin-right: 0;
630
+ margin-bottom: 0.5rem;
631
+ }
632
+
633
+ .search-bar input {
634
+ width: 100%;
635
+ }
636
+ .search-bar button {
637
+ border-radius: 20px; /* Adjust button on mobile */
638
+ width: 100%;
639
+ position: static;
640
+ margin-top: 5px;
641
+ }
642
+
643
+ .settings-btn {
644
+ align-self: flex-end; /* Move settings button to right */
645
+ }
646
+
647
+ .grid {
648
+ grid-template-columns: 1fr;
649
+ }
650
+
651
+ .footer-container {
652
+ flex-direction: column;
653
+ text-align: center;
654
+ }
655
+ .footer-links {
656
+ margin-top: 1rem;
657
+ }
658
+ .footer-links a {
659
+ margin: 0 0.5rem;
660
+ }
661
+ }
662
+
663
+ /* Utility Classes */
664
+ .text-center { text-align: center; }
665
+ .mt-1 { margin-top: 0.5rem; }
666
+ .mt-2 { margin-top: 1rem; }
667
+ .mt-3 { margin-top: 1.5rem; }
668
+ .mb-1 { margin-bottom: 0.5rem; }
669
+ .mb-2 { margin-bottom: 1rem; }
670
+ .mb-3 { margin-bottom: 1.5rem; }
671
+ .p-1 { padding: 0.5rem; }
672
+ .p-2 { padding: 1rem; }
673
+ .p-3 { padding: 1.5rem; }
674
+
675
+ /* Visually hidden class for accessibility */
676
+ .sr-only {
677
+ position: absolute;
678
+ width: 1px;
679
+ height: 1px;
680
+ padding: 0;
681
+ margin: -1px;
682
+ overflow: hidden;
683
+ clip: rect(0, 0, 0, 0);
684
+ white-space: nowrap;
685
+ border-width: 0;
686
+ }