zark-design 2.0.0 → 3.0.1
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.
- package/bin/cli.js +363 -90
- package/package.json +2 -2
- package/templates/{README.md → README.md.hbs} +8 -8
- package/templates/_shared/ASSETS-README.md.hbs +39 -0
- package/templates/_shared/tokens.css.hbs +202 -0
- package/templates/_shared/tokens.js.hbs +34 -0
- package/templates/html/components.css +22 -22
- package/templates/html/{index.html → index.html.hbs} +3 -3
- package/templates/html/{showcase.html → showcase.html.hbs} +53 -1424
- package/templates/jsx/{App.example.jsx → App.example.jsx.hbs} +10 -10
- package/templates/jsx/components/Avatar.jsx +2 -2
- package/templates/jsx/components/Funnel.jsx +2 -2
- package/templates/jsx/components/Sidebar.jsx +1 -1
- package/templates/jsx/components.css +22 -22
- package/templates/jsx/icons.jsx +2 -2
- package/templates/jsx/index.js +27 -27
- package/templates/presets/zark/preset.json +26 -0
- package/templates/html/tokens.css +0 -283
- package/templates/jsx/assets/logo-zark-laranja.png +0 -0
- package/templates/jsx/assets/zark-icon.png +0 -0
- package/templates/jsx/tokens.css +0 -283
- package/templates/jsx/tokens.js +0 -62
- /package/templates/{html/assets/zark-icon.png → presets/zark/assets/icon.png} +0 -0
- /package/templates/{html/assets/logo-zark-laranja.png → presets/zark/assets/logo-primary.png} +0 -0
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
/* ============================================================
|
|
2
|
+
{{NAME}} DESIGN SYSTEM — TOKENS
|
|
3
|
+
v3 · Sistemas/Apps · {{date}}
|
|
4
|
+
Importe este arquivo no entry-point do projeto antes de
|
|
5
|
+
components.css.
|
|
6
|
+
|
|
7
|
+
Gerado por: npx zark-design init{{#if preset}} --preset {{preset}}{{/if}}
|
|
8
|
+
============================================================ */
|
|
9
|
+
|
|
10
|
+
:root {
|
|
11
|
+
/* ---------- BRAND ({{name}}) ---------- */
|
|
12
|
+
--brand-50: {{brand.50}};
|
|
13
|
+
--brand-100: {{brand.100}};
|
|
14
|
+
--brand-200: {{brand.200}};
|
|
15
|
+
--brand-300: {{brand.300}};
|
|
16
|
+
--brand-400: {{brand.400}};
|
|
17
|
+
--brand-500: {{brand.500}}; /* primary */
|
|
18
|
+
--brand-600: {{brand.600}};
|
|
19
|
+
--brand-700: {{brand.700}};
|
|
20
|
+
--brand-800: {{brand.800}};
|
|
21
|
+
--brand-900: {{brand.900}};
|
|
22
|
+
--brand: var(--brand-500); /* alias semântico */
|
|
23
|
+
|
|
24
|
+
/* ---------- NEUTRALS (warm paper → ink) ---------- */
|
|
25
|
+
--paper: #fafaf8;
|
|
26
|
+
--canvas: #f5f4f1;
|
|
27
|
+
--surface: #ffffff;
|
|
28
|
+
--line-100: #f0eeea;
|
|
29
|
+
--line-200: #e8e6e1;
|
|
30
|
+
--line-300: #d8d5cf;
|
|
31
|
+
|
|
32
|
+
--ink-50: #f4f3f0;
|
|
33
|
+
--ink-100: #e8e6e1;
|
|
34
|
+
--ink-200: #c8c5bf;
|
|
35
|
+
--ink-300: #a09c95;
|
|
36
|
+
--ink-400: #6f6b64;
|
|
37
|
+
--ink-500: #4a4741;
|
|
38
|
+
--ink-600: #2e2c28;
|
|
39
|
+
--ink-700: #1a1916;
|
|
40
|
+
--ink-800: #111110;
|
|
41
|
+
--ink-900: #0a0a09;
|
|
42
|
+
|
|
43
|
+
/* fundos dark — usados pelo tema dark */
|
|
44
|
+
--bg-void: #151419;
|
|
45
|
+
--bg-glucon: #1b1a1e;
|
|
46
|
+
|
|
47
|
+
/* ---------- SEMANTIC ---------- */
|
|
48
|
+
--success-50: #ecfdf3;
|
|
49
|
+
--success-500: #10a960;
|
|
50
|
+
--success-700: #067a44;
|
|
51
|
+
|
|
52
|
+
--warning-50: #fff8e6;
|
|
53
|
+
--warning-500: #d99000;
|
|
54
|
+
--warning-700: #9a6500;
|
|
55
|
+
|
|
56
|
+
--danger-50: #fef1f1;
|
|
57
|
+
--danger-500: #dc3545;
|
|
58
|
+
--danger-700: #a52833;
|
|
59
|
+
|
|
60
|
+
--info-50: #eef5ff;
|
|
61
|
+
--info-500: #2f7adc;
|
|
62
|
+
--info-700: #1f5ba8;
|
|
63
|
+
|
|
64
|
+
--tag-bg: var(--brand-50);
|
|
65
|
+
--tag-fg: var(--brand-700);
|
|
66
|
+
--code-bg: var(--brand-50);
|
|
67
|
+
--code-fg: var(--brand-700);
|
|
68
|
+
|
|
69
|
+
/* ---------- TYPOGRAPHY ---------- */
|
|
70
|
+
--font-sans: "{{fonts.ui}}", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
|
|
71
|
+
--font-mono: "{{fonts.mono}}", "SF Mono", Menlo, Consolas, monospace;
|
|
72
|
+
--font-display: "{{fonts.display}}", "{{fonts.ui}}", sans-serif;
|
|
73
|
+
--font-ui: "{{fonts.ui}}", -apple-system, sans-serif;
|
|
74
|
+
|
|
75
|
+
/* type scale */
|
|
76
|
+
--fs-2xs: 10px; --fs-xs: 11px; --fs-sm: 12px; --fs-md: 13px;
|
|
77
|
+
--fs-base: 14px; --fs-lg: 16px; --fs-xl: 18px;
|
|
78
|
+
--fs-2xl: 22px; --fs-3xl: 28px; --fs-4xl: 36px;
|
|
79
|
+
--fs-5xl: 48px; --fs-6xl: 64px; --fs-display: 88px;
|
|
80
|
+
|
|
81
|
+
--lh-tight: 1.1; --lh-snug: 1.25; --lh-base: 1.45; --lh-loose: 1.6;
|
|
82
|
+
--ls-tight: -0.02em; --ls-snug: -0.01em; --ls-normal: 0;
|
|
83
|
+
--ls-wide: 0.04em; --ls-wider: 0.08em; --ls-widest: 0.14em;
|
|
84
|
+
|
|
85
|
+
--fw-regular: 400; --fw-medium: 500; --fw-semibold: 600; --fw-bold: 700;
|
|
86
|
+
|
|
87
|
+
/* ---------- SPACING (4px base) ---------- */
|
|
88
|
+
--sp-0: 0; --sp-1: 2px; --sp-2: 4px; --sp-3: 6px; --sp-4: 8px;
|
|
89
|
+
--sp-5: 10px; --sp-6: 12px; --sp-7: 14px; --sp-8: 16px;
|
|
90
|
+
--sp-10: 20px; --sp-12: 24px; --sp-14: 28px; --sp-16: 32px;
|
|
91
|
+
--sp-20: 40px; --sp-24: 48px; --sp-32: 64px; --sp-40: 80px; --sp-48: 96px;
|
|
92
|
+
|
|
93
|
+
/* ---------- RADII (sem pill — design choice) ---------- */
|
|
94
|
+
--r-xs: 3px; --r-sm: 4px; --r-md: 6px; --r-lg: 8px;
|
|
95
|
+
--r-xl: 12px; --r-2xl: 16px; --r-3xl: 20px;
|
|
96
|
+
|
|
97
|
+
/* ---------- SHADOWS (warm, não frias) ---------- */
|
|
98
|
+
--shadow-xs: 0 1px 0 rgba(20, 17, 12, 0.04);
|
|
99
|
+
--shadow-sm: 0 1px 2px rgba(20, 17, 12, 0.05), 0 0 0 1px rgba(20, 17, 12, 0.04);
|
|
100
|
+
--shadow-md: 0 4px 12px rgba(20, 17, 12, 0.06), 0 1px 2px rgba(20, 17, 12, 0.05);
|
|
101
|
+
--shadow-lg: 0 12px 32px rgba(20, 17, 12, 0.08), 0 2px 6px rgba(20, 17, 12, 0.04);
|
|
102
|
+
--shadow-xl: 0 24px 64px rgba(20, 17, 12, 0.12), 0 4px 12px rgba(20, 17, 12, 0.05);
|
|
103
|
+
--shadow-modal: 0 32px 96px rgba(20, 17, 12, 0.18), 0 8px 24px rgba(20, 17, 12, 0.08);
|
|
104
|
+
--shadow-inset: inset 0 1px 0 rgba(255, 255, 255, 0.08);
|
|
105
|
+
|
|
106
|
+
--ring-focus: 0 0 0 3px {{brand.ring}};
|
|
107
|
+
--ring-focus-soft: 0 0 0 3px {{brand.ringSoft}};
|
|
108
|
+
|
|
109
|
+
/* ---------- MOTION ---------- */
|
|
110
|
+
--ease-out: cubic-bezier(0.22, 1, 0.36, 1);
|
|
111
|
+
--ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
|
|
112
|
+
--ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
|
|
113
|
+
--t-fast: 120ms; --t-base: 180ms; --t-slow: 280ms; --t-slower: 420ms;
|
|
114
|
+
|
|
115
|
+
/* ---------- LAYOUT ---------- */
|
|
116
|
+
--sidebar-w: 240px; --topbar-h: 56px; --container-max: 1280px;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
/* ============================================================ BASE */
|
|
120
|
+
* { box-sizing: border-box; }
|
|
121
|
+
html, body {
|
|
122
|
+
margin: 0; padding: 0;
|
|
123
|
+
font-family: var(--font-sans);
|
|
124
|
+
font-size: var(--fs-base);
|
|
125
|
+
line-height: var(--lh-base);
|
|
126
|
+
color: var(--ink-700);
|
|
127
|
+
background: var(--paper);
|
|
128
|
+
-webkit-font-smoothing: antialiased;
|
|
129
|
+
text-rendering: optimizeLegibility;
|
|
130
|
+
}
|
|
131
|
+
::selection { background: var(--brand-200); color: var(--ink-700); }
|
|
132
|
+
a { color: inherit; }
|
|
133
|
+
button { font-family: inherit; }
|
|
134
|
+
|
|
135
|
+
/* ============================================================
|
|
136
|
+
DARK THEME — opt-in via [data-theme="dark"] OU auto via prefers-color-scheme
|
|
137
|
+
============================================================
|
|
138
|
+
Filosofia: a brand color MANTÉM os mesmos valores no dark — é assinatura.
|
|
139
|
+
O que muda são neutros, semânticos suaves, sombras e ring-focus.
|
|
140
|
+
============================================================ */
|
|
141
|
+
|
|
142
|
+
[data-theme="dark"] {
|
|
143
|
+
--paper: #0e0d11;
|
|
144
|
+
--canvas: var(--bg-void);
|
|
145
|
+
--surface: var(--bg-glucon);
|
|
146
|
+
--line-100: #232227;
|
|
147
|
+
--line-200: #2c2b32;
|
|
148
|
+
--line-300: #3a383f;
|
|
149
|
+
|
|
150
|
+
--ink-50: #1a1916;
|
|
151
|
+
--ink-100: #2c2b27;
|
|
152
|
+
--ink-200: #4a4741;
|
|
153
|
+
--ink-300: #6f6b64;
|
|
154
|
+
--ink-400: #a09c95;
|
|
155
|
+
--ink-500: #c8c5bf;
|
|
156
|
+
--ink-600: #e0ddd6;
|
|
157
|
+
--ink-700: #f0ede5;
|
|
158
|
+
--ink-800: #f7f5ef;
|
|
159
|
+
--ink-900: #fafaf8;
|
|
160
|
+
|
|
161
|
+
--success-50: #0f2419;
|
|
162
|
+
--warning-50: #2a1f08;
|
|
163
|
+
--danger-50: #2a1010;
|
|
164
|
+
--info-50: #0e1a2c;
|
|
165
|
+
|
|
166
|
+
--tag-bg: var(--brand-800);
|
|
167
|
+
--tag-fg: var(--brand-200);
|
|
168
|
+
--code-bg: var(--brand-900);
|
|
169
|
+
--code-fg: var(--brand-300);
|
|
170
|
+
|
|
171
|
+
--shadow-xs: 0 1px 0 rgba(0, 0, 0, 0.5);
|
|
172
|
+
--shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.4), 0 0 0 1px rgba(255, 255, 255, 0.04);
|
|
173
|
+
--shadow-md: 0 4px 12px rgba(0, 0, 0, 0.4), 0 1px 2px rgba(0, 0, 0, 0.3);
|
|
174
|
+
--shadow-lg: 0 12px 32px rgba(0, 0, 0, 0.5), 0 2px 6px rgba(0, 0, 0, 0.3);
|
|
175
|
+
--shadow-xl: 0 24px 64px rgba(0, 0, 0, 0.6), 0 4px 12px rgba(0, 0, 0, 0.3);
|
|
176
|
+
--shadow-modal: 0 32px 96px rgba(0, 0, 0, 0.7), 0 8px 24px rgba(0, 0, 0, 0.4);
|
|
177
|
+
--shadow-inset: inset 0 1px 0 rgba(255, 255, 255, 0.04);
|
|
178
|
+
|
|
179
|
+
--ring-focus: 0 0 0 3px {{brand.ringDark}};
|
|
180
|
+
--ring-focus-soft: 0 0 0 3px {{brand.ringSoftDark}};
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
@media (prefers-color-scheme: dark) {
|
|
184
|
+
:root:not([data-theme="light"]) {
|
|
185
|
+
--paper: #0e0d11;
|
|
186
|
+
--canvas: var(--bg-void);
|
|
187
|
+
--surface: var(--bg-glucon);
|
|
188
|
+
--line-100: #232227;
|
|
189
|
+
--line-200: #2c2b32;
|
|
190
|
+
--line-300: #3a383f;
|
|
191
|
+
|
|
192
|
+
--ink-50: #1a1916; --ink-100: #2c2b27; --ink-200: #4a4741;
|
|
193
|
+
--ink-300: #6f6b64; --ink-400: #a09c95; --ink-500: #c8c5bf;
|
|
194
|
+
--ink-600: #e0ddd6; --ink-700: #f0ede5; --ink-800: #f7f5ef; --ink-900: #fafaf8;
|
|
195
|
+
|
|
196
|
+
--success-50: #0f2419; --warning-50: #2a1f08;
|
|
197
|
+
--danger-50: #2a1010; --info-50: #0e1a2c;
|
|
198
|
+
|
|
199
|
+
--tag-bg: var(--brand-800); --tag-fg: var(--brand-200);
|
|
200
|
+
--code-bg: var(--brand-900); --code-fg: var(--brand-300);
|
|
201
|
+
}
|
|
202
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
// Tokens em JS — para casos onde você precisa do valor em runtime
|
|
2
|
+
// (animações, charts, inline styles dinâmicos). Para CSS, use tokens.css.
|
|
3
|
+
|
|
4
|
+
export const tokens = {
|
|
5
|
+
brand: {
|
|
6
|
+
50: '{{brand.50}}', 100: '{{brand.100}}', 200: '{{brand.200}}',
|
|
7
|
+
300: '{{brand.300}}', 400: '{{brand.400}}', 500: '{{brand.500}}',
|
|
8
|
+
600: '{{brand.600}}', 700: '{{brand.700}}', 800: '{{brand.800}}',
|
|
9
|
+
900: '{{brand.900}}',
|
|
10
|
+
primary: '{{brand.500}}',
|
|
11
|
+
},
|
|
12
|
+
neutral: {
|
|
13
|
+
paper: '#fafaf8', canvas: '#f5f4f1', surface: '#ffffff',
|
|
14
|
+
line: { 100: '#f0eeea', 200: '#e8e6e1', 300: '#d8d5cf' },
|
|
15
|
+
ink: {
|
|
16
|
+
50: '#f4f3f0', 100: '#e8e6e1', 200: '#c8c5bf', 300: '#a09c95',
|
|
17
|
+
400: '#6f6b64', 500: '#4a4741', 600: '#2e2c28', 700: '#1a1916',
|
|
18
|
+
800: '#111110', 900: '#0a0a09',
|
|
19
|
+
},
|
|
20
|
+
},
|
|
21
|
+
semantic: {
|
|
22
|
+
success: { 50: '#ecfdf3', 500: '#10a960', 700: '#067a44' },
|
|
23
|
+
warning: { 50: '#fff8e6', 500: '#d99000', 700: '#9a6500' },
|
|
24
|
+
danger: { 50: '#fef1f1', 500: '#dc3545', 700: '#a52833' },
|
|
25
|
+
info: { 50: '#eef5ff', 500: '#2f7adc', 700: '#1f5ba8' },
|
|
26
|
+
},
|
|
27
|
+
fonts: {
|
|
28
|
+
ui: '"{{fonts.ui}}"',
|
|
29
|
+
mono: '"{{fonts.mono}}"',
|
|
30
|
+
display: '"{{fonts.display}}"',
|
|
31
|
+
},
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
export default tokens;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* ============================================================
|
|
2
|
-
|
|
2
|
+
Brand DESIGN SYSTEM — COMPONENTS
|
|
3
3
|
v3 · Sistemas/Apps · 2026
|
|
4
4
|
Importe APÓS tokens.css.
|
|
5
5
|
============================================================ */
|
|
@@ -33,18 +33,18 @@
|
|
|
33
33
|
.btn-full { width: 100%; }
|
|
34
34
|
|
|
35
35
|
.btn-primary {
|
|
36
|
-
background: var(--
|
|
36
|
+
background: var(--brand-600); color: #fff;
|
|
37
37
|
box-shadow: inset 0 1px 0 rgba(255,255,255,0.18), 0 1px 2px rgba(168, 53, 8, 0.18);
|
|
38
38
|
}
|
|
39
|
-
.btn-primary:hover { background: var(--
|
|
39
|
+
.btn-primary:hover { background: var(--brand-700); }
|
|
40
40
|
.btn-secondary {
|
|
41
41
|
background: var(--surface); color: var(--ink-700);
|
|
42
42
|
border-color: var(--line-300);
|
|
43
43
|
box-shadow: var(--shadow-xs);
|
|
44
44
|
}
|
|
45
45
|
.btn-secondary:hover { background: var(--paper); }
|
|
46
|
-
.btn-soft { background: var(--
|
|
47
|
-
.btn-soft:hover { background: var(--
|
|
46
|
+
.btn-soft { background: var(--brand-50); color: var(--brand-700); }
|
|
47
|
+
.btn-soft:hover { background: var(--brand-100); }
|
|
48
48
|
.btn-ghost { background: transparent; color: var(--ink-600); }
|
|
49
49
|
.btn-ghost:hover{ background: var(--ink-50); }
|
|
50
50
|
.btn-danger { background: var(--surface); color: var(--danger-700); border-color: var(--line-300); }
|
|
@@ -72,7 +72,7 @@
|
|
|
72
72
|
width: 100%;
|
|
73
73
|
transition: box-shadow var(--t-fast), border-color var(--t-fast);
|
|
74
74
|
}
|
|
75
|
-
.input:focus-within { box-shadow: var(--ring-focus); border-color: var(--
|
|
75
|
+
.input:focus-within { box-shadow: var(--ring-focus); border-color: var(--brand-400); }
|
|
76
76
|
.input.invalid { border-color: var(--danger-500); }
|
|
77
77
|
.input.invalid:focus-within { box-shadow: 0 0 0 3px rgba(220, 53, 69, 0.18); }
|
|
78
78
|
.input-sm { height: 28px; padding: 0 8px; font-size: var(--fs-sm); }
|
|
@@ -123,7 +123,7 @@
|
|
|
123
123
|
.tag-sm { height: 22px; padding: 0 8px; font-size: var(--fs-xs); }
|
|
124
124
|
.tag-md { height: 26px; padding: 0 10px; font-size: var(--fs-sm); }
|
|
125
125
|
.tag-square { border-radius: var(--r-xs); }
|
|
126
|
-
.tag-ember { background: var(--
|
|
126
|
+
.tag-ember { background: var(--brand-50); color: var(--brand-700); }
|
|
127
127
|
.tag-mono { background: var(--tag-bg); color: var(--tag-fg); }
|
|
128
128
|
.tag-success { background: var(--success-50); color: var(--success-700); }
|
|
129
129
|
.tag-warning { background: var(--warning-50); color: var(--warning-700); }
|
|
@@ -150,14 +150,14 @@
|
|
|
150
150
|
|
|
151
151
|
/* Status — 5 estados base */
|
|
152
152
|
.s-todo { background: #fff8e6; color: #9a6500; }
|
|
153
|
-
.s-progress { background: var(--
|
|
153
|
+
.s-progress { background: var(--brand-50); color: var(--brand-700); }
|
|
154
154
|
.s-review { background: var(--info-50); color: var(--info-700); }
|
|
155
155
|
.s-done { background: var(--success-50); color: var(--success-700); }
|
|
156
156
|
.s-canceled { background: var(--ink-50); color: var(--ink-500); }
|
|
157
157
|
/* Modificadores */
|
|
158
158
|
.s-overdue { background: var(--danger-50); color: var(--danger-700); }
|
|
159
159
|
.s-paused { background: var(--warning-50); color: var(--warning-700); }
|
|
160
|
-
.s-followup { background: var(--
|
|
160
|
+
.s-followup { background: var(--brand-50); color: var(--brand-700); }
|
|
161
161
|
|
|
162
162
|
/* Prioridade */
|
|
163
163
|
.p-urgent { background: var(--danger-50); color: var(--danger-700); }
|
|
@@ -179,7 +179,7 @@
|
|
|
179
179
|
.badge {
|
|
180
180
|
display: inline-flex; align-items: center; justify-content: center;
|
|
181
181
|
min-width: 18px; height: 18px; padding: 0 5px;
|
|
182
|
-
background: var(--
|
|
182
|
+
background: var(--brand-500); color: #fff;
|
|
183
183
|
font-size: var(--fs-2xs); font-weight: 600;
|
|
184
184
|
border-radius: var(--r-sm);
|
|
185
185
|
}
|
|
@@ -193,7 +193,7 @@
|
|
|
193
193
|
border: none; cursor: pointer; position: relative;
|
|
194
194
|
transition: background var(--t-base) var(--ease-out);
|
|
195
195
|
}
|
|
196
|
-
.toggle.on { background: var(--
|
|
196
|
+
.toggle.on { background: var(--brand-500); }
|
|
197
197
|
.toggle .knob {
|
|
198
198
|
position: absolute; top: 2px; left: 2px;
|
|
199
199
|
width: 16px; height: 16px; border-radius: var(--r-xs);
|
|
@@ -246,13 +246,13 @@
|
|
|
246
246
|
transition: all var(--t-fast);
|
|
247
247
|
}
|
|
248
248
|
.chip:hover { background: var(--ink-50); color: var(--ink-700); }
|
|
249
|
-
.chip.active { background: var(--
|
|
249
|
+
.chip.active { background: var(--brand-50); color: var(--brand-700); border-color: var(--brand-200); }
|
|
250
250
|
.chip .count { font-family: var(--font-mono); font-size: var(--fs-2xs); color: inherit; opacity: 0.7; }
|
|
251
251
|
|
|
252
252
|
/* ---------- AVATAR ---------- */
|
|
253
253
|
.avatar {
|
|
254
254
|
width: 24px; height: 24px;
|
|
255
|
-
background: var(--
|
|
255
|
+
background: var(--brand-500); color: #fff;
|
|
256
256
|
border-radius: 50%;
|
|
257
257
|
display: inline-flex; align-items: center; justify-content: center;
|
|
258
258
|
font-size: 11px; font-weight: 600;
|
|
@@ -328,7 +328,7 @@
|
|
|
328
328
|
font-size: var(--fs-xs);
|
|
329
329
|
letter-spacing: var(--ls-widest);
|
|
330
330
|
text-transform: uppercase;
|
|
331
|
-
color: var(--
|
|
331
|
+
color: var(--brand-600);
|
|
332
332
|
margin-bottom: 14px;
|
|
333
333
|
}
|
|
334
334
|
.section h2 {
|
|
@@ -394,7 +394,7 @@
|
|
|
394
394
|
color: #fff;
|
|
395
395
|
}
|
|
396
396
|
.stat-icon.green { background: var(--success-500); }
|
|
397
|
-
.stat-icon.orange { background: var(--
|
|
397
|
+
.stat-icon.orange { background: var(--brand-500); }
|
|
398
398
|
.stat-icon.blue { background: var(--info-500); }
|
|
399
399
|
.stat-icon.purple { background: #7c3aed; }
|
|
400
400
|
.stat-icon.red { background: var(--danger-500); }
|
|
@@ -518,7 +518,7 @@
|
|
|
518
518
|
cursor: pointer;
|
|
519
519
|
transition: all var(--t-fast);
|
|
520
520
|
}
|
|
521
|
-
.k-add:hover { color: var(--
|
|
521
|
+
.k-add:hover { color: var(--brand-700); border-color: var(--brand-300); background: var(--brand-50); }
|
|
522
522
|
|
|
523
523
|
/* ---------- LEAD CARD ---------- */
|
|
524
524
|
.lead-card {
|
|
@@ -536,7 +536,7 @@
|
|
|
536
536
|
.lead-card.is-overdue { border-left: 3px solid var(--danger-500); }
|
|
537
537
|
.lead-card-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
|
|
538
538
|
.lead-card-name { display: inline-flex; align-items: center; gap: 6px; font-size: var(--fs-md); font-weight: 600; color: var(--ink-700); }
|
|
539
|
-
.lead-card-name .flame { color: var(--
|
|
539
|
+
.lead-card-name .flame { color: var(--brand-500); }
|
|
540
540
|
.lead-card-sub { font-size: var(--fs-xs); color: var(--ink-400); }
|
|
541
541
|
.lead-card-meta { display: flex; align-items: center; justify-content: space-between; font-size: var(--fs-xs); color: var(--ink-400); }
|
|
542
542
|
.lead-card-meta .icons { display: inline-flex; gap: 6px; color: var(--ink-300); }
|
|
@@ -548,7 +548,7 @@
|
|
|
548
548
|
}
|
|
549
549
|
.lead-card-followup {
|
|
550
550
|
display: inline-flex; align-items: center; gap: 4px;
|
|
551
|
-
font-size: var(--fs-xs); color: var(--
|
|
551
|
+
font-size: var(--fs-xs); color: var(--brand-700); font-weight: 500;
|
|
552
552
|
}
|
|
553
553
|
|
|
554
554
|
/* ---------- EMPTY STATE ---------- */
|
|
@@ -620,8 +620,8 @@
|
|
|
620
620
|
}
|
|
621
621
|
.zk-sidebar-link:hover { background: var(--ink-50); color: var(--ink-700); }
|
|
622
622
|
.zk-sidebar-link.active {
|
|
623
|
-
color: var(--
|
|
624
|
-
background: var(--
|
|
623
|
+
color: var(--brand-700);
|
|
624
|
+
background: var(--brand-50);
|
|
625
625
|
font-weight: 500;
|
|
626
626
|
}
|
|
627
627
|
|
|
@@ -686,7 +686,7 @@
|
|
|
686
686
|
text-align: center;
|
|
687
687
|
font-size: var(--fs-md); color: var(--ink-600);
|
|
688
688
|
}
|
|
689
|
-
.announce a { color: var(--
|
|
689
|
+
.announce a { color: var(--brand-700); text-decoration: underline; }
|
|
690
690
|
.tip {
|
|
691
691
|
display: flex; gap: 12px; padding: 14px;
|
|
692
692
|
background: var(--surface);
|
|
@@ -695,7 +695,7 @@
|
|
|
695
695
|
max-width: 320px;
|
|
696
696
|
box-shadow: var(--shadow-md);
|
|
697
697
|
}
|
|
698
|
-
.tip .ico { color: var(--
|
|
698
|
+
.tip .ico { color: var(--brand-500); margin-top: 2px; }
|
|
699
699
|
.tip .what {
|
|
700
700
|
font-size: var(--fs-xs); font-family: var(--font-mono);
|
|
701
701
|
letter-spacing: var(--ls-wider);
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
<head>
|
|
4
4
|
<meta charset="UTF-8"/>
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
|
6
|
-
<title>
|
|
6
|
+
<title>{{name}} · Exemplo</title>
|
|
7
7
|
<link rel="preconnect" href="https://fonts.googleapis.com"/>
|
|
8
8
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin/>
|
|
9
9
|
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Space+Grotesk:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap" rel="stylesheet"/>
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
<!-- SIDEBAR -->
|
|
19
19
|
<aside class="zk-sidebar">
|
|
20
20
|
<div class="zk-sidebar-brand">
|
|
21
|
-
<img src="assets/logo-
|
|
21
|
+
<img src="assets/logo-primary.png" alt="{{name}}" class="zk-sidebar-logo"/>
|
|
22
22
|
</div>
|
|
23
23
|
|
|
24
24
|
<div class="zk-sidebar-eyebrow">Workspace</div>
|
|
@@ -80,7 +80,7 @@
|
|
|
80
80
|
<div class="alert-critical-row">
|
|
81
81
|
<span class="tag-dot p-urgent">URGENTE</span>
|
|
82
82
|
<span style="font-weight:500">Enviar proposta para TR PAULO</span>
|
|
83
|
-
<span class="src">
|
|
83
|
+
<span class="src">{{name}} · Tarefas</span>
|
|
84
84
|
<span style="font-family:var(--font-mono); font-weight:600">3 dias</span>
|
|
85
85
|
</div>
|
|
86
86
|
<div class="alert-critical-row">
|