@jaimevalasek/aioson 1.30.0 → 1.30.2

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 (93) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/docs/design-previews/cognitive-core-ui-auth.html +95 -0
  3. package/docs/design-previews/cognitive-core-ui-kanban.html +231 -0
  4. package/docs/design-previews/cognitive-core-ui-list-detail.html +174 -0
  5. package/docs/design-previews/cognitive-core-ui-preview.css +1315 -0
  6. package/docs/design-previews/cognitive-core-ui-settings.html +142 -0
  7. package/docs/design-previews/cognitive-core-ui-website.html +190 -1009
  8. package/docs/design-previews/cognitive-core-ui.html +281 -463
  9. package/docs/design-previews/index.html +83 -31
  10. package/package.json +1 -1
  11. package/src/constants.js +578 -514
  12. package/template/.aioson/docs/integrations/dashboard-app-form-publish-mapping.md +183 -0
  13. package/template/.aioson/docs/play/README.md +74 -0
  14. package/template/.aioson/docs/play/agent-usage-guide.md +112 -0
  15. package/template/.aioson/docs/play/app-compatibility-guide.md +117 -0
  16. package/template/.aioson/docs/play/auth-services-and-testing.md +235 -0
  17. package/template/.aioson/docs/play/llm-data-and-bindings.md +238 -0
  18. package/template/.aioson/docs/play/manifest-and-runtime.md +267 -0
  19. package/template/.aioson/docs/play/source-map.md +104 -0
  20. package/template/.aioson/skills/design/aurora-command-ui/SKILL.md +266 -243
  21. package/template/.aioson/skills/design/aurora-command-ui/references/art-direction.md +293 -293
  22. package/template/.aioson/skills/design/aurora-command-ui/references/components.md +827 -827
  23. package/template/.aioson/skills/design/aurora-command-ui/references/dashboards.md +250 -250
  24. package/template/.aioson/skills/design/aurora-command-ui/references/design-tokens.md +585 -585
  25. package/template/.aioson/skills/design/aurora-command-ui/references/motion.md +365 -365
  26. package/template/.aioson/skills/design/aurora-command-ui/references/patterns.md +485 -482
  27. package/template/.aioson/skills/design/aurora-command-ui/references/websites.md +386 -387
  28. package/template/.aioson/skills/design/bold-editorial-ui/SKILL.md +228 -205
  29. package/template/.aioson/skills/design/bold-editorial-ui/references/art-direction.md +338 -338
  30. package/template/.aioson/skills/design/bold-editorial-ui/references/components.md +977 -977
  31. package/template/.aioson/skills/design/bold-editorial-ui/references/dashboards.md +218 -218
  32. package/template/.aioson/skills/design/bold-editorial-ui/references/design-tokens.md +326 -326
  33. package/template/.aioson/skills/design/bold-editorial-ui/references/motion.md +461 -461
  34. package/template/.aioson/skills/design/bold-editorial-ui/references/patterns.md +293 -293
  35. package/template/.aioson/skills/design/bold-editorial-ui/references/websites.md +352 -352
  36. package/template/.aioson/skills/design/clean-saas-ui/SKILL.md +233 -210
  37. package/template/.aioson/skills/design/clean-saas-ui/references/art-direction.md +319 -319
  38. package/template/.aioson/skills/design/clean-saas-ui/references/components.md +365 -365
  39. package/template/.aioson/skills/design/clean-saas-ui/references/dashboards.md +196 -196
  40. package/template/.aioson/skills/design/clean-saas-ui/references/design-tokens.md +244 -244
  41. package/template/.aioson/skills/design/clean-saas-ui/references/motion.md +235 -235
  42. package/template/.aioson/skills/design/clean-saas-ui/references/patterns.md +215 -215
  43. package/template/.aioson/skills/design/clean-saas-ui/references/websites.md +295 -295
  44. package/template/.aioson/skills/design/cognitive-core-ui/SKILL.md +239 -203
  45. package/template/.aioson/skills/design/cognitive-core-ui/references/art-direction.md +339 -339
  46. package/template/.aioson/skills/design/cognitive-core-ui/references/components.md +417 -407
  47. package/template/.aioson/skills/design/cognitive-core-ui/references/dashboards.md +289 -272
  48. package/template/.aioson/skills/design/cognitive-core-ui/references/design-tokens.md +525 -524
  49. package/template/.aioson/skills/design/cognitive-core-ui/references/motion.md +279 -279
  50. package/template/.aioson/skills/design/cognitive-core-ui/references/patterns.md +355 -289
  51. package/template/.aioson/skills/design/cognitive-core-ui/references/websites.md +443 -437
  52. package/template/.aioson/skills/design/glassmorphism-ui/SKILL.md +245 -222
  53. package/template/.aioson/skills/design/glassmorphism-ui/references/art-direction.md +159 -159
  54. package/template/.aioson/skills/design/glassmorphism-ui/references/components.md +498 -498
  55. package/template/.aioson/skills/design/glassmorphism-ui/references/dashboards.md +236 -236
  56. package/template/.aioson/skills/design/glassmorphism-ui/references/design-tokens.md +274 -274
  57. package/template/.aioson/skills/design/glassmorphism-ui/references/motion.md +355 -355
  58. package/template/.aioson/skills/design/glassmorphism-ui/references/patterns.md +198 -198
  59. package/template/.aioson/skills/design/glassmorphism-ui/references/websites.md +307 -307
  60. package/template/.aioson/skills/design/interface-design/SKILL.md +68 -47
  61. package/template/.aioson/skills/design/interface-design/references/components-and-states.md +105 -105
  62. package/template/.aioson/skills/design/interface-design/references/design-directions.md +101 -101
  63. package/template/.aioson/skills/design/interface-design/references/handoff-and-quality.md +92 -71
  64. package/template/.aioson/skills/design/interface-design/references/intent-and-domain.md +74 -74
  65. package/template/.aioson/skills/design/interface-design/references/tokens-and-depth.md +173 -173
  66. package/template/.aioson/skills/design/neo-brutalist-ui/SKILL.md +236 -213
  67. package/template/.aioson/skills/design/neo-brutalist-ui/references/art-direction.md +228 -228
  68. package/template/.aioson/skills/design/neo-brutalist-ui/references/components.md +855 -855
  69. package/template/.aioson/skills/design/neo-brutalist-ui/references/dashboards.md +334 -334
  70. package/template/.aioson/skills/design/neo-brutalist-ui/references/design-tokens.md +342 -342
  71. package/template/.aioson/skills/design/neo-brutalist-ui/references/motion.md +286 -286
  72. package/template/.aioson/skills/design/neo-brutalist-ui/references/patterns.md +458 -458
  73. package/template/.aioson/skills/design/neo-brutalist-ui/references/websites.md +723 -723
  74. package/template/.aioson/skills/design/premium-command-center-ui/SKILL.md +83 -62
  75. package/template/.aioson/skills/design/premium-command-center-ui/references/operations.md +74 -74
  76. package/template/.aioson/skills/design/premium-command-center-ui/references/patterns.md +116 -116
  77. package/template/.aioson/skills/design/premium-command-center-ui/references/validation.md +47 -47
  78. package/template/.aioson/skills/design/premium-command-center-ui/references/visual-system.md +215 -215
  79. package/template/.aioson/skills/design/pt.squarespace.com/.skill-meta.json +31 -31
  80. package/template/.aioson/skills/design/pt.squarespace.com/SKILL.md +94 -66
  81. package/template/.aioson/skills/design/pt.squarespace.com/references/components.md +366 -366
  82. package/template/.aioson/skills/design/pt.squarespace.com/references/design-tokens.md +150 -150
  83. package/template/.aioson/skills/design/pt.squarespace.com/references/motion.md +270 -270
  84. package/template/.aioson/skills/design/pt.squarespace.com/references/patterns.md +189 -189
  85. package/template/.aioson/skills/design/pt.squarespace.com/references/websites.md +161 -161
  86. package/template/.aioson/skills/design/warm-craft-ui/SKILL.md +232 -209
  87. package/template/.aioson/skills/design/warm-craft-ui/references/art-direction.md +324 -324
  88. package/template/.aioson/skills/design/warm-craft-ui/references/components.md +508 -508
  89. package/template/.aioson/skills/design/warm-craft-ui/references/dashboards.md +223 -223
  90. package/template/.aioson/skills/design/warm-craft-ui/references/design-tokens.md +374 -374
  91. package/template/.aioson/skills/design/warm-craft-ui/references/motion.md +356 -356
  92. package/template/.aioson/skills/design/warm-craft-ui/references/patterns.md +288 -288
  93. package/template/.aioson/skills/design/warm-craft-ui/references/websites.md +289 -289
