omnira-ui 0.6.5 → 0.6.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (135) hide show
  1. package/README.md +16 -0
  2. package/app/globals.css +21 -1
  3. package/cli/omnira-init.mjs +50 -0
  4. package/components/ui/ActivityFeed/ActivityFeed.module.css +20 -20
  5. package/components/ui/ActivityGauge/ActivityGauge.module.css +1 -2
  6. package/components/ui/AgentThinking/AgentThinking.module.css +19 -10
  7. package/components/ui/AgentThinking/AgentThinking.tsx +160 -79
  8. package/components/ui/AssetAllocation/AssetAllocation.module.css +119 -0
  9. package/components/ui/AssetAllocation/AssetAllocation.tsx +88 -0
  10. package/components/ui/AssetAllocation/index.ts +2 -0
  11. package/components/ui/Button/Button.module.css +0 -1
  12. package/components/ui/ButtonUtility/ButtonUtility.module.css +0 -1
  13. package/components/ui/Card/Card.module.css +1 -2
  14. package/components/ui/CardHeader/CardHeader.module.css +1 -2
  15. package/components/ui/CashflowAnalytics/CashflowAnalytics.module.css +198 -0
  16. package/components/ui/CashflowAnalytics/CashflowAnalytics.tsx +133 -0
  17. package/components/ui/CashflowAnalytics/index.ts +2 -0
  18. package/components/ui/CashflowRing/CashflowRing.module.css +109 -0
  19. package/components/ui/CashflowRing/CashflowRing.tsx +84 -0
  20. package/components/ui/CashflowRing/index.ts +2 -0
  21. package/components/ui/CashflowSplit/CashflowSplit.module.css +209 -0
  22. package/components/ui/CashflowSplit/CashflowSplit.tsx +116 -0
  23. package/components/ui/CashflowSplit/index.ts +2 -0
  24. package/components/ui/CashflowSummary/CashflowSummary.module.css +136 -0
  25. package/components/ui/CashflowSummary/CashflowSummary.tsx +87 -0
  26. package/components/ui/CashflowSummary/index.ts +2 -0
  27. package/components/ui/CodeSnippet/CodeSnippet.module.css +38 -18
  28. package/components/ui/CodeSnippet/CodeSnippet.tsx +84 -2
  29. package/components/ui/ConvertCurrency/ConvertCurrency.module.css +163 -0
  30. package/components/ui/ConvertCurrency/ConvertCurrency.tsx +82 -0
  31. package/components/ui/ConvertCurrency/index.ts +2 -0
  32. package/components/ui/CreditCard/CreditCard.module.css +1 -2
  33. package/components/ui/CreditCardUsed/CreditCardUsed.module.css +144 -0
  34. package/components/ui/CreditCardUsed/CreditCardUsed.tsx +93 -0
  35. package/components/ui/CreditCardUsed/index.ts +2 -0
  36. package/components/ui/CreditPaymentPlanner/CreditPaymentPlanner.module.css +170 -0
  37. package/components/ui/CreditPaymentPlanner/CreditPaymentPlanner.tsx +120 -0
  38. package/components/ui/CreditPaymentPlanner/index.ts +2 -0
  39. package/components/ui/CreditScore/CreditScore.module.css +101 -0
  40. package/components/ui/CreditScore/CreditScore.tsx +92 -0
  41. package/components/ui/CreditScore/index.ts +2 -0
  42. package/components/ui/DailyRevenue/DailyRevenue.module.css +119 -0
  43. package/components/ui/DailyRevenue/DailyRevenue.tsx +70 -0
  44. package/components/ui/DailyRevenue/index.ts +2 -0
  45. package/components/ui/EmailTemplate/EmailTemplate.module.css +303 -0
  46. package/components/ui/EmailTemplate/EmailTemplate.tsx +298 -0
  47. package/components/ui/EmailTemplate/index.ts +2 -0
  48. package/components/ui/EmergencyFunds/EmergencyFunds.module.css +123 -0
  49. package/components/ui/EmergencyFunds/EmergencyFunds.tsx +79 -0
  50. package/components/ui/EmergencyFunds/index.ts +2 -0
  51. package/components/ui/EmptyState/EmptyState.module.css +1 -2
  52. package/components/ui/ExpensesChart/ExpensesChart.module.css +143 -0
  53. package/components/ui/ExpensesChart/ExpensesChart.tsx +82 -0
  54. package/components/ui/ExpensesChart/index.ts +2 -0
  55. package/components/ui/FinancialGrowth/FinancialGrowth.module.css +152 -0
  56. package/components/ui/FinancialGrowth/FinancialGrowth.tsx +81 -0
  57. package/components/ui/FinancialGrowth/index.ts +2 -0
  58. package/components/ui/ForgotPassword/ForgotPassword.module.css +332 -0
  59. package/components/ui/ForgotPassword/ForgotPassword.tsx +387 -0
  60. package/components/ui/ForgotPassword/index.ts +2 -0
  61. package/components/ui/GoalProgress/GoalProgress.module.css +144 -0
  62. package/components/ui/GoalProgress/GoalProgress.tsx +78 -0
  63. package/components/ui/GoalProgress/index.ts +2 -0
  64. package/components/ui/IncomeBreakdown/IncomeBreakdown.module.css +101 -0
  65. package/components/ui/IncomeBreakdown/IncomeBreakdown.tsx +62 -0
  66. package/components/ui/IncomeBreakdown/index.ts +2 -0
  67. package/components/ui/InvestmentChart/InvestmentChart.module.css +105 -0
  68. package/components/ui/InvestmentChart/InvestmentChart.tsx +71 -0
  69. package/components/ui/InvestmentChart/index.ts +2 -0
  70. package/components/ui/LanguageSelector/LanguageSelector.module.css +238 -0
  71. package/components/ui/LanguageSelector/LanguageSelector.tsx +261 -0
  72. package/components/ui/LanguageSelector/index.ts +7 -0
  73. package/components/ui/LanguageSelector/languageAbbrev.ts +18 -0
  74. package/components/ui/LanguageSelector/types.ts +9 -0
  75. package/components/ui/MarketingHeader/MarketingHeader.module.css +637 -0
  76. package/components/ui/MarketingHeader/MarketingHeader.tsx +531 -0
  77. package/components/ui/MarketingHeader/index.ts +8 -0
  78. package/components/ui/Messaging/Messaging.tsx +1 -1
  79. package/components/ui/Metric/Metric.module.css +3 -6
  80. package/components/ui/Modal/Modal.module.css +5 -3
  81. package/components/ui/MonthlySubscription/MonthlySubscription.module.css +145 -0
  82. package/components/ui/MonthlySubscription/MonthlySubscription.tsx +92 -0
  83. package/components/ui/MonthlySubscription/index.ts +2 -0
  84. package/components/ui/MyCard/MyCard.module.css +152 -0
  85. package/components/ui/MyCard/MyCard.tsx +77 -0
  86. package/components/ui/MyCard/index.ts +2 -0
  87. package/components/ui/NotFoundPage/NotFoundPage.module.css +270 -0
  88. package/components/ui/NotFoundPage/NotFoundPage.tsx +158 -0
  89. package/components/ui/NotFoundPage/index.ts +2 -0
  90. package/components/ui/PageHeader/PageHeader.module.css +1 -2
  91. package/components/ui/ProgressSteps/ProgressSteps.module.css +21 -21
  92. package/components/ui/Rating/Rating.module.css +0 -1
  93. package/components/ui/SavedMoney/SavedMoney.module.css +151 -0
  94. package/components/ui/SavedMoney/SavedMoney.tsx +92 -0
  95. package/components/ui/SavedMoney/index.ts +2 -0
  96. package/components/ui/SavingAccount/SavingAccount.module.css +227 -0
  97. package/components/ui/SavingAccount/SavingAccount.tsx +121 -0
  98. package/components/ui/SavingAccount/index.ts +2 -0
  99. package/components/ui/SavingsBuckets/SavingsBuckets.module.css +117 -0
  100. package/components/ui/SavingsBuckets/SavingsBuckets.tsx +74 -0
  101. package/components/ui/SavingsBuckets/index.ts +2 -0
  102. package/components/ui/SavingsGoals/SavingsGoals.module.css +176 -0
  103. package/components/ui/SavingsGoals/SavingsGoals.tsx +88 -0
  104. package/components/ui/SavingsGoals/index.ts +2 -0
  105. package/components/ui/SavingsMonthly/SavingsMonthly.module.css +227 -0
  106. package/components/ui/SavingsMonthly/SavingsMonthly.tsx +171 -0
  107. package/components/ui/SavingsMonthly/index.ts +2 -0
  108. package/components/ui/SendMoney/SendMoney.module.css +224 -0
  109. package/components/ui/SendMoney/SendMoney.tsx +98 -0
  110. package/components/ui/SendMoney/index.ts +2 -0
  111. package/components/ui/SendMoneyCompact/SendMoneyCompact.module.css +147 -0
  112. package/components/ui/SendMoneyCompact/SendMoneyCompact.tsx +64 -0
  113. package/components/ui/SendMoneyCompact/index.ts +2 -0
  114. package/components/ui/SlideOut/SlideOut.module.css +17 -13
  115. package/components/ui/SocialButton/SocialButton.module.css +0 -1
  116. package/components/ui/SpendingLimit/SpendingLimit.module.css +124 -0
  117. package/components/ui/SpendingLimit/SpendingLimit.tsx +73 -0
  118. package/components/ui/SpendingLimit/index.ts +2 -0
  119. package/components/ui/SpendsBreakdown/SpendsBreakdown.module.css +180 -0
  120. package/components/ui/SpendsBreakdown/SpendsBreakdown.tsx +107 -0
  121. package/components/ui/SpendsBreakdown/index.ts +2 -0
  122. package/components/ui/StockPosition/StockPosition.module.css +150 -0
  123. package/components/ui/StockPosition/StockPosition.tsx +84 -0
  124. package/components/ui/StockPosition/index.ts +2 -0
  125. package/components/ui/Table/Table.module.css +0 -1
  126. package/components/ui/TotalBalance/TotalBalance.module.css +112 -0
  127. package/components/ui/TotalBalance/TotalBalance.tsx +105 -0
  128. package/components/ui/TotalBalance/index.ts +2 -0
  129. package/components/ui/VerificationPage/VerificationPage.module.css +252 -0
  130. package/components/ui/VerificationPage/VerificationPage.tsx +287 -0
  131. package/components/ui/VerificationPage/index.ts +2 -0
  132. package/components/ui/WeeklyExpenditure/WeeklyExpenditure.module.css +101 -0
  133. package/components/ui/WeeklyExpenditure/WeeklyExpenditure.tsx +63 -0
  134. package/components/ui/WeeklyExpenditure/index.ts +2 -0
  135. package/package.json +2 -1
