@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,289 +1,355 @@
1
- # Patterns — Page Layouts (Cognitive Core UI)
2
-
3
- Requires `design-tokens.md` + `components.md` loaded first.
4
-
5
- These patterns define how to compose full pages. All use CSS variables from design-tokens.md.
6
-
7
- ---
8
-
9
- ## 1. Dashboard Shell
10
-
11
- The base layout for any admin/overview interface.
12
-
13
- ```
14
- ┌────────────────────────────────────────────────────────┐
15
- │ TOP BAR (sticky, bg-void, border-bottom) │
16
- ├────────────────────────────────────────────────────────┤
17
- │ STATS ROW: [StatCard] [StatCard] [StatCard] [StatCard]│
18
- ├────────────────────────────────────────────────────────┤
19
- │ TAB BAR (full width, border-bottom) │
20
- ├───────────┬────────────────────────────────────────────┤
21
- │ SIDEBAR │ CONTENT │
22
- │ 200px │ ┌─ Section Header ──────────────────┐ │
23
- │ tree nav │ │ Card Grid (auto-fill, 260px min) │ │
24
- │ │ └───────────────────────────────────┘ │
25
- │ │ ┌─ Section Header ──────────────────┐ │
26
- │ │ │ Card Grid │ │
27
- │ │ └───────────────────────────────────┘ │
28
- └───────────┴────────────────────────────────────────────┘
29
- ```
30
-
31
- **CSS skeleton:**
32
- ```css
33
- .shell { min-height: 100vh; background: var(--bg-base); font-family: var(--font-body); }
34
- .stats-row { display: flex; gap: var(--space-3); padding: var(--space-5) var(--space-5) 0; flex-wrap: wrap; }
35
- .main-layout { display: flex; min-height: calc(100vh - 230px); }
36
- .sidebar { width: 200px; flex-shrink: 0; border-right: 1px solid var(--border-subtle); padding: var(--space-4); transition: var(--transition-theme); }
37
- .content { flex: 1; padding: var(--space-4) var(--space-5); overflow-y: auto; }
38
- .card-grid { display: grid; gap: var(--space-4); grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }
39
- .section { margin-bottom: var(--space-8); }
40
- ```
41
-
42
- **Variant — with feature panels (2-col below stats):**
43
- ```css
44
- .feature-row { display: grid; grid-template-columns: 1fr 280px; gap: var(--space-4); padding: var(--space-4) var(--space-5); }
45
- ```
46
-
47
- ---
48
-
49
- ## 2. Detail / Profile Page
50
-
51
- For viewing a single entity (person, product, contact, project).
52
-
53
- ```
54
- ┌────────────────────────────────────────────────────────┐
55
- TOP BAR │
56
- ├────────────────────────────────────────────────────────┤
57
- │ Breadcrumbs: Gallery → Entity Name │
58
- │ PROFILE HEADER │
59
- ┌───────────────────────────────────────────────────┐
60
- │ [Avatar 96px] NAME (text-3xl, black) │ │
61
- │ Role (accent, italic) │ │
62
- │ ✦ Tagline │ │
63
- │ │ │ │
64
- │ │ [StatCard] [StatCard] [StatCard] [Badge][Badge]│ │
65
- └───────────────────────────────────────────────────┘
66
- ├────────────────────────────────────────────────────────┤
67
- TAB BAR (General | DNA | Communication | History | ...)
68
- ├───────────┬────────────────────────────────────────────┤
69
- SIDEBAR │ TAB CONTENT │
70
- │ 180px │ Varies per tab: │
71
- │ │ — Card grid (2-col) │
72
- │ │ DNA analysis panels
73
- │ │ — History table │
74
- └───────────┴────────────────────────────────────────────┘
75
- ```
76
-
77
- **Profile Header styles:**
78
- ```css
79
- .profile-header {
80
- padding: var(--space-5) var(--space-6);
81
- background: var(--bg-base);
82
- border-bottom: 1px solid var(--border-subtle);
83
- transition: var(--transition-theme);
84
- }
85
- .profile-avatar {
86
- width: 96px; height: 96px;
87
- border-radius: var(--radius-lg);
88
- border: 2px solid var(--border-subtle);
89
- object-fit: cover;
90
- }
91
- .profile-name {
92
- font-family: var(--font-display); font-weight: var(--weight-bold);
93
- font-size: var(--text-3xl); color: var(--text-heading);
94
- letter-spacing: var(--tracking-tight); line-height: var(--leading-tight);
95
- }
96
- .profile-role {
97
- color: var(--accent); font-style: italic; font-size: var(--text-base);
98
- }
99
- .profile-tagline {
100
- font-family: var(--font-mono); font-size: var(--text-xs);
101
- color: var(--text-muted); letter-spacing: var(--tracking-wider);
102
- text-transform: uppercase;
103
- }
104
- .profile-stats { display: flex; gap: var(--space-3); margin-top: var(--space-4); flex-wrap: wrap; }
105
- .profile-badges { display: flex; gap: var(--space-2); align-items: center; }
106
- ```
107
-
108
- **Featured quote block (inside tab content):**
109
- ```css
110
- .quote-block {
111
- padding: var(--space-8) var(--space-6);
112
- text-align: center;
113
- border-bottom: 1px solid var(--border-subtle);
114
- }
115
- .quote-text {
116
- font-family: var(--font-display); font-size: var(--text-xl);
117
- font-weight: var(--weight-medium); font-style: italic;
118
- color: var(--text-primary); line-height: var(--leading-snug);
119
- max-width: 680px; margin: 0 auto;
120
- }
121
- .quote-attribution {
122
- font-family: var(--font-mono); font-size: var(--text-xs);
123
- color: var(--text-muted); letter-spacing: var(--tracking-wider);
124
- text-transform: uppercase; margin-top: var(--space-3);
125
- }
126
- ```
127
-
128
- ---
129
-
130
- ## 3. Settings / Config Page
131
-
132
- Apply the **Compact Density** scale from `design-tokens.md` throughout. Settings pages are operational UI, not marketing — no generous whitespace.
133
-
134
- ```
135
- ┌────────────────────────────────────────────────────────┐
136
- │ TOP BAR │
137
- ├───────────┬────────────────────────────────────────────┤
138
- │ SIDEBAR │ SETTINGS TITLE (text-2xl, no description) │
139
- │ │ │
140
- │ General │ ┌─ Entity grid ──────────────────────┐ │
141
- │ Security │ │ [Card 280px] [Card 280px] [Card] │ │ ← 3-col auto-fill
142
- │ Billing │ │ name + ID + status badges │ │
143
- │ Team │ │ [Ativar btn] [Editar btn] │ │
144
- API │ └─────────────────────────────────────┘ │
145
- │ │ │
146
- │ │ ┌─ Section card (p-4 rounded-[22px]) ─┐ │
147
- │ │ eyebrow (mono xs) + title (text-base)│ │
148
- │ │ │ [row] dot · name model badges Editar│ │ ← divide-y py-2
149
- │ │ │ [row] dot · name model badges Editar│ │
150
- │ │ │ ▸ Sync / secondary tool (details) │ │ collapsed
151
- │ │ └─────────────────────────────────────┘ │
152
- │ │ │
153
- │ │ ┌─ Danger Zone Card ──────────────────┐ │
154
- │ │ │ border: var(--semantic-red-dim) │ │
155
- │ │ └─────────────────────────────────────┘ │
156
- └───────────┴────────────────────────────────────────────┘
157
- ```
158
-
159
- **Page heading:** `text-2xl` max — no verbose description subtitle on the page header.
160
-
161
- **Entity cards (projects, providers, squads):**
162
- - Grid: `grid-cols-[repeat(auto-fill,minmax(280px,1fr))]`, `gap: var(--space-3)`
163
- - Card: `rounded-[18px] p-3`
164
- - Name: `text-sm font-semibold truncate`
165
- - ID: `font-mono text-[0.58rem] truncate`
166
- - Status badges: `px-2 py-0.5 text-[0.58rem]`
167
- - Actions: compact row at bottom — `py-1.5 text-[0.62rem]`
168
-
169
- **Add/Edit forms Modal pattern (not inline expansion):**
170
- ```
171
- + Adicionar button → opens modal (max-w-md, centered, backdrop)
172
- Editar button → opens same modal pre-filled
173
- Never use accordion/RevealPanel inside entity cards
174
- ```
175
-
176
- **Section cards (provider lists, license, LLM config):**
177
- - Card: `rounded-[22px] p-4`
178
- - Header row: eyebrow + title + right-side control (select, badge) in one flex row
179
- - File path or meta: `font-mono text-[0.62rem] truncate` — one line below title, no card for it
180
- - Row items: `divide-y divide-[border]` with `py-2`, `text-xs` names, `text-[0.65rem]` models
181
- - Edit button: `px-2.5 py-1 text-[0.65rem] rounded-xl`
182
-
183
- **Disclosure pattern for secondary tools:**
184
- ```html
185
- <details class="rounded-[16px] border bg-elevated mt-3">
186
- <summary> <!-- flex: label + status badge + action button in one row --> </summary>
187
- <div class="border-t px-3 pb-3 pt-2">
188
- <!-- compact diff rows or secondary form -->
189
- </div>
190
- </details>
191
- ```
192
-
193
- **Form inputs inside modals and cards:**
194
- - Input/Select: `px-3 py-2 text-xs rounded-xl`
195
- - Label: `text-[0.65rem] mb-0.5`
196
- - Submit button: `w-full px-3 py-2 text-xs rounded-xl`
197
-
198
- ---
199
-
200
- ## 4. Auth Page (Login / Register)
201
-
202
- ```
203
- ┌────────────────────────────────────────────────────────┐
204
- │ bg-void (full viewport, dark) │
205
- │ │
206
- │ ┌─ Card max-w: 420px ─────────────────┐ │
207
- │ │ [Logo] AppName (mono, weight-bold) │ │
208
- │ │ SUBTITLE (mono, xs, muted, upper) │ │
209
- │ │ │ │
210
- │ │ MONO LABEL: EMAIL │ │
211
- │ │ [Input] │ │
212
- │ │ MONO LABEL: PASSWORD │ │
213
- │ │ [Input] │ │
214
- │ │ [Primary Button: full width] │ │
215
- │ │ divider ─── ou ─── │ │
216
- │ │ [Secondary Button: OAuth] │ │
217
- │ │ Link: esqueceu / criar conta │ │
218
- │ └──────────────────────────────────────┘ │
219
- │ radial glow behind card (accent-glow) │
220
- └────────────────────────────────────────────────────────┘
221
- ```
222
-
223
- ```css
224
- .auth-shell {
225
- min-height: 100vh; background: var(--bg-void);
226
- display: flex; align-items: center; justify-content: center;
227
- position: relative;
228
- }
229
- .auth-glow {
230
- position: absolute;
231
- width: 600px; height: 600px; border-radius: 50%;
232
- background: radial-gradient(circle, var(--accent-glow) 0%, transparent 70%);
233
- pointer-events: none;
234
- }
235
- .auth-card {
236
- background: var(--bg-surface); border: 1px solid var(--border-subtle);
237
- border-radius: var(--radius-xl); padding: var(--space-8);
238
- width: 100%; max-width: 420px; position: relative; z-index: 1;
239
- }
240
- ```
241
-
242
- ---
243
-
244
- ## 5. List-Detail (Split View)
245
-
246
- ```
247
- ┌────────────────────────────────────────────────────────┐
248
- │ TOP BAR │
249
- ├────────────────────────────────────────────────────────┤
250
- TAB BAR + Filter badges
251
- ├──────────────────────┬─────────────────────────────────┤
252
- LIST 340px DETAIL PANEL (flex: 1)
253
- ┌──────────────┐ Profile Header (compact)
254
- Item (active)│◄───│ border-left: 3px accent
255
- ├──────────────┤ Stat Cards row
256
- │ Item Tab sub-navigation
257
- ├──────────────┤ Content (cards, table, DNA)
258
- │ Item
259
- └──────────────┘
260
- └──────────────────────┴─────────────────────────────────┘
261
- ```
262
-
263
- ```css
264
- .list-panel { width: 340px; flex-shrink: 0; border-right: 1px solid var(--border-subtle); overflow-y: auto; }
265
- .list-item { padding: var(--space-4); border-bottom: 1px solid var(--border-subtle); cursor: pointer; transition: var(--transition-theme); }
266
- .list-item:hover { background: var(--bg-elevated); }
267
- .list-item.active { background: var(--bg-elevated); border-left: 3px solid var(--accent); }
268
- .detail-panel { flex: 1; overflow-y: auto; }
269
- ```
270
-
271
- ---
272
-
273
- ## Responsive Rules (all patterns)
274
-
275
- ```css
276
- @media (max-width: 768px) {
277
- .main-layout { flex-direction: column; }
278
- .sidebar { width: 100%; border-right: none; border-bottom: 1px solid var(--border-subtle); }
279
- .card-grid { grid-template-columns: 1fr; }
280
- .stats-row { flex-direction: column; }
281
- .list-panel { width: 100%; border-right: none; border-bottom: 1px solid var(--border-subtle); }
282
- }
283
- @media (min-width: 768px) and (max-width: 1024px) {
284
- .card-grid { grid-template-columns: repeat(2, 1fr); }
285
- }
286
- @media (min-width: 1024px) {
287
- .card-grid { grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }
288
- }
289
- ```
1
+ # Patterns — Page Layouts (Cognitive Core UI)
2
+
3
+ Requires `design-tokens.md` + `components.md` loaded first.
4
+
5
+ These patterns define how to compose full pages. All use CSS variables from design-tokens.md.
6
+
7
+ ---
8
+
9
+ ## 1. Dashboard Shell
10
+
11
+ The base layout for any admin/overview interface.
12
+
13
+ ```
14
+ ┌────────────────────────────────────────────────────────┐
15
+ │ TOP BAR (sticky, bg-void, border-bottom) │
16
+ ├────────────────────────────────────────────────────────┤
17
+ │ STATS ROW: [StatCard] [StatCard] [StatCard] [StatCard]│
18
+ ├────────────────────────────────────────────────────────┤
19
+ │ TAB BAR (full width, border-bottom) │
20
+ ├───────────┬────────────────────────────────────────────┤
21
+ │ SIDEBAR │ CONTENT │
22
+ │ 200px │ ┌─ Section Header ──────────────────┐ │
23
+ │ tree nav │ │ Card Grid (auto-fit, minmax) │ │
24
+ │ │ └───────────────────────────────────┘ │
25
+ │ │ ┌─ Section Header ──────────────────┐ │
26
+ │ │ │ Card Grid │ │
27
+ │ │ └───────────────────────────────────┘ │
28
+ └───────────┴────────────────────────────────────────────┘
29
+ ```
30
+
31
+ **CSS skeleton:**
32
+ ```css
33
+ .shell {
34
+ min-height: 100svh;
35
+ background: var(--bg-base);
36
+ font-family: var(--font-body);
37
+ display: grid;
38
+ grid-template-rows: auto auto auto minmax(0, 1fr);
39
+ }
40
+ .stats-row {
41
+ display: grid;
42
+ gap: var(--space-3);
43
+ padding: var(--space-5) var(--space-5) 0;
44
+ grid-template-columns: repeat(auto-fit, minmax(min(100%, 160px), 1fr));
45
+ }
46
+ .main-layout {
47
+ display: grid;
48
+ grid-template-columns: minmax(0, 220px) minmax(0, 1fr);
49
+ min-height: 0;
50
+ }
51
+ .sidebar {
52
+ min-width: 0;
53
+ border-right: 1px solid var(--border-subtle);
54
+ padding: var(--space-4);
55
+ overflow: auto;
56
+ transition: var(--transition-theme);
57
+ }
58
+ .content {
59
+ min-width: 0;
60
+ min-height: 0;
61
+ padding: var(--space-4) var(--space-5);
62
+ overflow: auto;
63
+ }
64
+ .card-grid {
65
+ display: grid;
66
+ gap: var(--space-4);
67
+ grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
68
+ }
69
+ .section { margin-bottom: var(--space-8); }
70
+ ```
71
+
72
+ **Variant with feature panels (2-col below stats):**
73
+ ```css
74
+ .feature-row {
75
+ display: grid;
76
+ grid-template-columns: minmax(0, 1fr) minmax(min(100%, 240px), 280px);
77
+ gap: var(--space-4);
78
+ padding: var(--space-4) var(--space-5);
79
+ }
80
+ ```
81
+
82
+ ---
83
+
84
+ ## 2. Detail / Profile Page
85
+
86
+ For viewing a single entity (person, product, contact, project).
87
+
88
+ ```
89
+ ┌────────────────────────────────────────────────────────┐
90
+ │ TOP BAR │
91
+ ├────────────────────────────────────────────────────────┤
92
+ Breadcrumbs: Gallery Entity Name │
93
+ PROFILE HEADER │
94
+ ┌───────────────────────────────────────────────────┐
95
+ │ │ [Avatar 96px] NAME (text-3xl, black) │ │
96
+ │ │ Role (accent, italic) │ │
97
+ │ ✦ Tagline │
98
+ │ │ │ │
99
+ │ │ [StatCard] [StatCard] [StatCard] [Badge][Badge]│ │
100
+ └───────────────────────────────────────────────────┘
101
+ ├────────────────────────────────────────────────────────┤
102
+ TAB BAR (General | DNA | Communication | History | ...) │
103
+ ├───────────┬────────────────────────────────────────────┤
104
+ SIDEBAR │ TAB CONTENT │
105
+ 180px │ Varies per tab:
106
+ │ │ — Card grid (2-col) │
107
+ │ │ — DNA analysis panels │
108
+ │ │ — History table │
109
+ └───────────┴────────────────────────────────────────────┘
110
+ ```
111
+
112
+ **Profile Header styles:**
113
+ ```css
114
+ .profile-header {
115
+ padding: var(--space-5) var(--space-6);
116
+ background: var(--bg-base);
117
+ border-bottom: 1px solid var(--border-subtle);
118
+ transition: var(--transition-theme);
119
+ display: grid;
120
+ grid-template-columns: auto minmax(0, 1fr);
121
+ gap: var(--space-5);
122
+ align-items: start;
123
+ }
124
+ .profile-avatar {
125
+ width: 96px; height: 96px;
126
+ border-radius: var(--radius-lg);
127
+ border: 2px solid var(--border-subtle);
128
+ object-fit: cover;
129
+ }
130
+ .profile-name {
131
+ font-family: var(--font-display); font-weight: var(--weight-bold);
132
+ font-size: var(--text-3xl); color: var(--text-heading);
133
+ letter-spacing: 0; line-height: var(--leading-tight);
134
+ overflow-wrap: anywhere;
135
+ }
136
+ .profile-role {
137
+ color: var(--accent); font-style: italic; font-size: var(--text-base);
138
+ }
139
+ .profile-tagline {
140
+ font-family: var(--font-mono); font-size: var(--text-xs);
141
+ color: var(--text-muted); letter-spacing: 0;
142
+ text-transform: uppercase;
143
+ }
144
+ .profile-stats {
145
+ display: grid;
146
+ grid-template-columns: repeat(auto-fit, minmax(min(100%, 130px), 1fr));
147
+ gap: var(--space-3);
148
+ margin-top: var(--space-4);
149
+ }
150
+ .profile-badges { display: flex; gap: var(--space-2); align-items: center; flex-wrap: wrap; }
151
+ ```
152
+
153
+ **Featured quote block (inside tab content):**
154
+ ```css
155
+ .quote-block {
156
+ padding: var(--space-8) var(--space-6);
157
+ text-align: center;
158
+ border-bottom: 1px solid var(--border-subtle);
159
+ }
160
+ .quote-text {
161
+ font-family: var(--font-display); font-size: var(--text-xl);
162
+ font-weight: var(--weight-medium); font-style: italic;
163
+ color: var(--text-primary); line-height: var(--leading-snug);
164
+ max-width: 680px; margin: 0 auto;
165
+ }
166
+ .quote-attribution {
167
+ font-family: var(--font-mono); font-size: var(--text-xs);
168
+ color: var(--text-muted); letter-spacing: 0;
169
+ text-transform: uppercase; margin-top: var(--space-3);
170
+ }
171
+ ```
172
+
173
+ ---
174
+
175
+ ## 3. Settings / Config Page
176
+
177
+ Apply the **Compact Density** scale from `design-tokens.md` throughout. Settings pages are operational UI, not marketing — no generous whitespace.
178
+
179
+ ```
180
+ ┌────────────────────────────────────────────────────────┐
181
+ │ TOP BAR │
182
+ ├───────────┬────────────────────────────────────────────┤
183
+ SIDEBAR │ SETTINGS TITLE (text-2xl, no description) │
184
+ │ │ │
185
+ General │ ┌─ Entity grid ──────────────────────┐ │
186
+ │ Security │ │ [Card 280px] [Card 280px] [Card] │ │ auto-fit grid
187
+ │ Billing │ │ name + ID + status badges │ │
188
+ Team │ │ [Ativar btn] [Editar btn] │ │
189
+ │ API │ └─────────────────────────────────────┘ │
190
+ │ │ │
191
+ │ │ ┌─ Section card (p-4 rounded-[22px]) ─┐ │
192
+ │ │ │ eyebrow (mono xs) + title (text-base)│ │
193
+ │ │ │ [row] dot · name model badges Editar│ │ ← divide-y py-2
194
+ │ │ │ [row] dot · name model badges Editar│ │
195
+ │ │ │ ▸ Sync / secondary tool (details) │ │ ← collapsed
196
+ │ │ └─────────────────────────────────────┘ │
197
+ │ │ │
198
+ │ │ ┌─ Danger Zone Card ──────────────────┐ │
199
+ │ │ │ border: var(--semantic-red-dim) │ │
200
+ │ │ └─────────────────────────────────────┘ │
201
+ └───────────┴────────────────────────────────────────────┘
202
+ ```
203
+
204
+ **Page heading:** `text-2xl` max no verbose description subtitle on the page header.
205
+
206
+ **Entity cards (projects, providers, squads):**
207
+ - Grid: `grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr))`, `gap: var(--space-3)`
208
+ - Card: `rounded-[18px] p-3`
209
+ - Name: `text-sm font-semibold truncate`
210
+ - ID: `font-mono text-[0.58rem] truncate`
211
+ - Status badges: `px-2 py-0.5 text-[0.58rem]`
212
+ - Actions: compact row at bottom — `py-1.5 text-[0.62rem]`
213
+
214
+ **Add/Edit forms Modal pattern (not inline expansion):**
215
+ ```
216
+ + Adicionar button → opens modal (max-w-md, centered, backdrop)
217
+ Editar button → opens same modal pre-filled
218
+ Never use accordion/RevealPanel inside entity cards
219
+ ```
220
+
221
+ **Section cards (provider lists, license, LLM config):**
222
+ - Card: `rounded-[22px] p-4`
223
+ - Header row: eyebrow + title + right-side control (select, badge) in one flex row
224
+ - File path or meta: `font-mono text-[0.62rem] truncate` — one line below title, no card for it
225
+ - Row items: `divide-y divide-[border]` with `py-2`, `text-xs` names, `text-[0.65rem]` models
226
+ - Edit button: `px-2.5 py-1 text-[0.65rem] rounded-xl`
227
+
228
+ **Disclosure pattern for secondary tools:**
229
+ ```html
230
+ <details class="rounded-[16px] border bg-elevated mt-3">
231
+ <summary> <!-- flex: label + status badge + action button in one row --> </summary>
232
+ <div class="border-t px-3 pb-3 pt-2">
233
+ <!-- compact diff rows or secondary form -->
234
+ </div>
235
+ </details>
236
+ ```
237
+
238
+ **Form inputs inside modals and cards:**
239
+ - Input/Select: `px-3 py-2 text-xs rounded-xl`
240
+ - Label: `text-[0.65rem] mb-0.5`
241
+ - Submit button: `w-full px-3 py-2 text-xs rounded-xl`
242
+
243
+ ---
244
+
245
+ ## 4. Auth Page (Login / Register)
246
+
247
+ ```
248
+ ┌────────────────────────────────────────────────────────┐
249
+ │ bg-void (full viewport, dark) │
250
+
251
+ │ ┌─ Card max-w: 420px ─────────────────┐ │
252
+ [Logo] AppName (mono, weight-bold)
253
+ SUBTITLE (mono, xs, muted, upper)
254
+
255
+ MONO LABEL: EMAIL
256
+ │ │ [Input]
257
+ MONO LABEL: PASSWORD
258
+ │ │ [Input]
259
+ [Primary Button: full width]
260
+ │ │ divider ─── ou ─── │ │
261
+ │ │ [Secondary Button: OAuth] │ │
262
+ │ │ Link: esqueceu / criar conta │ │
263
+ │ └──────────────────────────────────────┘ │
264
+ │ radial glow behind card (accent-glow)
265
+ └────────────────────────────────────────────────────────┘
266
+ ```
267
+
268
+ ```css
269
+ .auth-shell {
270
+ min-height: 100svh; background: var(--bg-void);
271
+ display: flex; align-items: center; justify-content: center;
272
+ position: relative; isolation: isolate; overflow: hidden;
273
+ padding: var(--space-6);
274
+ }
275
+ .auth-shell::before {
276
+ content: "";
277
+ position: absolute; inset: -20%;
278
+ background:
279
+ radial-gradient(ellipse at 50% 35%, var(--accent-glow), transparent 56%),
280
+ linear-gradient(135deg, rgba(34, 211, 238, 0.08), transparent 58%);
281
+ filter: blur(36px);
282
+ pointer-events: none;
283
+ z-index: 0;
284
+ }
285
+ .auth-card {
286
+ background: var(--bg-surface); border: 1px solid var(--border-subtle);
287
+ border-radius: var(--radius-xl); padding: var(--space-8);
288
+ width: 100%; max-width: 420px; position: relative; z-index: 1;
289
+ }
290
+ ```
291
+
292
+ ---
293
+
294
+ ## 5. List-Detail (Split View)
295
+
296
+ ```
297
+ ┌────────────────────────────────────────────────────────┐
298
+ │ TOP BAR │
299
+ ├────────────────────────────────────────────────────────┤
300
+ │ TAB BAR + Filter badges │
301
+ ├──────────────────────┬─────────────────────────────────┤
302
+ │ LIST minmax(280px,340px) │ DETAIL PANEL minmax(0,1fr) │
303
+ │ ┌──────────────┐ │ Profile Header (compact) │
304
+ │ │ Item (active)│◄───│ border-left: 3px accent │
305
+ │ ├──────────────┤ │ Stat Cards row │
306
+ │ │ Item │ │ Tab sub-navigation │
307
+ │ ├──────────────┤ │ Content (cards, table, DNA) │
308
+ │ │ Item │ │ │
309
+ │ └──────────────┘ │ │
310
+ └──────────────────────┴─────────────────────────────────┘
311
+ ```
312
+
313
+ ```css
314
+ .list-detail-shell { display: grid; grid-template-columns: minmax(280px, 340px) minmax(0, 1fr); min-height: 0; }
315
+ .list-panel { min-width: 0; border-right: 1px solid var(--border-subtle); overflow: auto; }
316
+ .list-item { padding: var(--space-4); border-bottom: 1px solid var(--border-subtle); cursor: pointer; transition: var(--transition-theme); }
317
+ .list-item:hover { background: var(--bg-elevated); }
318
+ .list-item.active { background: var(--bg-elevated); border-left: 3px solid var(--accent); }
319
+ .detail-panel { min-width: 0; min-height: 0; overflow: auto; }
320
+ ```
321
+
322
+ ---
323
+
324
+ ## Responsive Rules (all patterns)
325
+
326
+ ```css
327
+ @media (max-width: 768px) {
328
+ .shell { grid-template-rows: auto auto auto auto; }
329
+ .main-layout { grid-template-columns: 1fr; }
330
+ .sidebar {
331
+ border-right: none;
332
+ border-bottom: 1px solid var(--border-subtle);
333
+ display: flex;
334
+ gap: var(--space-2);
335
+ overflow-x: auto;
336
+ padding-block: var(--space-3);
337
+ }
338
+ .card-grid { grid-template-columns: 1fr; }
339
+ .feature-row { grid-template-columns: 1fr; }
340
+ .profile-header { grid-template-columns: 1fr; }
341
+ .list-detail-shell { grid-template-columns: 1fr; }
342
+ .list-panel {
343
+ border-right: none;
344
+ border-bottom: 1px solid var(--border-subtle);
345
+ max-height: 320px;
346
+ }
347
+ }
348
+ @media (min-width: 768px) and (max-width: 1024px) {
349
+ .main-layout { grid-template-columns: minmax(0, 180px) minmax(0, 1fr); }
350
+ .card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
351
+ }
352
+ @media (min-width: 1024px) {
353
+ .card-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); }
354
+ }
355
+ ```