@jaimevalasek/aioson 1.30.1 → 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 (90) hide show
  1. package/CHANGELOG.md +9 -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 +567 -511
  12. package/template/.aioson/docs/play/README.md +2 -0
  13. package/template/.aioson/docs/play/agent-usage-guide.md +7 -1
  14. package/template/.aioson/docs/play/app-compatibility-guide.md +6 -1
  15. package/template/.aioson/docs/play/auth-services-and-testing.md +16 -1
  16. package/template/.aioson/docs/play/manifest-and-runtime.md +23 -0
  17. package/template/.aioson/skills/design/aurora-command-ui/SKILL.md +266 -243
  18. package/template/.aioson/skills/design/aurora-command-ui/references/art-direction.md +293 -293
  19. package/template/.aioson/skills/design/aurora-command-ui/references/components.md +827 -827
  20. package/template/.aioson/skills/design/aurora-command-ui/references/dashboards.md +250 -250
  21. package/template/.aioson/skills/design/aurora-command-ui/references/design-tokens.md +585 -585
  22. package/template/.aioson/skills/design/aurora-command-ui/references/motion.md +365 -365
  23. package/template/.aioson/skills/design/aurora-command-ui/references/patterns.md +485 -482
  24. package/template/.aioson/skills/design/aurora-command-ui/references/websites.md +386 -387
  25. package/template/.aioson/skills/design/bold-editorial-ui/SKILL.md +228 -205
  26. package/template/.aioson/skills/design/bold-editorial-ui/references/art-direction.md +338 -338
  27. package/template/.aioson/skills/design/bold-editorial-ui/references/components.md +977 -977
  28. package/template/.aioson/skills/design/bold-editorial-ui/references/dashboards.md +218 -218
  29. package/template/.aioson/skills/design/bold-editorial-ui/references/design-tokens.md +326 -326
  30. package/template/.aioson/skills/design/bold-editorial-ui/references/motion.md +461 -461
  31. package/template/.aioson/skills/design/bold-editorial-ui/references/patterns.md +293 -293
  32. package/template/.aioson/skills/design/bold-editorial-ui/references/websites.md +352 -352
  33. package/template/.aioson/skills/design/clean-saas-ui/SKILL.md +233 -210
  34. package/template/.aioson/skills/design/clean-saas-ui/references/art-direction.md +319 -319
  35. package/template/.aioson/skills/design/clean-saas-ui/references/components.md +365 -365
  36. package/template/.aioson/skills/design/clean-saas-ui/references/dashboards.md +196 -196
  37. package/template/.aioson/skills/design/clean-saas-ui/references/design-tokens.md +244 -244
  38. package/template/.aioson/skills/design/clean-saas-ui/references/motion.md +235 -235
  39. package/template/.aioson/skills/design/clean-saas-ui/references/patterns.md +215 -215
  40. package/template/.aioson/skills/design/clean-saas-ui/references/websites.md +295 -295
  41. package/template/.aioson/skills/design/cognitive-core-ui/SKILL.md +239 -203
  42. package/template/.aioson/skills/design/cognitive-core-ui/references/art-direction.md +339 -339
  43. package/template/.aioson/skills/design/cognitive-core-ui/references/components.md +417 -407
  44. package/template/.aioson/skills/design/cognitive-core-ui/references/dashboards.md +289 -272
  45. package/template/.aioson/skills/design/cognitive-core-ui/references/design-tokens.md +525 -524
  46. package/template/.aioson/skills/design/cognitive-core-ui/references/motion.md +279 -279
  47. package/template/.aioson/skills/design/cognitive-core-ui/references/patterns.md +355 -289
  48. package/template/.aioson/skills/design/cognitive-core-ui/references/websites.md +443 -437
  49. package/template/.aioson/skills/design/glassmorphism-ui/SKILL.md +245 -222
  50. package/template/.aioson/skills/design/glassmorphism-ui/references/art-direction.md +159 -159
  51. package/template/.aioson/skills/design/glassmorphism-ui/references/components.md +498 -498
  52. package/template/.aioson/skills/design/glassmorphism-ui/references/dashboards.md +236 -236
  53. package/template/.aioson/skills/design/glassmorphism-ui/references/design-tokens.md +274 -274
  54. package/template/.aioson/skills/design/glassmorphism-ui/references/motion.md +355 -355
  55. package/template/.aioson/skills/design/glassmorphism-ui/references/patterns.md +198 -198
  56. package/template/.aioson/skills/design/glassmorphism-ui/references/websites.md +307 -307
  57. package/template/.aioson/skills/design/interface-design/SKILL.md +68 -47
  58. package/template/.aioson/skills/design/interface-design/references/components-and-states.md +105 -105
  59. package/template/.aioson/skills/design/interface-design/references/design-directions.md +101 -101
  60. package/template/.aioson/skills/design/interface-design/references/handoff-and-quality.md +92 -71
  61. package/template/.aioson/skills/design/interface-design/references/intent-and-domain.md +74 -74
  62. package/template/.aioson/skills/design/interface-design/references/tokens-and-depth.md +173 -173
  63. package/template/.aioson/skills/design/neo-brutalist-ui/SKILL.md +236 -213
  64. package/template/.aioson/skills/design/neo-brutalist-ui/references/art-direction.md +228 -228
  65. package/template/.aioson/skills/design/neo-brutalist-ui/references/components.md +855 -855
  66. package/template/.aioson/skills/design/neo-brutalist-ui/references/dashboards.md +334 -334
  67. package/template/.aioson/skills/design/neo-brutalist-ui/references/design-tokens.md +342 -342
  68. package/template/.aioson/skills/design/neo-brutalist-ui/references/motion.md +286 -286
  69. package/template/.aioson/skills/design/neo-brutalist-ui/references/patterns.md +458 -458
  70. package/template/.aioson/skills/design/neo-brutalist-ui/references/websites.md +723 -723
  71. package/template/.aioson/skills/design/premium-command-center-ui/SKILL.md +83 -62
  72. package/template/.aioson/skills/design/premium-command-center-ui/references/operations.md +74 -74
  73. package/template/.aioson/skills/design/premium-command-center-ui/references/patterns.md +116 -116
  74. package/template/.aioson/skills/design/premium-command-center-ui/references/validation.md +47 -47
  75. package/template/.aioson/skills/design/premium-command-center-ui/references/visual-system.md +215 -215
  76. package/template/.aioson/skills/design/pt.squarespace.com/.skill-meta.json +31 -31
  77. package/template/.aioson/skills/design/pt.squarespace.com/SKILL.md +94 -66
  78. package/template/.aioson/skills/design/pt.squarespace.com/references/components.md +366 -366
  79. package/template/.aioson/skills/design/pt.squarespace.com/references/design-tokens.md +150 -150
  80. package/template/.aioson/skills/design/pt.squarespace.com/references/motion.md +270 -270
  81. package/template/.aioson/skills/design/pt.squarespace.com/references/patterns.md +189 -189
  82. package/template/.aioson/skills/design/pt.squarespace.com/references/websites.md +161 -161
  83. package/template/.aioson/skills/design/warm-craft-ui/SKILL.md +232 -209
  84. package/template/.aioson/skills/design/warm-craft-ui/references/art-direction.md +324 -324
  85. package/template/.aioson/skills/design/warm-craft-ui/references/components.md +508 -508
  86. package/template/.aioson/skills/design/warm-craft-ui/references/dashboards.md +223 -223
  87. package/template/.aioson/skills/design/warm-craft-ui/references/design-tokens.md +374 -374
  88. package/template/.aioson/skills/design/warm-craft-ui/references/motion.md +356 -356
  89. package/template/.aioson/skills/design/warm-craft-ui/references/patterns.md +288 -288
  90. 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
+ ```