package/README.md CHANGED
@@ -122,6 +122,22 @@ Browse the full library and copy advanced components (Sidebar, Feature Cards, et
122
122
  - **User Account Menu** — Popup with profile, settings, account switching, sign out
123
123
  - **Search Bar** — Integrated ⌘K search component
124
124
 
125
+ ### Industry Widgets
126
+
127
+ Drop-in dashboard widgets that follow the system design tokens — accent colors track the configurator and never go off-system.
128
+
129
+ - **Fintech / Large** (10) — `CashflowAnalytics`, `SendMoney`, `CashflowSplit`, `SavingAccount`, `FinancialGrowth`, `SpendsBreakdown`, `SavingsMonthly`, `CreditPaymentPlanner`, `SavingsGoals`, `ExpensesChart`
130
+ - **Fintech / Medium** (20) — `EmergencyFunds`, `IncomeBreakdown`, `WeeklyExpenditure`, `CreditCardUsed`, `AssetAllocation`, `MonthlySubscription`, `SavingsBuckets`, `MyCard`, `ConvertCurrency`, `SendMoneyCompact`, `TotalBalance`, `StockPosition`, `SpendingLimit`, `GoalProgress`, `SavedMoney`, `CashflowSummary`, `CashflowRing`, `CreditScore`, `InvestmentChart`, `DailyRevenue`
131
+
132
+ Install all of one size in a single command:
133
+
134
+ ```bash
135
+ npx omnira-ui add fintech-widgets # 10 large widgets
136
+ npx omnira-ui add fintech-widgets-medium # 20 medium widgets
137
+ ```
138
+
139
+ Or grab any single widget by its kebab-case slug — e.g. `npx omnira-ui add cashflow-analytics`. Browse them at [omnira.one/docs/widgets/fintech](https://omnira.one/docs/widgets/fintech).
140
+
125
141
  ---
126
142
 
127
143
  ## Design System
package/app/globals.css CHANGED
@@ -13,29 +13,49 @@
13
13
 
14
14
  /* --- CSS Custom Properties: Dark Mode (Default) --- */
15
15
  [data-theme="dark"] {
16
+ /* Primary Accent (Mint/Teal for Pulse Dashboard) */
17
+ --color-primary: #3FC39E;
18
+ --color-primary-hover: #36B08E;
19
+ --color-primary-gradient: #2D9A7A;
20
+ --color-primary-text: #121212;
21
+
22
+ /* Legacy Lime Accent (Kept for backward compatibility with old components) */
16
23
  --color-lime: #D2FE17;
17
24
  --color-lime-hover: #c0e616;
18
25
  --color-lime-gradient: #ABC928;
19
26
  --color-lime-text: #121212;
20
27
 
28
+ /* Backgrounds */
21
29
  --color-bg-primary: #202020;
22
30
  --color-bg-secondary: #1a1a1a;
23
31
  --color-bg-card: rgba(248, 248, 248, 0.03);
24
32
  --color-bg-elevated: rgba(248, 248, 248, 0.06);
25
33
  --color-bg-input: rgba(248, 248, 248, 0.04);
26
34
  --color-bg-hover: rgba(248, 248, 248, 0.05);
35
+ --color-bg-sunken: rgba(248, 248, 248, 0.02);
27
36
  --color-bg-overlay: rgba(10, 10, 10, 0.97);
28
37
  --color-bg-sidebar: #1a1a1a;
29
38
 
39
+ /* Primary Accent Backgrounds */
40
+ --color-bg-primary-subtle: rgba(63, 195, 158, 0.06);
41
+ --color-bg-primary-medium: rgba(63, 195, 158, 0.08);
42
+ --color-bg-primary-strong: rgba(63, 195, 158, 0.12);
43
+
30
44
  --color-text-primary: rgba(248, 248, 248, 0.95);
31
45
  --color-text-secondary: rgba(248, 248, 248, 0.70);
32
46
  --color-text-tertiary: rgba(248, 248, 248, 0.50);
33
47
 
48
+ /* Borders */
34
49
  --color-border-subtle: rgba(255, 255, 255, 0.05);
35
50
  --color-border-standard: rgba(255, 255, 255, 0.06);
36
51
  --color-border-medium: rgba(255, 255, 255, 0.08);
37
52
  --color-border-strong: rgba(255, 255, 255, 0.15);
38
53
 
54
+ /* Primary Accent Borders */
55
+ --color-border-primary-subtle: rgba(63, 195, 158, 0.10);
56
+ --color-border-primary-medium: rgba(63, 195, 158, 0.15);
57
+ --color-border-primary-strong: rgba(63, 195, 158, 0.30);
58
+
39
59
  --color-border-lime-subtle: rgba(210, 254, 23, 0.1);
40
60
  --color-border-lime-medium: rgba(210, 254, 23, 0.15);
41
61
  --color-border-lime-strong: rgba(210, 254, 23, 0.3);
@@ -62,7 +82,7 @@
62
82
  --shadow-card-light: inset 1px 2px 12px rgba(248, 248, 248, 0.03), 0px 8px 28px rgba(0, 0, 0, 0.12);
63
83
  --shadow-card-accent: inset 2px 4px 16px rgba(210, 254, 23, 0.04), 0px 16px 48px rgba(0, 0, 0, 0.2);
64
84
  --shadow-card-hover: inset 2px 4px 16px rgba(248, 248, 248, 0.08), 0px 12px 40px rgba(0, 0, 0, 0.28);
65
- --shadow-btn-primary: 0 8px 24px rgba(210, 254, 23, 0.3);
85
+ --shadow-btn-primary: 0 8px 24px rgba(63, 195, 158, 0.3);
66
86
  --shadow-glow-lime: 0 0 8px rgba(210, 254, 23, 0.6), 0 0 16px rgba(210, 254, 23, 0.3);
67
87
 
68
88
  --gradient-text: linear-gradient(93deg, rgba(248, 248, 248, 0.9), rgba(248, 248, 248, 0.5));
@@ -406,6 +406,7 @@ const PAGE_BUNDLES = {
406
406
  // Navigation
407
407
  "sidebar-navigation": ["SidebarNavigation", "Button", "Avatar", "Badge", "Dropdown", "Toggle", "Tooltip"],
408
408
  "header-navigation": ["Button", "Avatar", "Badge", "Dropdown"],
409
+ "language-selector": ["LanguageSelector"],
409
410
  // Modals
410
411
  "modal": ["Modal", "Button", "Badge", "Input", "Toggle", "Checkbox"],
411
412
  "modals": ["Modal", "Button", "Badge", "Input", "Toggle", "Checkbox"],
@@ -487,6 +488,55 @@ const PAGE_BUNDLES = {
487
488
  // ── Shared pages bundles ──
488
489
  "login": ["AuthPage", "LoginSimple", "LoginSplitImage", "LoginSplitQuote", "LoginCardSeparated", "SocialButton", "Button", "Input", "Checkbox"],
489
490
  "sign-up": ["SignUpSimple", "SignUpSplitImage", "SignUpSplitQuote", "SignUpCardSeparated", "SocialButton", "Button", "Input", "Checkbox"],
491
+ "verification": ["VerificationPage", "Button", "PinInput"],
492
+ "forgot-password": ["ForgotPassword", "Button", "Input", "Checkbox"],
493
+ "not-found-page": ["NotFoundPage", "Button"],
494
+ "404": ["NotFoundPage", "Button"],
495
+ "email-template": ["EmailTemplate"],
496
+ // ── Marketing component bundles ──
497
+ "marketing-header": ["MarketingHeader", "Button"],
498
+ // ── Widget bundles — industry-specific UI blocks ──
499
+ "fintech-widgets": [
500
+ "CashflowAnalytics", "SendMoney", "CashflowSplit", "SavingAccount", "FinancialGrowth",
501
+ "SpendsBreakdown", "SavingsMonthly", "CreditPaymentPlanner", "SavingsGoals", "ExpensesChart",
502
+ ],
503
+ "cashflow-analytics": ["CashflowAnalytics"],
504
+ "send-money": ["SendMoney"],
505
+ "cashflow-split": ["CashflowSplit"],
506
+ "saving-account": ["SavingAccount"],
507
+ "financial-growth": ["FinancialGrowth"],
508
+ "spends-breakdown": ["SpendsBreakdown"],
509
+ "savings-monthly": ["SavingsMonthly"],
510
+ "credit-payment-planner": ["CreditPaymentPlanner"],
511
+ "savings-goals": ["SavingsGoals"],
512
+ "expenses-chart": ["ExpensesChart"],
513
+ // ── Medium fintech widgets ──
514
+ "fintech-widgets-medium": [
515
+ "EmergencyFunds", "IncomeBreakdown", "WeeklyExpenditure", "CreditCardUsed", "AssetAllocation",
516
+ "MonthlySubscription", "SavingsBuckets", "MyCard", "ConvertCurrency", "SendMoneyCompact",
517
+ "TotalBalance", "StockPosition", "SpendingLimit", "GoalProgress", "SavedMoney",
518
+ "CashflowSummary", "CashflowRing", "CreditScore", "InvestmentChart", "DailyRevenue",
519
+ ],
520
+ "emergency-funds": ["EmergencyFunds"],
521
+ "income-breakdown": ["IncomeBreakdown"],
522
+ "weekly-expenditure": ["WeeklyExpenditure"],
523
+ "credit-card-used": ["CreditCardUsed"],
524
+ "asset-allocation": ["AssetAllocation"],
525
+ "monthly-subscription": ["MonthlySubscription"],
526
+ "savings-buckets": ["SavingsBuckets"],
527
+ "my-card": ["MyCard"],
528
+ "convert-currency": ["ConvertCurrency"],
529
+ "send-money-compact": ["SendMoneyCompact"],
530
+ "total-balance": ["TotalBalance"],
531
+ "stock-position": ["StockPosition"],
532
+ "spending-limit": ["SpendingLimit"],
533
+ "goal-progress": ["GoalProgress"],
534
+ "saved-money": ["SavedMoney"],
535
+ "cashflow-summary": ["CashflowSummary"],
536
+ "cashflow-ring": ["CashflowRing"],
537
+ "credit-score": ["CreditScore"],
538
+ "investment-chart": ["InvestmentChart"],
539
+ "daily-revenue": ["DailyRevenue"],
490
540
  };
491
541
 
492
542
  // ── Add command — copy a single component ───────────────────────────
@@ -8,13 +8,13 @@
8
8
  background: var(--color-bg-card);
9
9
  border: 1px solid var(--color-border-standard);
10
10
  border-radius: var(--radius-xl);
11
- padding: 24px;
11
+ padding: 20px;
12
12
  }
13
13
 
14
14
  /* ── Item ── */
15
15
  .item {
16
16
  display: flex;
17
- gap: 12px;
17
+ gap: 10px;
18
18
  position: relative;
19
19
  }
20
20
 
@@ -32,27 +32,27 @@
32
32
  flex-direction: column;
33
33
  align-items: center;
34
34
  flex-shrink: 0;
35
- width: 36px;
35
+ width: 30px;
36
36
  }
37
37
 
38
38
  .avatar {
39
- width: 36px;
40
- height: 36px;
39
+ width: 30px;
40
+ height: 30px;
41
41
  border-radius: 50%;
42
42
  object-fit: cover;
43
43
  flex-shrink: 0;
44
44
  }
45
45
 
46
46
  .avatarFallback {
47
- width: 36px;
48
- height: 36px;
47
+ width: 30px;
48
+ height: 30px;
49
49
  border-radius: 50%;
50
50
  background: var(--color-bg-elevated);
51
51
  border: 1px solid var(--color-border-standard);
52
52
  display: flex;
53
53
  align-items: center;
54
54
  justify-content: center;
55
- font-size: 12px;
55
+ font-size: 11px;
56
56
  font-weight: 600;
57
57
  color: var(--color-text-secondary);
58
58
  flex-shrink: 0;
@@ -60,8 +60,8 @@
60
60
  }
61
61
 
62
62
  .iconBubble {
63
- width: 36px;
64
- height: 36px;
63
+ width: 30px;
64
+ height: 30px;
65
65
  border-radius: 50%;
66
66
  background: var(--color-bg-lime-subtle);
67
67
  display: flex;
@@ -74,20 +74,20 @@
74
74
  .connector {
75
75
  width: 2px;
76
76
  flex: 1;
77
- min-height: 24px;
77
+ min-height: 20px;
78
78
  background: var(--color-border-standard);
79
79
  }
80
80
 
81
81
  /* ── Compact ── */
82
82
  .compact .timeline {
83
- width: 28px;
83
+ width: 24px;
84
84
  }
85
85
 
86
86
  .compact .avatar,
87
87
  .compact .avatarFallback,
88
88
  .compact .iconBubble {
89
- width: 28px;
90
- height: 28px;
89
+ width: 24px;
90
+ height: 24px;
91
91
  }
92
92
 
93
93
  .compact .avatarFallback {
@@ -95,18 +95,18 @@
95
95
  }
96
96
 
97
97
  .compact .connector {
98
- min-height: 16px;
98
+ min-height: 12px;
99
99
  }
100
100
 
101
101
  /* ── Content Column ── */
102
102
  .content {
103
103
  flex: 1;
104
104
  min-width: 0;
105
- padding-bottom: 24px;
105
+ padding-bottom: 18px;
106
106
  }
107
107
 
108
108
  .compact .content {
109
- padding-bottom: 16px;
109
+ padding-bottom: 12px;
110
110
  }
111
111
 
112
112
  .item:last-child .content {
@@ -122,8 +122,8 @@
122
122
  }
123
123
 
124
124
  .userName {
125
- font-size: 14px;
126
- font-weight: 600;
125
+ font-size: 13px;
126
+ font-weight: 500;
127
127
  color: var(--color-text-primary);
128
128
  }
129
129
 
@@ -133,7 +133,7 @@
133
133
  }
134
134
 
135
135
  .body {
136
- font-size: 14px;
136
+ font-size: 13px;
137
137
  color: var(--color-text-secondary);
138
138
  line-height: 1.5;
139
139
  }
@@ -11,8 +11,7 @@
11
11
  border-radius: var(--radius-lg);
12
12
  background: var(--color-bg-card);
13
13
  border: 1px solid var(--color-border-standard);
14
- box-shadow: var(--shadow-card);
15
- backdrop-filter: var(--blur-standard);
14
+ box-shadow: var(--shadow-card-light);
16
15
  }
17
16
 
18
17
  /* ── SVG Gauge ── */
@@ -35,7 +35,7 @@
35
35
  border-radius: var(--radius-lg);
36
36
  background: var(--color-bg-card);
37
37
  border: 1px solid var(--color-border-standard);
38
- overflow: hidden;
38
+ overflow: visible;
39
39
  }