@@ -1,198 +1,198 @@
1
- # Patterns — Glassmorphism UI
2
-
3
- Page composition patterns for apps and dashboards. The substrate always comes first.
4
-
5
- ---
6
-
7
- ## The Substrate Rule
8
-
9
- Every layout starts with the gradient background applied to the root container (body, html, or `#app`). This is the "glass substrate" — the gradient that makes the glass visible.
10
-
11
- ```css
12
- body {
13
- min-height: 100vh;
14
- background: var(--bg-gradient);
15
- background-attachment: fixed; /* gradient stays fixed as content scrolls */
16
- }
17
- ```
18
-
19
- `background-attachment: fixed` is recommended so the gradient doesn't scroll with the content. Cards will then float over a stable gradient substrate, which looks far more polished.
20
-
21
- ---
22
-
23
- ## App Shell
24
-
25
- The standard layout for apps, dashboards, and admin panels.
26
-
27
- ```
28
- ┌──────────────────────────────────────────────────────────────────┐
29
- │ GRADIENT BACKGROUND (body, fixed attachment) │
30
- │ │
31
- │ ┌──────────────┐ ┌──────────────────────────────────────────┐ │
32
- │ │ GLASS SIDEBAR│ │ GLASS TOP BAR (sticky, blur-lg) │ │
33
- │ │ 256px │ │ Page title / breadcrumb + actions │ │
34
- │ │ blur-lg │ ├──────────────────────────────────────────┤ │
35
- │ │ border-right │ │ CONTENT AREA (padding 24px) │ │
36
- │ │ glass-border │ │ │ │
37
- │ │ │ │ Glass cards floating over │ │
38
- │ │ Logo │ │ gradient substrate │ │
39
- │ │ Nav groups │ │ │ │
40
- │ │ Nav items │ │ │ │
41
- │ │ │ │ │ │
42
- │ │ User footer │ │ │ │
43
- │ └──────────────┘ └──────────────────────────────────────────┘ │
44
- └──────────────────────────────────────────────────────────────────┘
45
- ```
46
-
47
- Key decisions:
48
- - Sidebar: `position: fixed`, `backdrop-filter: blur(24px)` — gradient shows through
49
- - Top bar: `position: sticky`, `top: 0`, `backdrop-filter: blur(24px)` — inside content area, not full width
50
- - Content: `margin-left: 256px`, `padding: 24px`, `min-height: 100vh`
51
- - Cards in content: glass cards with `backdrop-filter: blur(16px)` — 2nd glass layer over substrate
52
-
53
- ---
54
-
55
- ## Page Patterns
56
-
57
- ### 1. Dashboard Page
58
-
59
- ```
60
- Content layout (top to bottom):
61
- ├─ Page header: title + date range selector + export button
62
- ├─ Stat cards row: 4 glass stat cards, equal width, 24px gap
63
- │ Each: metric label + large number (optionally gradient text) + trend badge
64
- ├─ Primary chart: full-width glass card, area/line chart with gradient fill
65
- ├─ Secondary row: 2 columns
66
- │ Left (60%): detailed chart or data table (glass card)
67
- │ Right (40%): donut/distribution chart or top-N list (glass card)
68
- └─ Bottom section: glass table with full data
69
- ```
70
-
71
- Accent moments:
72
- - Hero insight: 1 stat gets gradient text, slightly larger font
73
- - Chart fills: accent gradient (violet → blue), semi-transparent area fills
74
- - Table: glass card container, row hover with glass-bg-hover
75
-
76
- ### 2. Detail Page
77
-
78
- ```
79
- Content layout:
80
- ├─ Glass header card (radius-2xl): avatar/logo + name + status badge + action buttons
81
- ├─ Tab bar (glass strip): Properties / Activity / Settings / Relations
82
- └─ Tab content (glass cards per section):
83
- Properties: 2-column grid of label-value pairs
84
- Activity: timeline list (glass card, items with glass-border dividers)
85
- Settings: form groups in glass cards
86
- Relations: linked records grid (mini glass cards)
87
- ```
88
-
89
- ### 3. List Page
90
-
91
- ```
92
- Content layout:
93
- ├─ Glass filter bar (sticky): search input + filter chips + sort dropdown + count badge
94
- ├─ Glass table card (full width):
95
- │ Header: sticky, border-bottom glass-border, column labels text-xs uppercase text-muted
96
- │ Rows: 48px height, hover glass-bg-hover, checkbox left, actions on hover right
97
- │ Inline actions: appear on row hover (ghost buttons: edit, view, delete)
98
- └─ Glass pagination bar: page info + prev/next glass buttons + page size selector
99
- ```
100
-
101
- Scrolling: table scrolls horizontally on mobile (never collapses to cards — see anti-patterns).
102
-
103
- ### 4. Settings Page
104
-
105
- ```
106
- Content layout (two-column):
107
- Left (240px): glass sub-navigation
108
- ├─ Nav groups: Profile / Security / Notifications / Billing / Integrations
109
- └─ Glass sidebar style (blur-md, border-right glass-border)
110
- Right (main): glass form cards per section
111
- ├─ Section card: glass card with section title + divider + form fields
112
- ├─ Form fields: labeled inputs, helper text, inline validation
113
- └─ Save/cancel footer: sticky within card or at page bottom
114
- ```
115
-
116
- ### 5. Auth Page (login / signup / forgot password)
117
-
118
- ```
119
- Layout: full-viewport gradient background
120
- Optional: 2-3 decorative gradient orbs (200-400px, absolute positioned, blur-xl, opacity 0.4)
121
-
122
- Centered glass card (hero variant):
123
- max-width: 420px
124
- border-radius: var(--radius-3xl)
125
- backdrop-filter: var(--glass-blur-lg)
126
- padding: var(--space-10)
127
-
128
- Inside:
129
- Logo: 40px, centered, mb-8
130
- Title: text-2xl weight-bold text-heading, centered
131
- Subtitle: text-sm text-secondary, centered, mb-8
132
- Form: email input + password input + forgot link
133
- CTA: primary button full-width (accent-gradient)
134
- Divider: "or continue with"
135
- Social buttons: glass buttons (Google, GitHub, etc.)
136
- Footer link: "Don't have an account? Sign up"
137
- ```
138
-
139
- Orb placement example: top-right violet orb (300px), bottom-left blue orb (250px), centered faint pink orb (400px). All with extreme blur to look like soft light.
140
-
141
- ### 6. Onboarding (multi-step)
142
-
143
- ```
144
- Layout: full-viewport gradient background
145
-
146
- Step progress (glass strip): centered at top
147
- Step indicators: numbered circles (active: accent-gradient fill, completed: accent border + check, pending: glass-border)
148
- Connector lines: glass-border, accent-gradient when completed
149
-
150
- Centered glass card:
151
- max-width: 560px, radius-3xl, blur-lg, padding-10
152
- Inside:
153
- Step title: text-2xl weight-bold
154
- Step description: text-sm text-secondary
155
- Step content: varies (form, selection grid, confirmation)
156
- Navigation: back (ghost) + next (primary gradient) buttons
157
- Step count: text-xs text-muted, centered below card
158
-
159
- Background gradient shifts subtly between steps (hue rotation 10-15 degrees — very subtle).
160
- ```
161
-
162
- ---
163
-
164
- ## Responsive
165
-
166
- ### Breakpoints
167
- - `< 768px`: mobile layout (bottom tab bar, no sidebar)
168
- - `768px – 1024px`: tablet layout (collapsible sidebar or icon-only)
169
- - `> 1024px`: desktop layout (full sidebar)
170
-
171
- ### Mobile layout
172
- - Sidebar → **glass bottom tab bar** (not hamburger menu)
173
- - Bottom tab bar: `position: fixed`, `bottom: 0`, `left: 0`, `right: 0`, `height: 64px`
174
- - Glass surface: `background: var(--glass-bg-active)` + `backdrop-filter: var(--glass-blur-lg)`
175
- - Border top: `1px solid var(--glass-border)`
176
- - 4-5 icon + label tabs, active with accent color
177
- - Safe area padding: `padding-bottom: env(safe-area-inset-bottom)` for iOS notch
178
-
179
- ### Glass adjustments by breakpoint
180
- - Mobile: use `blur-sm` (8px) for cards (performance), `blur-md` (16px) only for bottom sheet
181
- - Tablet: use `blur-md` (16px) for cards
182
- - Desktop: full `blur-md` (16px) for cards, `blur-lg` (24px) for sidebar/nav
183
-
184
- ### Background gradient on mobile
185
- Simplify to 2-3 color stops (fewer is faster):
186
- ```css
187
- @media (max-width: 768px) {
188
- body {
189
- background: linear-gradient(135deg, #F0EEF6 0%, #D8E0F0 100%);
190
- }
191
- }
192
- ```
193
-
194
- ### Content adjustments
195
- - Stat cards: 2 columns on mobile (instead of 4)
196
- - Tables: horizontal scroll (never collapse to card list)
197
- - Sidebar hidden on mobile, accessible via bottom tab bar
198
- - Modal: full-screen on mobile with `border-radius: radius-3xl radius-3xl 0 0` and slides up
1
+ # Patterns — Glassmorphism UI
2
+
3
+ Page composition patterns for apps and dashboards. The substrate always comes first.
4
+
5
+ ---
6
+
7
+ ## The Substrate Rule
8
+
9
+ Every layout starts with the gradient background applied to the root container (body, html, or `#app`). This is the "glass substrate" — the gradient that makes the glass visible.
10
+
11
+ ```css
12
+ body {
13
+ min-height: 100vh;
14
+ background: var(--bg-gradient);
15
+ background-attachment: fixed; /* gradient stays fixed as content scrolls */
16
+ }
17
+ ```
18
+
19
+ `background-attachment: fixed` is recommended so the gradient doesn't scroll with the content. Cards will then float over a stable gradient substrate, which looks far more polished.
20
+
21
+ ---
22
+
23
+ ## App Shell
24
+
25
+ The standard layout for apps, dashboards, and admin panels.
26
+
27
+ ```
28
+ ┌──────────────────────────────────────────────────────────────────┐
29
+ │ GRADIENT BACKGROUND (body, fixed attachment) │
30
+ │ │
31
+ │ ┌──────────────┐ ┌──────────────────────────────────────────┐ │
32
+ │ │ GLASS SIDEBAR│ │ GLASS TOP BAR (sticky, blur-lg) │ │
33
+ │ │ 256px │ │ Page title / breadcrumb + actions │ │
34
+ │ │ blur-lg │ ├──────────────────────────────────────────┤ │
35
+ │ │ border-right │ │ CONTENT AREA (padding 24px) │ │
36
+ │ │ glass-border │ │ │ │
37
+ │ │ │ │ Glass cards floating over │ │
38
+ │ │ Logo │ │ gradient substrate │ │
39
+ │ │ Nav groups │ │ │ │
40
+ │ │ Nav items │ │ │ │
41
+ │ │ │ │ │ │
42
+ │ │ User footer │ │ │ │
43
+ │ └──────────────┘ └──────────────────────────────────────────┘ │
44
+ └──────────────────────────────────────────────────────────────────┘
45
+ ```
46
+
47
+ Key decisions:
48
+ - Sidebar: `position: fixed`, `backdrop-filter: blur(24px)` — gradient shows through
49
+ - Top bar: `position: sticky`, `top: 0`, `backdrop-filter: blur(24px)` — inside content area, not full width
50
+ - Content: `margin-left: 256px`, `padding: 24px`, `min-height: 100vh`
51
+ - Cards in content: glass cards with `backdrop-filter: blur(16px)` — 2nd glass layer over substrate
52
+
53
+ ---
54
+
55
+ ## Page Patterns
56
+
57
+ ### 1. Dashboard Page
58
+
59
+ ```
60
+ Content layout (top to bottom):
61
+ ├─ Page header: title + date range selector + export button
62
+ ├─ Stat cards row: 4 glass stat cards, equal width, 24px gap
63
+ │ Each: metric label + large number (optionally gradient text) + trend badge
64
+ ├─ Primary chart: full-width glass card, area/line chart with gradient fill
65
+ ├─ Secondary row: 2 columns
66
+ │ Left (60%): detailed chart or data table (glass card)
67
+ │ Right (40%): donut/distribution chart or top-N list (glass card)
68
+ └─ Bottom section: glass table with full data
69
+ ```
70
+
71
+ Accent moments:
72
+ - Hero insight: 1 stat gets gradient text, slightly larger font
73
+ - Chart fills: accent gradient (violet → blue), semi-transparent area fills
74
+ - Table: glass card container, row hover with glass-bg-hover
75
+
76
+ ### 2. Detail Page
77
+
78
+ ```
79
+ Content layout:
80
+ ├─ Glass header card (radius-2xl): avatar/logo + name + status badge + action buttons
81
+ ├─ Tab bar (glass strip): Properties / Activity / Settings / Relations
82
+ └─ Tab content (glass cards per section):
83
+ Properties: 2-column grid of label-value pairs
84
+ Activity: timeline list (glass card, items with glass-border dividers)
85
+ Settings: form groups in glass cards
86
+ Relations: linked records grid (mini glass cards)
87
+ ```
88
+
89
+ ### 3. List Page
90
+
91
+ ```
92
+ Content layout:
93
+ ├─ Glass filter bar (sticky): search input + filter chips + sort dropdown + count badge
94
+ ├─ Glass table card (full width):
95
+ │ Header: sticky, border-bottom glass-border, column labels text-xs uppercase text-muted
96
+ │ Rows: 48px height, hover glass-bg-hover, checkbox left, actions on hover right
97
+ │ Inline actions: appear on row hover (ghost buttons: edit, view, delete)
98
+ └─ Glass pagination bar: page info + prev/next glass buttons + page size selector
99
+ ```
100
+
101
+ Scrolling: table scrolls horizontally on mobile (never collapses to cards — see anti-patterns).
102
+
103
+ ### 4. Settings Page
104
+
105
+ ```
106
+ Content layout (two-column):
107
+ Left (240px): glass sub-navigation
108
+ ├─ Nav groups: Profile / Security / Notifications / Billing / Integrations
109
+ └─ Glass sidebar style (blur-md, border-right glass-border)
110
+ Right (main): glass form cards per section
111
+ ├─ Section card: glass card with section title + divider + form fields
112
+ ├─ Form fields: labeled inputs, helper text, inline validation
113
+ └─ Save/cancel footer: sticky within card or at page bottom
114
+ ```
115
+
116
+ ### 5. Auth Page (login / signup / forgot password)
117
+
118
+ ```
119
+ Layout: full-viewport gradient background
120
+ Optional: full-bleed ambient gradient wash (absolute positioned, blur-lg, opacity 0.22)
121
+
122
+ Centered glass card (hero variant):
123
+ max-width: 420px
124
+ border-radius: var(--radius-3xl)
125
+ backdrop-filter: var(--glass-blur-lg)
126
+ padding: var(--space-10)
127
+
128
+ Inside:
129
+ Logo: 40px, centered, mb-8
130
+ Title: text-2xl weight-bold text-heading, centered
131
+ Subtitle: text-sm text-secondary, centered, mb-8
132
+ Form: email input + password input + forgot link
133
+ CTA: primary button full-width (accent-gradient)
134
+ Divider: "or continue with"
135
+ Social buttons: glass buttons (Google, GitHub, etc.)
136
+ Footer link: "Don't have an account? Sign up"
137
+ ```
138
+
139
+ Ambient placement example: violet wash from the top-right, blue wash from the bottom-left, and a faint pink center highlight. Keep all layers broad enough to read as atmosphere, not shapes.
140
+
141
+ ### 6. Onboarding (multi-step)
142
+
143
+ ```
144
+ Layout: full-viewport gradient background
145
+
146
+ Step progress (glass strip): centered at top
147
+ Step indicators: numbered circles (active: accent-gradient fill, completed: accent border + check, pending: glass-border)
148
+ Connector lines: glass-border, accent-gradient when completed
149
+
150
+ Centered glass card:
151
+ max-width: 560px, radius-3xl, blur-lg, padding-10
152
+ Inside:
153
+ Step title: text-2xl weight-bold
154
+ Step description: text-sm text-secondary
155
+ Step content: varies (form, selection grid, confirmation)
156
+ Navigation: back (ghost) + next (primary gradient) buttons
157
+ Step count: text-xs text-muted, centered below card
158
+
159
+ Background gradient shifts subtly between steps (hue rotation 10-15 degrees — very subtle).
160
+ ```
161
+
162
+ ---
163
+
164
+ ## Responsive
165
+
166
+ ### Breakpoints
167
+ - `< 768px`: mobile layout (bottom tab bar, no sidebar)
168
+ - `768px – 1024px`: tablet layout (collapsible sidebar or icon-only)
169
+ - `> 1024px`: desktop layout (full sidebar)
170
+
171
+ ### Mobile layout
172
+ - Sidebar → **glass bottom tab bar** (not hamburger menu)
173
+ - Bottom tab bar: `position: fixed`, `bottom: 0`, `left: 0`, `right: 0`, `height: 64px`
174
+ - Glass surface: `background: var(--glass-bg-active)` + `backdrop-filter: var(--glass-blur-lg)`
175
+ - Border top: `1px solid var(--glass-border)`
176
+ - 4-5 icon + label tabs, active with accent color
177
+ - Safe area padding: `padding-bottom: env(safe-area-inset-bottom)` for iOS notch
178
+
179
+ ### Glass adjustments by breakpoint
180
+ - Mobile: use `blur-sm` (8px) for cards (performance), `blur-md` (16px) only for bottom sheet
181
+ - Tablet: use `blur-md` (16px) for cards
182
+ - Desktop: full `blur-md` (16px) for cards, `blur-lg` (24px) for sidebar/nav
183
+
184
+ ### Background gradient on mobile
185
+ Simplify to 2-3 color stops (fewer is faster):
186
+ ```css
187
+ @media (max-width: 768px) {
188
+ body {
189
+ background: linear-gradient(135deg, #F0EEF6 0%, #D8E0F0 100%);
190
+ }
191
+ }
192
+ ```
193
+
194
+ ### Content adjustments
195
+ - Stat cards: 2 columns on mobile (instead of 4)
196
+ - Tables: horizontal scroll (never collapse to card list)
197
+ - Sidebar hidden on mobile, accessible via bottom tab bar
198
+ - Modal: full-screen on mobile with `border-radius: radius-3xl radius-3xl 0 0` and slides up