petter2025 commited on
Commit
409be37
·
verified ·
1 Parent(s): 19e8cef

Update ui/styles.py

Browse files
Files changed (1) hide show
  1. ui/styles.py +198 -1
ui/styles.py CHANGED
@@ -341,4 +341,201 @@ def print_installation_status():
341
  print("=" * 70)
342
 
343
  except Exception as e:
344
- print(f"⚠️ Could not print installation status: {e}")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
341
  print("=" * 70)
342
 
343
  except Exception as e:
344
+ print(f"⚠️ Could not print installation status: {e}")
345
+
346
+
347
+ def get_styles() -> str:
348
+ """Return CSS styles for ARF demo - ADDED THIS FUNCTION"""
349
+ return """
350
+ /* ARF Demo Styles - Professional Dark Theme */
351
+ :root {
352
+ --primary: #3b82f6;
353
+ --primary-dark: #1d4ed8;
354
+ --success: #10b981;
355
+ --danger: #ef4444;
356
+ --warning: #f59e0b;
357
+ --dark-bg: #0f172a;
358
+ --dark-card: #1e293b;
359
+ --dark-border: #334155;
360
+ --dark-text: #f8fafc;
361
+ --dark-muted: #94a3b8;
362
+ }
363
+
364
+ /* Modern Glass Effect */
365
+ .glass {
366
+ background: rgba(255, 255, 255, 0.05);
367
+ backdrop-filter: blur(10px);
368
+ border: 1px solid rgba(255, 255, 255, 0.1);
369
+ }
370
+
371
+ /* Professional Card Styling */
372
+ .arf-card {
373
+ border: 1px solid var(--dark-border);
374
+ border-radius: 14px;
375
+ padding: 20px;
376
+ background: var(--dark-card);
377
+ box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
378
+ transition: transform 0.2s ease, box-shadow 0.2s ease;
379
+ }
380
+
381
+ .arf-card:hover {
382
+ transform: translateY(-2px);
383
+ box-shadow: 0 8px 30px rgba(0, 0, 0, 0.4);
384
+ }
385
+
386
+ /* Tab Navigation */
387
+ .tab-nav {
388
+ background: var(--dark-bg);
389
+ border-bottom: 2px solid var(--dark-border);
390
+ }
391
+
392
+ .tab-nav .tab {
393
+ padding: 12px 24px;
394
+ font-weight: 600;
395
+ border-radius: 8px 8px 0 0;
396
+ border: 2px solid transparent;
397
+ border-bottom: none;
398
+ transition: all 0.2s ease;
399
+ }
400
+
401
+ .tab-nav .tab.selected {
402
+ background: var(--dark-card);
403
+ border-color: var(--dark-border);
404
+ color: var(--primary);
405
+ }
406
+
407
+ /* Button Styling */
408
+ button {
409
+ border-radius: 10px !important;
410
+ font-weight: 600 !important;
411
+ transition: all 0.2s ease !important;
412
+ }
413
+
414
+ button.primary {
415
+ background: linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%) !important;
416
+ border: none !important;
417
+ color: white !important;
418
+ }
419
+
420
+ button.secondary {
421
+ background: var(--dark-card) !important;
422
+ border: 2px solid var(--dark-border) !important;
423
+ color: var(--dark-text) !important;
424
+ }
425
+
426
+ button:hover {
427
+ transform: translateY(-1px);
428
+ box-shadow: 0 4px 12px rgba(59, 130, 246, 0.3) !important;
429
+ }
430
+
431
+ /* Header Gradient */
432
+ .header-gradient {
433
+ background: linear-gradient(135deg, #1e3a8a 0%, #3b82f6 100%);
434
+ border-radius: 16px;
435
+ box-shadow: 0 8px 32px rgba(59, 130, 246, 0.15);
436
+ }
437
+
438
+ /* Status Indicators */
439
+ .status-success {
440
+ background: linear-gradient(135deg, #10b981 0%, #059669 100%);
441
+ color: white;
442
+ padding: 4px 12px;
443
+ border-radius: 20px;
444
+ font-size: 12px;
445
+ font-weight: bold;
446
+ display: inline-flex;
447
+ align-items: center;
448
+ gap: 6px;
449
+ }
450
+
451
+ .status-warning {
452
+ background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
453
+ color: white;
454
+ padding: 4px 12px;
455
+ border-radius: 20px;
456
+ font-size: 12px;
457
+ font-weight: bold;
458
+ display: inline-flex;
459
+ align-items: center;
460
+ gap: 6px;
461
+ }
462
+
463
+ .status-danger {
464
+ background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
465
+ color: white;
466
+ padding: 4px 12px;
467
+ border-radius: 20px;
468
+ font-size: 12px;
469
+ font-weight: bold;
470
+ display: inline-flex;
471
+ align-items: center;
472
+ gap: 6px;
473
+ }
474
+
475
+ /* Metric Cards */
476
+ .metric-card {
477
+ border-left: 4px solid var(--primary);
478
+ border-radius: 12px;
479
+ padding: 18px;
480
+ background: var(--dark-card);
481
+ margin: 8px;
482
+ text-align: center;
483
+ flex: 1;
484
+ min-width: 140px;
485
+ }
486
+
487
+ .metric-value {
488
+ font-size: 28px;
489
+ font-weight: bold;
490
+ color: var(--primary);
491
+ margin: 8px 0;
492
+ }
493
+
494
+ /* Agent Cards */
495
+ .agent-card {
496
+ border: 2px solid var(--dark-border);
497
+ border-radius: 14px;
498
+ padding: 18px;
499
+ background: var(--dark-card);
500
+ text-align: center;
501
+ min-height: 180px;
502
+ display: flex;
503
+ flex-direction: column;
504
+ align-items: center;
505
+ justify-content: center;
506
+ }
507
+
508
+ .agent-card.active {
509
+ border-color: var(--success);
510
+ background: rgba(16, 185, 129, 0.1);
511
+ }
512
+
513
+ /* Responsive Design */
514
+ @media (max-width: 768px) {
515
+ .arf-card {
516
+ padding: 15px;
517
+ }
518
+
519
+ .metric-card {
520
+ min-width: 100%;
521
+ }
522
+ }
523
+
524
+ /* Custom Scrollbar */
525
+ ::-webkit-scrollbar {
526
+ width: 8px;
527
+ }
528
+
529
+ ::-webkit-scrollbar-track {
530
+ background: var(--dark-bg);
531
+ }
532
+
533
+ ::-webkit-scrollbar-thumb {
534
+ background: var(--dark-border);
535
+ border-radius: 4px;
536
+ }
537
+
538
+ ::-webkit-scrollbar-thumb:hover {
539
+ background: var(--dark-muted);
540
+ }
541
+ """