40
40
 
41
41
  /* ── Header bar ── */
@@ -120,6 +120,8 @@
120
120
  position: relative;
121
121
  flex-shrink: 0;
122
122
  user-select: none;
123
+ min-width: 160px;
124
+ height: 42px;
123
125
  }
124
126
 
125
127
  .chip:hover {
@@ -217,6 +219,11 @@
217
219
  min-width: 0;
218
220
  position: relative;
219
221
  z-index: 1;
222
+ flex: 1;
223
+ overflow: hidden;
224
+ /* 8 × 4pt grid; 28px clipped .stateBadge borders */
225
+ height: 32px;
226
+ justify-content: center;
220
227
  }
221
228
 
222
229
  .chipName {
@@ -257,6 +264,7 @@
257
264
  display: flex;
258
265
  align-items: center;
259
266
  gap: 0;
267
+ height: 14px;
260
268
  }
261
269
 
262
270
  .cursor {
@@ -299,17 +307,15 @@
299
307
  position: relative;
300
308
  }
301
309
 
310
+ /* Near-opaque surface so the activity log stays readable over arbitrary UI
311
+ (card tokens are glass / low-alpha by design — see --color-bg-card). */
302
312
  .popover {
303
- position: absolute;
304
- top: calc(100% + 8px);
305
- left: 50%;
306
- transform: translateX(-50%);
307
- width: 280px;
308
313
  border-radius: var(--radius-lg);
309
- background: var(--color-bg-card);
314
+ background: var(--color-bg-overlay);
310
315
  border: 1px solid var(--color-border-standard);
311
- box-shadow: 0 8px 32px rgba(0, 0, 0, 0.25);
312
- z-index: 100;
316
+ box-shadow:
317
+ 0 4px 6px rgba(0, 0, 0, 0.08),
318
+ 0 12px 40px rgba(0, 0, 0, 0.28);
313
319
  overflow: hidden;
314
320
  }
315
321
 
@@ -411,7 +417,10 @@
411
417
  background: transparent !important;
412
418
  border: none !important;
413
419
  border-radius: var(--radius-lg) !important;
414
- overflow: hidden !important;
420
+ overflow: visible !important;
421
+ /* Docs: portaled popover is position:fixed — extra margin separates stacked demos
422
+ so the next section sits lower and overlaps less in the viewport. */
423
+ margin-bottom: 5rem !important;
415
424
  }
416
425
 
417
426
  /* ── Responsive ── */