@howssatoshi/quantumcss 1.7.5 → 1.8.0
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/README.md +1 -1
- package/dist/index.html +232 -0
- package/dist/quantum.min.css +1 -1
- package/examples/admin-panel.html +10 -18
- package/examples/analytics-dashboard.html +30 -19
- package/examples/blog-template.html +20 -20
- package/examples/chat-messaging.html +13 -23
- package/examples/email-template.html +20 -28
- package/examples/gaming-template.html +13 -13
- package/examples/gradient-test.html +0 -5
- package/examples/index.html +15 -15
- package/examples/kitchen-sink.html +15 -26
- package/examples/music-streaming.html +21 -29
- package/examples/news-template.html +14 -14
- package/examples/portfolio-resume.html +14 -35
- package/examples/shopping/index.html +10 -24
- package/examples/starlight.html +5 -5
- package/examples/theme-test.html +0 -15
- package/examples/travel/index.html +15 -15
- package/examples/video-streaming.html +30 -16
- package/package.json +1 -1
- package/src/defaults.js +78 -3
- package/src/generator.js +2 -2
- package/src/starlight.js +0 -4
- package/src/styles/quantum-animations.css +13 -13
- package/src/styles/quantum-base.css +158 -32
- package/src/styles/quantum-components.css +259 -533
- package/src/styles/starlight.css +680 -45
|
@@ -1,3 +1,12 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* QuantumCSS Core
|
|
3
|
+
* Layer: Components (Brand Neutral)
|
|
4
|
+
*
|
|
5
|
+
* RULES:
|
|
6
|
+
* 1. Components MUST ONLY use semantic tokens.
|
|
7
|
+
* 2. NO hardcoded colors, beziers, or brand tokens.
|
|
8
|
+
* 3. Layout and structural logic only.
|
|
9
|
+
*/
|
|
1
10
|
|
|
2
11
|
.group:hover .group-hover\:opacity-100 { opacity: 1; }
|
|
3
12
|
.group:hover .group-hover\:scale-110 { transform: scale(1.1); }
|
|
@@ -12,7 +21,7 @@
|
|
|
12
21
|
padding: var(--q-space-2) var(--q-space-4);
|
|
13
22
|
border-radius: var(--q-radius-md);
|
|
14
23
|
font-weight: 500;
|
|
15
|
-
transition: all var(--q-duration-
|
|
24
|
+
transition: all var(--q-duration-fast) var(--q-ease-in-out);
|
|
16
25
|
cursor: pointer;
|
|
17
26
|
border: 1px solid transparent;
|
|
18
27
|
text-decoration: none;
|
|
@@ -37,21 +46,20 @@
|
|
|
37
46
|
}
|
|
38
47
|
|
|
39
48
|
.btn-secondary {
|
|
40
|
-
background-color:
|
|
41
|
-
color:
|
|
49
|
+
background-color: var(--q-color-surface-elevated);
|
|
50
|
+
color: var(--q-color-text) !important;
|
|
42
51
|
border: 0;
|
|
43
52
|
backdrop-filter: blur(12px);
|
|
44
53
|
-webkit-backdrop-filter: blur(12px);
|
|
45
54
|
}
|
|
46
55
|
|
|
47
56
|
.btn-secondary:hover {
|
|
48
|
-
background-color:
|
|
57
|
+
background-color: color-mix(in srgb, var(--q-color-surface-elevated), white 5%);
|
|
49
58
|
}
|
|
50
59
|
|
|
51
|
-
body.light-mode .btn-secondary,
|
|
52
60
|
html[data-theme="light"] .btn-secondary {
|
|
53
|
-
background-color:
|
|
54
|
-
color:
|
|
61
|
+
background-color: var(--q-color-surface-elevated);
|
|
62
|
+
color: var(--q-color-text) !important;
|
|
55
63
|
border: 0;
|
|
56
64
|
}
|
|
57
65
|
|
|
@@ -91,19 +99,24 @@ html[data-theme="light"] .btn-secondary {
|
|
|
91
99
|
font-size: 1.25rem;
|
|
92
100
|
}
|
|
93
101
|
|
|
102
|
+
/* Glass Utility */
|
|
103
|
+
.glass {
|
|
104
|
+
background: var(--q-glass-bg);
|
|
105
|
+
border: 1px solid var(--q-glass-border);
|
|
106
|
+
backdrop-filter: var(--q-glass-blur);
|
|
107
|
+
-webkit-backdrop-filter: var(--q-glass-blur);
|
|
108
|
+
border-radius: var(--q-radius-xl);
|
|
109
|
+
}
|
|
110
|
+
|
|
94
111
|
/* Card Component */
|
|
95
112
|
.card {
|
|
96
|
-
background-color:
|
|
97
|
-
color:
|
|
113
|
+
background-color: var(--q-color-surface);
|
|
114
|
+
color: var(--q-color-text);
|
|
115
|
+
border: 1px solid var(--q-color-border);
|
|
98
116
|
border-radius: var(--q-radius-lg);
|
|
99
117
|
box-shadow: var(--q-shadow-md);
|
|
100
118
|
overflow: hidden;
|
|
101
|
-
transition: all var(--q-duration-
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
body.light-mode .card {
|
|
105
|
-
background-color: white;
|
|
106
|
-
color: #1e293b;
|
|
119
|
+
transition: all var(--q-duration-base) var(--q-ease-in-out);
|
|
107
120
|
}
|
|
108
121
|
|
|
109
122
|
.card:hover {
|
|
@@ -113,7 +126,7 @@ body.light-mode .card {
|
|
|
113
126
|
|
|
114
127
|
.card-header {
|
|
115
128
|
padding: var(--q-space-6);
|
|
116
|
-
border-bottom: 1px solid
|
|
129
|
+
border-bottom: 1px solid var(--q-color-border);
|
|
117
130
|
}
|
|
118
131
|
|
|
119
132
|
.card-body {
|
|
@@ -122,14 +135,9 @@ body.light-mode .card {
|
|
|
122
135
|
|
|
123
136
|
.card-footer {
|
|
124
137
|
padding: var(--q-space-6);
|
|
125
|
-
border-top: 1px solid
|
|
126
|
-
background-color:
|
|
127
|
-
color:
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
body.light-mode .card-footer {
|
|
131
|
-
background-color: #f9fafb;
|
|
132
|
-
color: #1e293b;
|
|
138
|
+
border-top: 1px solid var(--q-color-border);
|
|
139
|
+
background-color: var(--q-color-bg-muted);
|
|
140
|
+
color: var(--q-color-text-muted);
|
|
133
141
|
}
|
|
134
142
|
|
|
135
143
|
/* Input Component */
|
|
@@ -137,17 +145,12 @@ body.light-mode .card-footer {
|
|
|
137
145
|
display: block;
|
|
138
146
|
width: 100%;
|
|
139
147
|
padding: var(--q-space-2) var(--q-space-3);
|
|
140
|
-
border: 1px solid
|
|
148
|
+
border: 1px solid var(--q-color-border);
|
|
141
149
|
border-radius: var(--q-radius-md);
|
|
142
|
-
background-color:
|
|
143
|
-
color:
|
|
150
|
+
background-color: var(--q-color-surface);
|
|
151
|
+
color: var(--q-color-text);
|
|
144
152
|
font-size: 1rem;
|
|
145
|
-
transition: all var(--q-duration-
|
|
146
|
-
}
|
|
147
|
-
|
|
148
|
-
body.light-mode .input {
|
|
149
|
-
background-color: white;
|
|
150
|
-
color: #1e293b;
|
|
153
|
+
transition: all var(--q-duration-fast) var(--q-ease-in-out);
|
|
151
154
|
}
|
|
152
155
|
|
|
153
156
|
textarea.input {
|
|
@@ -157,7 +160,7 @@ textarea.input {
|
|
|
157
160
|
.input:focus {
|
|
158
161
|
outline: none;
|
|
159
162
|
border-color: var(--q-color-primary);
|
|
160
|
-
box-shadow: 0 0 0 3px var(--q-color-primary);
|
|
163
|
+
box-shadow: 0 0 0 3px color-mix(in srgb, var(--q-color-primary) 30%, transparent);
|
|
161
164
|
}
|
|
162
165
|
|
|
163
166
|
/* Date & Time Input Specifics */
|
|
@@ -186,23 +189,18 @@ input[type="date"]::-webkit-calendar-picker-indicator {
|
|
|
186
189
|
}
|
|
187
190
|
|
|
188
191
|
.input:disabled {
|
|
189
|
-
background-color:
|
|
190
|
-
color:
|
|
192
|
+
background-color: var(--q-color-bg-muted);
|
|
193
|
+
color: var(--q-color-text-muted);
|
|
191
194
|
cursor: not-allowed;
|
|
192
195
|
}
|
|
193
196
|
|
|
194
|
-
body.light-mode .input:disabled {
|
|
195
|
-
background-color: #f3f4f6;
|
|
196
|
-
color: #6b7280;
|
|
197
|
-
}
|
|
198
|
-
|
|
199
197
|
.input-error {
|
|
200
|
-
border-color: var(--q-color-
|
|
198
|
+
border-color: var(--q-color-danger);
|
|
201
199
|
}
|
|
202
200
|
|
|
203
201
|
.input-error:focus {
|
|
204
|
-
border-color: var(--q-color-
|
|
205
|
-
box-shadow: 0 0 0 3px var(--q-color-
|
|
202
|
+
border-color: var(--q-color-danger);
|
|
203
|
+
box-shadow: 0 0 0 3px color-mix(in srgb, var(--q-color-danger) 30%, transparent);
|
|
206
204
|
}
|
|
207
205
|
|
|
208
206
|
/* Badge Component */
|
|
@@ -221,64 +219,33 @@ body.light-mode .input:disabled {
|
|
|
221
219
|
}
|
|
222
220
|
|
|
223
221
|
.badge-primary {
|
|
224
|
-
background-color:
|
|
225
|
-
color:
|
|
226
|
-
border-color:
|
|
222
|
+
background-color: var(--q-color-info-soft);
|
|
223
|
+
color: var(--q-color-info);
|
|
224
|
+
border-color: color-mix(in srgb, var(--q-color-info) 30%, transparent);
|
|
227
225
|
}
|
|
228
226
|
|
|
229
227
|
.badge-secondary {
|
|
230
|
-
background-color:
|
|
231
|
-
color:
|
|
232
|
-
border-color:
|
|
228
|
+
background-color: var(--q-color-surface-elevated);
|
|
229
|
+
color: var(--q-color-text-muted);
|
|
230
|
+
border-color: var(--q-color-border);
|
|
233
231
|
}
|
|
234
232
|
|
|
235
233
|
.badge-success {
|
|
236
|
-
background-color:
|
|
237
|
-
color:
|
|
238
|
-
border-color:
|
|
234
|
+
background-color: var(--q-color-success-soft);
|
|
235
|
+
color: var(--q-color-success);
|
|
236
|
+
border-color: color-mix(in srgb, var(--q-color-success) 30%, transparent);
|
|
239
237
|
}
|
|
240
238
|
|
|
241
239
|
.badge-warning {
|
|
242
|
-
background-color:
|
|
243
|
-
color:
|
|
244
|
-
border-color:
|
|
240
|
+
background-color: var(--q-color-warning-soft);
|
|
241
|
+
color: var(--q-color-warning);
|
|
242
|
+
border-color: color-mix(in srgb, var(--q-color-warning) 30%, transparent);
|
|
245
243
|
}
|
|
246
244
|
|
|
247
245
|
.badge-error {
|
|
248
|
-
background-color:
|
|
249
|
-
color:
|
|
250
|
-
border-color:
|
|
251
|
-
}
|
|
252
|
-
|
|
253
|
-
/* Light Mode Overrides for Badges */
|
|
254
|
-
html[data-theme="light"] .badge-primary {
|
|
255
|
-
background-color: rgb(59 130 246 / 10%);
|
|
256
|
-
color: #2563eb;
|
|
257
|
-
border-color: rgb(59 130 246 / 20%);
|
|
258
|
-
}
|
|
259
|
-
|
|
260
|
-
html[data-theme="light"] .badge-secondary {
|
|
261
|
-
background-color: rgb(0 0 0 / 5%);
|
|
262
|
-
color: #475569;
|
|
263
|
-
border-color: rgb(0 0 0 / 10%);
|
|
264
|
-
}
|
|
265
|
-
|
|
266
|
-
html[data-theme="light"] .badge-success {
|
|
267
|
-
background-color: rgb(16 185 129 / 10%);
|
|
268
|
-
color: #059669;
|
|
269
|
-
border-color: rgb(16 185 129 / 20%);
|
|
270
|
-
}
|
|
271
|
-
|
|
272
|
-
html[data-theme="light"] .badge-warning {
|
|
273
|
-
background-color: rgb(245 158 11 / 10%);
|
|
274
|
-
color: #d97706;
|
|
275
|
-
border-color: rgb(245 158 11 / 20%);
|
|
276
|
-
}
|
|
277
|
-
|
|
278
|
-
html[data-theme="light"] .badge-error {
|
|
279
|
-
background-color: rgb(239 68 68 / 10%);
|
|
280
|
-
color: #dc2626;
|
|
281
|
-
border-color: rgb(239 68 68 / 20%);
|
|
246
|
+
background-color: var(--q-color-danger-soft);
|
|
247
|
+
color: var(--q-color-danger);
|
|
248
|
+
border-color: color-mix(in srgb, var(--q-color-danger) 30%, transparent);
|
|
282
249
|
}
|
|
283
250
|
|
|
284
251
|
/* Alert Component */
|
|
@@ -289,34 +256,34 @@ html[data-theme="light"] .badge-error {
|
|
|
289
256
|
}
|
|
290
257
|
|
|
291
258
|
.alert-success {
|
|
292
|
-
background-color:
|
|
293
|
-
border-color:
|
|
294
|
-
color:
|
|
259
|
+
background-color: var(--q-color-success-soft);
|
|
260
|
+
border-color: color-mix(in srgb, var(--q-color-success) 20%, transparent);
|
|
261
|
+
color: var(--q-color-success);
|
|
295
262
|
}
|
|
296
263
|
|
|
297
264
|
.alert-warning {
|
|
298
|
-
background-color:
|
|
299
|
-
border-color:
|
|
300
|
-
color:
|
|
265
|
+
background-color: var(--q-color-warning-soft);
|
|
266
|
+
border-color: color-mix(in srgb, var(--q-color-warning) 20%, transparent);
|
|
267
|
+
color: var(--q-color-warning);
|
|
301
268
|
}
|
|
302
269
|
|
|
303
270
|
.alert-error {
|
|
304
|
-
background-color:
|
|
305
|
-
border-color:
|
|
306
|
-
color:
|
|
271
|
+
background-color: var(--q-color-danger-soft);
|
|
272
|
+
border-color: color-mix(in srgb, var(--q-color-danger) 20%, transparent);
|
|
273
|
+
color: var(--q-color-danger);
|
|
307
274
|
}
|
|
308
275
|
|
|
309
276
|
.alert-info {
|
|
310
|
-
background-color:
|
|
311
|
-
border-color:
|
|
312
|
-
color:
|
|
277
|
+
background-color: var(--q-color-info-soft);
|
|
278
|
+
border-color: color-mix(in srgb, var(--q-color-info) 20%, transparent);
|
|
279
|
+
color: var(--q-color-info);
|
|
313
280
|
}
|
|
314
281
|
|
|
315
282
|
/* Modal Component */
|
|
316
283
|
.modal-overlay {
|
|
317
284
|
position: fixed;
|
|
318
285
|
inset: 0;
|
|
319
|
-
background-color:
|
|
286
|
+
background-color: color-mix(in srgb, var(--q-color-bg) 50%, transparent);
|
|
320
287
|
display: flex;
|
|
321
288
|
align-items: center;
|
|
322
289
|
justify-content: center;
|
|
@@ -324,8 +291,8 @@ html[data-theme="light"] .badge-error {
|
|
|
324
291
|
}
|
|
325
292
|
|
|
326
293
|
.modal-content {
|
|
327
|
-
background-color:
|
|
328
|
-
color:
|
|
294
|
+
background-color: var(--q-color-surface);
|
|
295
|
+
color: var(--q-color-text);
|
|
329
296
|
border-radius: var(--q-radius-lg);
|
|
330
297
|
box-shadow: var(--q-shadow-2xl);
|
|
331
298
|
max-width: 90vw;
|
|
@@ -333,17 +300,12 @@ html[data-theme="light"] .badge-error {
|
|
|
333
300
|
overflow-y: auto;
|
|
334
301
|
}
|
|
335
302
|
|
|
336
|
-
body.light-mode .modal-content {
|
|
337
|
-
background-color: white;
|
|
338
|
-
color: #1e293b;
|
|
339
|
-
}
|
|
340
|
-
|
|
341
303
|
/* Loading Spinner */
|
|
342
304
|
.spinner {
|
|
343
305
|
display: inline-block;
|
|
344
306
|
width: 1.5rem;
|
|
345
307
|
height: 1.5rem;
|
|
346
|
-
border: 2px solid
|
|
308
|
+
border: 2px solid var(--q-color-border);
|
|
347
309
|
border-top-color: var(--q-color-primary);
|
|
348
310
|
border-radius: 50%;
|
|
349
311
|
animation: spin 1s linear infinite;
|
|
@@ -355,7 +317,11 @@ body.light-mode .modal-content {
|
|
|
355
317
|
|
|
356
318
|
/* Skeleton Loading */
|
|
357
319
|
.skeleton {
|
|
358
|
-
background: linear-gradient(90deg,
|
|
320
|
+
background: linear-gradient(90deg,
|
|
321
|
+
var(--q-color-bg-muted) 25%,
|
|
322
|
+
color-mix(in srgb, var(--q-color-bg-muted), white 5%) 50%,
|
|
323
|
+
var(--q-color-bg-muted) 75%
|
|
324
|
+
);
|
|
359
325
|
background-size: 200% 100%;
|
|
360
326
|
animation: shimmer 2s infinite;
|
|
361
327
|
border-radius: var(--q-radius-md);
|
|
@@ -366,11 +332,6 @@ body.light-mode .modal-content {
|
|
|
366
332
|
100% { background-position: -200% 0; }
|
|
367
333
|
}
|
|
368
334
|
|
|
369
|
-
body.light-mode .skeleton {
|
|
370
|
-
background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
|
|
371
|
-
background-size: 200% 100%;
|
|
372
|
-
}
|
|
373
|
-
|
|
374
335
|
/* Tooltip Component */
|
|
375
336
|
.tooltip {
|
|
376
337
|
position: relative;
|
|
@@ -381,15 +342,15 @@ body.light-mode .skeleton {
|
|
|
381
342
|
bottom: 100%;
|
|
382
343
|
left: 50%;
|
|
383
344
|
transform: translateX(-50%);
|
|
384
|
-
background-color:
|
|
385
|
-
color:
|
|
345
|
+
background-color: var(--q-color-bg-muted);
|
|
346
|
+
color: var(--q-color-text);
|
|
386
347
|
padding: var(--q-space-1) var(--q-space-2);
|
|
387
348
|
border-radius: var(--q-radius-md);
|
|
388
349
|
font-size: 0.875rem;
|
|
389
350
|
white-space: nowrap;
|
|
390
351
|
opacity: 0;
|
|
391
352
|
visibility: hidden;
|
|
392
|
-
transition: all var(--q-duration-
|
|
353
|
+
transition: all var(--q-duration-fast) var(--q-ease-in-out);
|
|
393
354
|
z-index: 10;
|
|
394
355
|
margin-bottom: var(--q-space-1);
|
|
395
356
|
}
|
|
@@ -409,9 +370,9 @@ body.light-mode .skeleton {
|
|
|
409
370
|
position: absolute;
|
|
410
371
|
top: 100%;
|
|
411
372
|
left: 0;
|
|
412
|
-
background-color:
|
|
413
|
-
color:
|
|
414
|
-
border: 1px solid
|
|
373
|
+
background-color: var(--q-color-surface);
|
|
374
|
+
color: var(--q-color-text);
|
|
375
|
+
border: 1px solid var(--q-color-border);
|
|
415
376
|
border-radius: var(--q-radius-md);
|
|
416
377
|
box-shadow: var(--q-shadow-lg);
|
|
417
378
|
min-width: 200px;
|
|
@@ -419,12 +380,7 @@ body.light-mode .skeleton {
|
|
|
419
380
|
opacity: 0;
|
|
420
381
|
visibility: hidden;
|
|
421
382
|
transform: translateY(-10px);
|
|
422
|
-
transition: all var(--q-duration-
|
|
423
|
-
}
|
|
424
|
-
|
|
425
|
-
body.light-mode .dropdown-content {
|
|
426
|
-
background-color: white;
|
|
427
|
-
color: #1e293b;
|
|
383
|
+
transition: all var(--q-duration-fast) var(--q-ease-in-out);
|
|
428
384
|
}
|
|
429
385
|
|
|
430
386
|
.dropdown.active .dropdown-content {
|
|
@@ -441,74 +397,53 @@ body.light-mode .dropdown-content {
|
|
|
441
397
|
background: none;
|
|
442
398
|
border: none;
|
|
443
399
|
cursor: pointer;
|
|
444
|
-
color:
|
|
445
|
-
transition: background-color var(--q-duration-
|
|
400
|
+
color: var(--q-color-text);
|
|
401
|
+
transition: background-color var(--q-duration-fast) var(--q-ease-in-out);
|
|
446
402
|
}
|
|
447
403
|
|
|
448
404
|
.dropdown-item:hover {
|
|
449
|
-
background-color:
|
|
450
|
-
color:
|
|
451
|
-
}
|
|
452
|
-
|
|
453
|
-
body.light-mode .dropdown-item {
|
|
454
|
-
color: #1e293b;
|
|
455
|
-
}
|
|
456
|
-
|
|
457
|
-
body.light-mode .dropdown-item:hover {
|
|
458
|
-
background-color: #f3f4f6;
|
|
459
|
-
color: #1e293b;
|
|
405
|
+
background-color: var(--q-color-bg-muted);
|
|
406
|
+
color: var(--q-color-text);
|
|
460
407
|
}
|
|
461
408
|
|
|
462
409
|
/* Accordion Component */
|
|
463
410
|
.accordion-item {
|
|
464
|
-
border: 1px solid
|
|
411
|
+
border: 1px solid var(--q-card-border);
|
|
465
412
|
border-radius: var(--q-radius-md);
|
|
466
413
|
margin-bottom: var(--q-space-2);
|
|
467
414
|
overflow: hidden;
|
|
468
415
|
}
|
|
469
416
|
|
|
470
417
|
.accordion-header {
|
|
471
|
-
padding: var(--q-space-4);
|
|
472
|
-
|
|
473
|
-
color:
|
|
418
|
+
padding: var(--q-space-3) var(--q-space-4);
|
|
419
|
+
font-weight: 600;
|
|
420
|
+
background-color: var(--q-color-surface-elevated);
|
|
421
|
+
border-bottom: 1px solid var(--q-color-border);
|
|
422
|
+
color: var(--q-color-text);
|
|
474
423
|
cursor: pointer;
|
|
475
424
|
display: flex;
|
|
476
425
|
justify-content: space-between;
|
|
477
426
|
align-items: center;
|
|
478
|
-
transition: background-color var(--q-duration-
|
|
427
|
+
transition: background-color var(--q-duration-fast) var(--q-ease-in-out);
|
|
479
428
|
}
|
|
480
429
|
|
|
481
430
|
.accordion-header:hover {
|
|
482
|
-
background-color:
|
|
483
|
-
color:
|
|
431
|
+
background-color: color-mix(in srgb, var(--q-color-surface-elevated), white 5%);
|
|
432
|
+
color: var(--q-color-text);
|
|
484
433
|
}
|
|
485
434
|
|
|
486
435
|
.accordion-content {
|
|
487
|
-
padding: var(--q-space-4);
|
|
488
|
-
background-color:
|
|
489
|
-
color:
|
|
436
|
+
padding: 0 var(--q-space-4);
|
|
437
|
+
background-color: var(--q-color-surface);
|
|
438
|
+
color: var(--q-color-text);
|
|
490
439
|
max-height: 0;
|
|
491
440
|
overflow: hidden;
|
|
492
|
-
transition: max-height var(--q-duration-
|
|
493
|
-
}
|
|
494
|
-
|
|
495
|
-
body.light-mode .accordion-header {
|
|
496
|
-
background-color: #f9fafb;
|
|
497
|
-
color: #1e293b;
|
|
498
|
-
}
|
|
499
|
-
|
|
500
|
-
body.light-mode .accordion-header:hover {
|
|
501
|
-
background-color: #f3f4f6;
|
|
502
|
-
color: #1e293b;
|
|
503
|
-
}
|
|
504
|
-
|
|
505
|
-
body.light-mode .accordion-content {
|
|
506
|
-
background-color: white;
|
|
507
|
-
color: #1e293b;
|
|
441
|
+
transition: max-height var(--q-duration-slow) var(--q-ease-in-out), padding var(--q-duration-slow) var(--q-ease-in-out);
|
|
508
442
|
}
|
|
509
443
|
|
|
510
444
|
.accordion-item.active .accordion-content {
|
|
511
445
|
max-height: 500px;
|
|
446
|
+
padding: var(--q-space-4);
|
|
512
447
|
}
|
|
513
448
|
|
|
514
449
|
.accordion-item.active .accordion-icon {
|
|
@@ -516,13 +451,13 @@ body.light-mode .accordion-content {
|
|
|
516
451
|
}
|
|
517
452
|
|
|
518
453
|
.accordion-icon {
|
|
519
|
-
transition: transform var(--q-duration-
|
|
454
|
+
transition: transform var(--q-duration-slow) var(--q-ease-in-out);
|
|
520
455
|
}
|
|
521
456
|
|
|
522
457
|
/* Tab Component */
|
|
523
458
|
.tab-list {
|
|
524
459
|
display: flex;
|
|
525
|
-
border-bottom: 1px solid
|
|
460
|
+
border-bottom: 1px solid var(--q-color-border);
|
|
526
461
|
}
|
|
527
462
|
|
|
528
463
|
.tab-button {
|
|
@@ -531,35 +466,17 @@ body.light-mode .accordion-content {
|
|
|
531
466
|
border: none;
|
|
532
467
|
cursor: pointer;
|
|
533
468
|
border-bottom: 2px solid transparent;
|
|
534
|
-
color: var(--q-text-
|
|
469
|
+
color: var(--q-color-text-muted);
|
|
535
470
|
font-weight: 500;
|
|
536
|
-
transition: all var(--q-duration-
|
|
471
|
+
transition: all var(--q-duration-fast) var(--q-ease-in-out);
|
|
537
472
|
}
|
|
538
473
|
|
|
539
474
|
.tab-button:hover {
|
|
540
|
-
background-color:
|
|
541
|
-
color: var(--q-text
|
|
475
|
+
background-color: var(--q-color-surface-elevated);
|
|
476
|
+
color: var(--q-color-text);
|
|
542
477
|
}
|
|
543
478
|
|
|
544
479
|
.tab-button.active {
|
|
545
|
-
border-bottom-color: var(--q-color-starlight-blue);
|
|
546
|
-
color: var(--q-color-starlight-blue);
|
|
547
|
-
}
|
|
548
|
-
|
|
549
|
-
body.light-mode .tab-list {
|
|
550
|
-
border-bottom-color: #e2e8f0;
|
|
551
|
-
}
|
|
552
|
-
|
|
553
|
-
body.light-mode .tab-button {
|
|
554
|
-
color: #64748b;
|
|
555
|
-
}
|
|
556
|
-
|
|
557
|
-
body.light-mode .tab-button:hover {
|
|
558
|
-
background-color: #f1f5f9;
|
|
559
|
-
color: #0f172a;
|
|
560
|
-
}
|
|
561
|
-
|
|
562
|
-
body.light-mode .tab-button.active {
|
|
563
480
|
border-bottom-color: var(--q-color-primary);
|
|
564
481
|
color: var(--q-color-primary);
|
|
565
482
|
}
|
|
@@ -580,14 +497,14 @@ body.light-mode .tab-button.active {
|
|
|
580
497
|
.progress {
|
|
581
498
|
width: 100%;
|
|
582
499
|
height: 0.5rem;
|
|
583
|
-
background-color:
|
|
500
|
+
background-color: var(--q-color-border);
|
|
584
501
|
border-radius: var(--q-radius-full);
|
|
585
502
|
overflow: hidden;
|
|
586
503
|
}
|
|
587
504
|
|
|
588
505
|
.progress-bar {
|
|
589
506
|
height: 100%;
|
|
590
|
-
transition: width var(--q-duration-
|
|
507
|
+
transition: width var(--q-duration-slow) var(--q-ease-in-out);
|
|
591
508
|
}
|
|
592
509
|
|
|
593
510
|
/* Toggle Switch */
|
|
@@ -608,8 +525,8 @@ body.light-mode .tab-button.active {
|
|
|
608
525
|
position: absolute;
|
|
609
526
|
cursor: pointer;
|
|
610
527
|
inset: 0;
|
|
611
|
-
background-color:
|
|
612
|
-
transition: background-color var(--q-duration-
|
|
528
|
+
background-color: var(--q-color-text-muted);
|
|
529
|
+
transition: background-color var(--q-duration-fast) var(--q-ease-in-out);
|
|
613
530
|
border-radius: var(--q-radius-full);
|
|
614
531
|
}
|
|
615
532
|
|
|
@@ -621,7 +538,7 @@ body.light-mode .tab-button.active {
|
|
|
621
538
|
left: 0.125rem;
|
|
622
539
|
bottom: 0.125rem;
|
|
623
540
|
background-color: white;
|
|
624
|
-
transition: transform var(--q-duration-
|
|
541
|
+
transition: transform var(--q-duration-fast) var(--q-ease-in-out);
|
|
625
542
|
border-radius: 50%;
|
|
626
543
|
}
|
|
627
544
|
|
|
@@ -653,7 +570,7 @@ body.light-mode .tab-button.active {
|
|
|
653
570
|
}
|
|
654
571
|
|
|
655
572
|
.animate-fade-in {
|
|
656
|
-
animation: fadeIn var(--q-duration-
|
|
573
|
+
animation: fadeIn var(--q-duration-slow) var(--q-ease-in-out);
|
|
657
574
|
}
|
|
658
575
|
|
|
659
576
|
@keyframes fadeIn {
|
|
@@ -662,7 +579,16 @@ body.light-mode .tab-button.active {
|
|
|
662
579
|
}
|
|
663
580
|
|
|
664
581
|
.animate-slide-up {
|
|
665
|
-
animation: slideUp var(--q-duration-
|
|
582
|
+
animation: slideUp var(--q-duration-slow) var(--q-ease-out);
|
|
583
|
+
}
|
|
584
|
+
|
|
585
|
+
@keyframes slideUp {
|
|
586
|
+
from { transform: translateY(20px); opacity: 0; }
|
|
587
|
+
to { transform: translateY(0); opacity: 1; }
|
|
588
|
+
}
|
|
589
|
+
|
|
590
|
+
.animate-slide-up {
|
|
591
|
+
animation: slideUp var(--q-duration-slow) var(--q-ease-out);
|
|
666
592
|
}
|
|
667
593
|
|
|
668
594
|
@keyframes slideUp {
|
|
@@ -671,7 +597,7 @@ body.light-mode .tab-button.active {
|
|
|
671
597
|
}
|
|
672
598
|
|
|
673
599
|
.animate-slide-down {
|
|
674
|
-
animation: slideDown var(--q-duration-
|
|
600
|
+
animation: slideDown var(--q-duration-slow) var(--q-ease-out);
|
|
675
601
|
}
|
|
676
602
|
|
|
677
603
|
@keyframes slideDown {
|
|
@@ -691,59 +617,39 @@ body.light-mode .tab-button.active {
|
|
|
691
617
|
}
|
|
692
618
|
|
|
693
619
|
.table-wrapper::-webkit-scrollbar-track {
|
|
694
|
-
background:
|
|
620
|
+
background: var(--q-color-bg-muted);
|
|
695
621
|
border-radius: 4px;
|
|
696
622
|
}
|
|
697
623
|
|
|
698
624
|
.table-wrapper::-webkit-scrollbar-thumb {
|
|
699
|
-
background: var(--q-color-
|
|
625
|
+
background: var(--q-color-primary);
|
|
700
626
|
border-radius: 4px;
|
|
701
627
|
}
|
|
702
628
|
|
|
703
|
-
body.light-mode .table-wrapper::-webkit-scrollbar-track {
|
|
704
|
-
background: rgb(0 0 0 / 5%);
|
|
705
|
-
}
|
|
706
|
-
|
|
707
629
|
.table {
|
|
708
630
|
width: 100%;
|
|
709
631
|
border-collapse: collapse;
|
|
710
632
|
font-size: 0.875rem;
|
|
711
633
|
text-align: left;
|
|
712
|
-
color: var(--q-text
|
|
634
|
+
color: var(--q-color-text);
|
|
713
635
|
}
|
|
714
636
|
|
|
715
637
|
.table th {
|
|
716
638
|
padding: var(--q-space-3) var(--q-space-4);
|
|
717
639
|
font-weight: 600;
|
|
718
|
-
background-color:
|
|
719
|
-
border-bottom: 2px solid
|
|
720
|
-
color: var(--q-text
|
|
640
|
+
background-color: var(--q-color-surface-elevated);
|
|
641
|
+
border-bottom: 2px solid var(--q-color-border);
|
|
642
|
+
color: var(--q-color-text);
|
|
721
643
|
}
|
|
722
644
|
|
|
723
645
|
.table td {
|
|
724
646
|
padding: var(--q-space-3) var(--q-space-4);
|
|
725
|
-
border-bottom: 1px solid
|
|
726
|
-
color: var(--q-text-
|
|
647
|
+
border-bottom: 1px solid var(--q-color-border);
|
|
648
|
+
color: var(--q-color-text-muted);
|
|
727
649
|
}
|
|
728
650
|
|
|
729
651
|
.table tbody tr:hover {
|
|
730
|
-
background-color:
|
|
731
|
-
}
|
|
732
|
-
|
|
733
|
-
/* Light Mode Table Styles */
|
|
734
|
-
body.light-mode .table th {
|
|
735
|
-
background-color: #f8fafc;
|
|
736
|
-
border-bottom-color: #e2e8f0;
|
|
737
|
-
color: #0f172a;
|
|
738
|
-
}
|
|
739
|
-
|
|
740
|
-
body.light-mode .table td {
|
|
741
|
-
border-bottom-color: #e2e8f0;
|
|
742
|
-
color: #334155;
|
|
743
|
-
}
|
|
744
|
-
|
|
745
|
-
body.light-mode .table tbody tr:hover {
|
|
746
|
-
background-color: #f1f5f9;
|
|
652
|
+
background-color: var(--q-color-bg-muted);
|
|
747
653
|
}
|
|
748
654
|
|
|
749
655
|
/* Overflow Utility */
|
|
@@ -765,7 +671,7 @@ body.light-mode .table tbody tr:hover {
|
|
|
765
671
|
display: grid;
|
|
766
672
|
grid-template-columns: 260px minmax(0, 1fr);
|
|
767
673
|
height: 100vh;
|
|
768
|
-
background: var(--q-bg
|
|
674
|
+
background: var(--q-color-bg);
|
|
769
675
|
overflow: hidden;
|
|
770
676
|
max-width: 100vw;
|
|
771
677
|
}
|
|
@@ -780,8 +686,8 @@ body.light-mode .table tbody tr:hover {
|
|
|
780
686
|
|
|
781
687
|
/* Sidebar navigation container */
|
|
782
688
|
.sidebar {
|
|
783
|
-
background:
|
|
784
|
-
border-right: 1px solid
|
|
689
|
+
background: var(--q-color-surface);
|
|
690
|
+
border-right: 1px solid var(--q-color-border);
|
|
785
691
|
padding: 1.5rem;
|
|
786
692
|
display: flex;
|
|
787
693
|
flex-direction: column;
|
|
@@ -802,8 +708,8 @@ body.light-mode .table tbody tr:hover {
|
|
|
802
708
|
align-items: center;
|
|
803
709
|
margin-bottom: 2rem;
|
|
804
710
|
padding: 1rem 1.5rem;
|
|
805
|
-
background:
|
|
806
|
-
border: 1px solid
|
|
711
|
+
background: var(--q-color-surface-elevated);
|
|
712
|
+
border: 1px solid var(--q-color-border);
|
|
807
713
|
border-radius: 1rem;
|
|
808
714
|
}
|
|
809
715
|
|
|
@@ -822,15 +728,11 @@ body.light-mode .table tbody tr:hover {
|
|
|
822
728
|
margin-bottom: 2rem;
|
|
823
729
|
}
|
|
824
730
|
|
|
825
|
-
/*
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
body.light-mode .top-nav {
|
|
832
|
-
background: #ffffff;
|
|
833
|
-
border-color: #e2e8f0;
|
|
731
|
+
/* Page actions container */
|
|
732
|
+
.page-actions {
|
|
733
|
+
display: flex;
|
|
734
|
+
align-items: center;
|
|
735
|
+
gap: 0.75rem;
|
|
834
736
|
}
|
|
835
737
|
|
|
836
738
|
/* Responsive layout adjustments */
|
|
@@ -853,9 +755,6 @@ body.light-mode .top-nav {
|
|
|
853
755
|
display: none;
|
|
854
756
|
}
|
|
855
757
|
|
|
856
|
-
.main-content {
|
|
857
|
-
}
|
|
858
|
-
|
|
859
758
|
.page-header {
|
|
860
759
|
flex-direction: column;
|
|
861
760
|
align-items: flex-start;
|
|
@@ -879,7 +778,7 @@ body.light-mode .top-nav {
|
|
|
879
778
|
font-weight: 700;
|
|
880
779
|
text-transform: uppercase;
|
|
881
780
|
letter-spacing: 0.15em;
|
|
882
|
-
color: var(--q-text-muted
|
|
781
|
+
color: var(--q-color-text-muted);
|
|
883
782
|
margin-bottom: 0.75rem;
|
|
884
783
|
padding-left: 0.75rem;
|
|
885
784
|
}
|
|
@@ -891,10 +790,10 @@ body.light-mode .top-nav {
|
|
|
891
790
|
gap: 0.875rem;
|
|
892
791
|
padding: 0.75rem;
|
|
893
792
|
border-radius: 0.625rem;
|
|
894
|
-
color: var(--q-text-
|
|
793
|
+
color: var(--q-color-text-muted);
|
|
895
794
|
font-size: 0.875rem;
|
|
896
795
|
cursor: pointer;
|
|
897
|
-
transition: all
|
|
796
|
+
transition: all var(--q-duration-base) var(--q-ease-in-out);
|
|
898
797
|
margin-bottom: 0.25rem;
|
|
899
798
|
text-decoration: none;
|
|
900
799
|
border: none;
|
|
@@ -904,13 +803,13 @@ body.light-mode .top-nav {
|
|
|
904
803
|
}
|
|
905
804
|
|
|
906
805
|
.nav-item:hover {
|
|
907
|
-
background:
|
|
908
|
-
color: var(--q-text
|
|
806
|
+
background: var(--q-color-surface-elevated);
|
|
807
|
+
color: var(--q-color-text);
|
|
909
808
|
}
|
|
910
809
|
|
|
911
810
|
.nav-item.active {
|
|
912
|
-
background:
|
|
913
|
-
color: var(--q-color-
|
|
811
|
+
background: color-mix(in srgb, var(--q-color-primary) 12%, transparent);
|
|
812
|
+
color: var(--q-color-primary);
|
|
914
813
|
}
|
|
915
814
|
|
|
916
815
|
/* Constrain nav item icons - prevent oversized icons */
|
|
@@ -932,14 +831,10 @@ body.light-mode .top-nav {
|
|
|
932
831
|
}
|
|
933
832
|
|
|
934
833
|
.sidebar::-webkit-scrollbar-thumb {
|
|
935
|
-
background:
|
|
834
|
+
background: var(--q-color-border);
|
|
936
835
|
border-radius: 2px;
|
|
937
836
|
}
|
|
938
837
|
|
|
939
|
-
body.light-mode .sidebar::-webkit-scrollbar-thumb {
|
|
940
|
-
background: #cbd5e1;
|
|
941
|
-
}
|
|
942
|
-
|
|
943
838
|
/* Navigation badge (count) */
|
|
944
839
|
.nav-badge {
|
|
945
840
|
margin-left: auto;
|
|
@@ -947,18 +842,8 @@ body.light-mode .sidebar::-webkit-scrollbar-thumb {
|
|
|
947
842
|
font-weight: 600;
|
|
948
843
|
padding: 0.125rem 0.5rem;
|
|
949
844
|
border-radius: 9999px;
|
|
950
|
-
background:
|
|
951
|
-
color:
|
|
952
|
-
}
|
|
953
|
-
|
|
954
|
-
/* Light mode overrides for navigation */
|
|
955
|
-
body.light-mode .nav-item:hover {
|
|
956
|
-
background: #f1f5f9;
|
|
957
|
-
color: #0f172a;
|
|
958
|
-
}
|
|
959
|
-
|
|
960
|
-
body.light-mode .nav-section-title {
|
|
961
|
-
color: #64748b;
|
|
845
|
+
background: var(--q-color-danger-soft);
|
|
846
|
+
color: var(--q-color-danger);
|
|
962
847
|
}
|
|
963
848
|
|
|
964
849
|
/* ============================================================================
|
|
@@ -976,15 +861,15 @@ body.light-mode .nav-section-title {
|
|
|
976
861
|
|
|
977
862
|
/* Individual stat card */
|
|
978
863
|
.stat-card {
|
|
979
|
-
background:
|
|
980
|
-
border: 1px solid
|
|
864
|
+
background: var(--q-color-surface);
|
|
865
|
+
border: 1px solid var(--q-color-border);
|
|
981
866
|
border-radius: 1rem;
|
|
982
867
|
padding: 1.5rem;
|
|
983
|
-
transition: all
|
|
868
|
+
transition: all var(--q-duration-slow) var(--q-ease-in-out);
|
|
984
869
|
}
|
|
985
870
|
|
|
986
871
|
.stat-card:hover {
|
|
987
|
-
background:
|
|
872
|
+
background: var(--q-color-surface-elevated);
|
|
988
873
|
transform: translateY(-2px);
|
|
989
874
|
}
|
|
990
875
|
|
|
@@ -1008,42 +893,42 @@ body.light-mode .nav-section-title {
|
|
|
1008
893
|
|
|
1009
894
|
/* Icon color variants */
|
|
1010
895
|
.stat-icon-blue {
|
|
1011
|
-
background:
|
|
1012
|
-
color:
|
|
896
|
+
background: var(--q-color-info-soft);
|
|
897
|
+
color: var(--q-color-info);
|
|
1013
898
|
}
|
|
1014
899
|
|
|
1015
900
|
.stat-icon-green {
|
|
1016
|
-
background:
|
|
1017
|
-
color:
|
|
901
|
+
background: var(--q-color-success-soft);
|
|
902
|
+
color: var(--q-color-success);
|
|
1018
903
|
}
|
|
1019
904
|
|
|
1020
905
|
.stat-icon-orange {
|
|
1021
|
-
background:
|
|
1022
|
-
color:
|
|
906
|
+
background: var(--q-color-warning-soft);
|
|
907
|
+
color: var(--q-color-warning);
|
|
1023
908
|
}
|
|
1024
909
|
|
|
1025
910
|
.stat-icon-purple {
|
|
1026
|
-
background:
|
|
1027
|
-
color:
|
|
911
|
+
background: color-mix(in srgb, var(--q-color-primary) 15%, transparent);
|
|
912
|
+
color: var(--q-color-primary);
|
|
1028
913
|
}
|
|
1029
914
|
|
|
1030
915
|
.stat-icon-red {
|
|
1031
|
-
background:
|
|
1032
|
-
color:
|
|
916
|
+
background: var(--q-color-danger-soft);
|
|
917
|
+
color: var(--q-color-danger);
|
|
1033
918
|
}
|
|
1034
919
|
|
|
1035
920
|
/* Stat value display */
|
|
1036
921
|
.stat-value {
|
|
1037
922
|
font-size: 1.875rem;
|
|
1038
923
|
font-weight: 700;
|
|
1039
|
-
color: var(--q-text
|
|
924
|
+
color: var(--q-color-text);
|
|
1040
925
|
margin-bottom: 0.25rem;
|
|
1041
926
|
}
|
|
1042
927
|
|
|
1043
928
|
/* Stat label */
|
|
1044
929
|
.stat-label {
|
|
1045
930
|
font-size: 0.875rem;
|
|
1046
|
-
color: var(--q-text-muted
|
|
931
|
+
color: var(--q-color-text-muted);
|
|
1047
932
|
}
|
|
1048
933
|
|
|
1049
934
|
/* Trend indicator */
|
|
@@ -1058,56 +943,13 @@ body.light-mode .nav-section-title {
|
|
|
1058
943
|
}
|
|
1059
944
|
|
|
1060
945
|
.stat-trend-up {
|
|
1061
|
-
background:
|
|
1062
|
-
color:
|
|
946
|
+
background: var(--q-color-success-soft);
|
|
947
|
+
color: var(--q-color-success);
|
|
1063
948
|
}
|
|
1064
949
|
|
|
1065
950
|
.stat-trend-down {
|
|
1066
|
-
background:
|
|
1067
|
-
color:
|
|
1068
|
-
}
|
|
1069
|
-
|
|
1070
|
-
/* Light mode overrides for stat cards */
|
|
1071
|
-
body.light-mode .stat-card {
|
|
1072
|
-
background: #ffffff;
|
|
1073
|
-
border-color: #e2e8f0;
|
|
1074
|
-
}
|
|
1075
|
-
|
|
1076
|
-
body.light-mode .stat-card:hover {
|
|
1077
|
-
background: #f8fafc;
|
|
1078
|
-
}
|
|
1079
|
-
|
|
1080
|
-
body.light-mode .stat-icon-blue {
|
|
1081
|
-
background: rgba(59, 130, 246, 0.1);
|
|
1082
|
-
}
|
|
1083
|
-
|
|
1084
|
-
body.light-mode .stat-icon-green {
|
|
1085
|
-
background: rgba(16, 185, 129, 0.1);
|
|
1086
|
-
}
|
|
1087
|
-
|
|
1088
|
-
body.light-mode .stat-icon-orange {
|
|
1089
|
-
background: rgba(249, 115, 22, 0.1);
|
|
1090
|
-
}
|
|
1091
|
-
|
|
1092
|
-
body.light-mode .stat-icon-purple {
|
|
1093
|
-
background: rgba(139, 92, 246, 0.1);
|
|
1094
|
-
}
|
|
1095
|
-
|
|
1096
|
-
body.light-mode .stat-icon-red {
|
|
1097
|
-
background: rgba(239, 68, 68, 0.1);
|
|
1098
|
-
}
|
|
1099
|
-
|
|
1100
|
-
/* Responsive stats grid */
|
|
1101
|
-
@media (max-width: 1280px) {
|
|
1102
|
-
.stats-grid {
|
|
1103
|
-
grid-template-columns: repeat(2, 1fr);
|
|
1104
|
-
}
|
|
1105
|
-
}
|
|
1106
|
-
|
|
1107
|
-
@media (max-width: 768px) {
|
|
1108
|
-
.stats-grid {
|
|
1109
|
-
grid-template-columns: 1fr;
|
|
1110
|
-
}
|
|
951
|
+
background: var(--q-color-danger-soft);
|
|
952
|
+
color: var(--q-color-danger);
|
|
1111
953
|
}
|
|
1112
954
|
|
|
1113
955
|
/* ============================================================================
|
|
@@ -1120,20 +962,20 @@ body.light-mode .stat-icon-red {
|
|
|
1120
962
|
width: 40px;
|
|
1121
963
|
height: 40px;
|
|
1122
964
|
border-radius: 0.625rem;
|
|
1123
|
-
background:
|
|
1124
|
-
border: 1px solid
|
|
1125
|
-
color: var(--q-text-
|
|
965
|
+
background: var(--q-color-surface);
|
|
966
|
+
border: 1px solid var(--q-color-border);
|
|
967
|
+
color: var(--q-color-text-muted);
|
|
1126
968
|
display: flex;
|
|
1127
969
|
align-items: center;
|
|
1128
970
|
justify-content: center;
|
|
1129
971
|
cursor: pointer;
|
|
1130
|
-
transition: all
|
|
972
|
+
transition: all var(--q-duration-base) var(--q-ease-in-out);
|
|
1131
973
|
position: relative;
|
|
1132
974
|
}
|
|
1133
975
|
|
|
1134
976
|
.icon-btn:hover {
|
|
1135
|
-
background:
|
|
1136
|
-
color: var(--q-text
|
|
977
|
+
background: var(--q-color-surface-elevated);
|
|
978
|
+
color: var(--q-color-text);
|
|
1137
979
|
}
|
|
1138
980
|
|
|
1139
981
|
/* Circular icon button */
|
|
@@ -1166,40 +1008,26 @@ body.light-mode .stat-icon-red {
|
|
|
1166
1008
|
width: 32px;
|
|
1167
1009
|
height: 32px;
|
|
1168
1010
|
border-radius: 0.5rem;
|
|
1169
|
-
background:
|
|
1170
|
-
border: 1px solid
|
|
1171
|
-
color: var(--q-text-muted
|
|
1011
|
+
background: var(--q-color-surface);
|
|
1012
|
+
border: 1px solid var(--q-color-border);
|
|
1013
|
+
color: var(--q-color-text-muted);
|
|
1172
1014
|
display: flex;
|
|
1173
1015
|
align-items: center;
|
|
1174
1016
|
justify-content: center;
|
|
1175
1017
|
cursor: pointer;
|
|
1176
|
-
transition: all
|
|
1018
|
+
transition: all var(--q-duration-base) var(--q-ease-in-out);
|
|
1177
1019
|
}
|
|
1178
1020
|
|
|
1179
1021
|
.action-btn:hover {
|
|
1180
|
-
background:
|
|
1181
|
-
color: var(--q-text
|
|
1022
|
+
background: var(--q-color-surface-elevated);
|
|
1023
|
+
color: var(--q-color-text);
|
|
1182
1024
|
}
|
|
1183
1025
|
|
|
1184
1026
|
/* Delete action button */
|
|
1185
1027
|
.action-btn-delete:hover {
|
|
1186
|
-
background:
|
|
1187
|
-
color:
|
|
1188
|
-
border-color:
|
|
1189
|
-
}
|
|
1190
|
-
|
|
1191
|
-
/* Light mode overrides for icon buttons */
|
|
1192
|
-
body.light-mode .icon-btn,
|
|
1193
|
-
body.light-mode .action-btn {
|
|
1194
|
-
background: #f1f5f9;
|
|
1195
|
-
border-color: #e2e8f0;
|
|
1196
|
-
color: #64748b;
|
|
1197
|
-
}
|
|
1198
|
-
|
|
1199
|
-
body.light-mode .icon-btn:hover,
|
|
1200
|
-
body.light-mode .action-btn:hover {
|
|
1201
|
-
background: #e2e8f0;
|
|
1202
|
-
color: #0f172a;
|
|
1028
|
+
background: var(--q-color-danger-soft);
|
|
1029
|
+
color: var(--q-color-danger);
|
|
1030
|
+
border-color: color-mix(in srgb, var(--q-color-danger) 30%, transparent);
|
|
1203
1031
|
}
|
|
1204
1032
|
|
|
1205
1033
|
/* ============================================================================
|
|
@@ -1211,7 +1039,7 @@ body.light-mode .action-btn:hover {
|
|
|
1211
1039
|
.theme-toggle-wrapper {
|
|
1212
1040
|
margin-top: auto;
|
|
1213
1041
|
padding-top: 1.5rem;
|
|
1214
|
-
border-top: 1px solid
|
|
1042
|
+
border-top: 1px solid var(--q-color-border);
|
|
1215
1043
|
}
|
|
1216
1044
|
|
|
1217
1045
|
/* Theme toggle button */
|
|
@@ -1222,18 +1050,18 @@ body.light-mode .action-btn:hover {
|
|
|
1222
1050
|
justify-content: center;
|
|
1223
1051
|
gap: 0.5rem;
|
|
1224
1052
|
padding: 0.75rem;
|
|
1225
|
-
background:
|
|
1226
|
-
border: 1px solid
|
|
1053
|
+
background: var(--q-color-surface);
|
|
1054
|
+
border: 1px solid var(--q-color-border);
|
|
1227
1055
|
border-radius: 0.625rem;
|
|
1228
|
-
color: var(--q-text-
|
|
1056
|
+
color: var(--q-color-text-muted);
|
|
1229
1057
|
font-size: 0.875rem;
|
|
1230
1058
|
cursor: pointer;
|
|
1231
|
-
transition: all
|
|
1059
|
+
transition: all var(--q-duration-base) var(--q-ease-in-out);
|
|
1232
1060
|
}
|
|
1233
1061
|
|
|
1234
1062
|
.theme-btn:hover {
|
|
1235
|
-
background:
|
|
1236
|
-
color: var(--q-text
|
|
1063
|
+
background: var(--q-color-surface-elevated);
|
|
1064
|
+
color: var(--q-color-text);
|
|
1237
1065
|
}
|
|
1238
1066
|
|
|
1239
1067
|
/* Sun/moon icon visibility */
|
|
@@ -1241,25 +1069,14 @@ body.light-mode .action-btn:hover {
|
|
|
1241
1069
|
display: none;
|
|
1242
1070
|
}
|
|
1243
1071
|
|
|
1244
|
-
|
|
1072
|
+
html[data-theme="light"] .sun-icon {
|
|
1245
1073
|
display: inline;
|
|
1246
1074
|
}
|
|
1247
1075
|
|
|
1248
|
-
|
|
1076
|
+
html[data-theme="light"] .moon-icon {
|
|
1249
1077
|
display: none;
|
|
1250
1078
|
}
|
|
1251
1079
|
|
|
1252
|
-
/* Light mode overrides for theme toggle */
|
|
1253
|
-
body.light-mode .theme-btn {
|
|
1254
|
-
background: #f1f5f9;
|
|
1255
|
-
border-color: #e2e8f0;
|
|
1256
|
-
color: #475569;
|
|
1257
|
-
}
|
|
1258
|
-
|
|
1259
|
-
body.light-mode .theme-toggle-wrapper {
|
|
1260
|
-
border-top-color: #e2e8f0;
|
|
1261
|
-
}
|
|
1262
|
-
|
|
1263
1080
|
/* ============================================================================
|
|
1264
1081
|
AVATARS
|
|
1265
1082
|
User avatars with initials and images
|
|
@@ -1270,13 +1087,13 @@ body.light-mode .theme-toggle-wrapper {
|
|
|
1270
1087
|
width: 40px;
|
|
1271
1088
|
height: 40px;
|
|
1272
1089
|
border-radius: 50%;
|
|
1273
|
-
background:
|
|
1090
|
+
background: var(--q-gradient-primary);
|
|
1274
1091
|
display: flex;
|
|
1275
1092
|
align-items: center;
|
|
1276
1093
|
justify-content: center;
|
|
1277
1094
|
font-weight: 600;
|
|
1278
1095
|
font-size: 0.875rem;
|
|
1279
|
-
color:
|
|
1096
|
+
color: var(--q-color-text-inverse);
|
|
1280
1097
|
position: relative;
|
|
1281
1098
|
flex-shrink: 0;
|
|
1282
1099
|
overflow: hidden;
|
|
@@ -1327,22 +1144,13 @@ body.light-mode .theme-toggle-wrapper {
|
|
|
1327
1144
|
|
|
1328
1145
|
.user-name {
|
|
1329
1146
|
font-weight: 600;
|
|
1330
|
-
color: var(--q-text
|
|
1147
|
+
color: var(--q-color-text);
|
|
1331
1148
|
margin-bottom: 0.125rem;
|
|
1332
1149
|
}
|
|
1333
1150
|
|
|
1334
1151
|
.user-email {
|
|
1335
1152
|
font-size: 0.75rem;
|
|
1336
|
-
color: var(--q-text-muted
|
|
1337
|
-
}
|
|
1338
|
-
|
|
1339
|
-
/* Light mode overrides for user info */
|
|
1340
|
-
body.light-mode .user-name {
|
|
1341
|
-
color: #0f172a;
|
|
1342
|
-
}
|
|
1343
|
-
|
|
1344
|
-
body.light-mode .user-email {
|
|
1345
|
-
color: #64748b;
|
|
1153
|
+
color: var(--q-color-text-muted);
|
|
1346
1154
|
}
|
|
1347
1155
|
|
|
1348
1156
|
/* ============================================================================
|
|
@@ -1370,30 +1178,30 @@ body.light-mode .user-email {
|
|
|
1370
1178
|
|
|
1371
1179
|
/* Status variants */
|
|
1372
1180
|
.status-active {
|
|
1373
|
-
background:
|
|
1374
|
-
color:
|
|
1181
|
+
background: var(--q-color-success-soft);
|
|
1182
|
+
color: var(--q-color-success);
|
|
1375
1183
|
}
|
|
1376
1184
|
|
|
1377
|
-
.status-
|
|
1378
|
-
background:
|
|
1185
|
+
.status-active::before {
|
|
1186
|
+
background: var(--q-color-success);
|
|
1379
1187
|
}
|
|
1380
1188
|
|
|
1381
1189
|
.status-pending {
|
|
1382
|
-
background:
|
|
1383
|
-
color:
|
|
1190
|
+
background: var(--q-color-warning-soft);
|
|
1191
|
+
color: var(--q-color-warning);
|
|
1384
1192
|
}
|
|
1385
1193
|
|
|
1386
1194
|
.status-pending::before {
|
|
1387
|
-
background:
|
|
1195
|
+
background: var(--q-color-warning);
|
|
1388
1196
|
}
|
|
1389
1197
|
|
|
1390
1198
|
.status-inactive {
|
|
1391
|
-
background:
|
|
1392
|
-
color:
|
|
1199
|
+
background: var(--q-color-danger-soft);
|
|
1200
|
+
color: var(--q-color-danger);
|
|
1393
1201
|
}
|
|
1394
1202
|
|
|
1395
|
-
.status-
|
|
1396
|
-
background:
|
|
1203
|
+
.status-inactive::before {
|
|
1204
|
+
background: var(--q-color-danger);
|
|
1397
1205
|
}
|
|
1398
1206
|
|
|
1399
1207
|
/* Role badge */
|
|
@@ -1403,18 +1211,19 @@ body.light-mode .user-email {
|
|
|
1403
1211
|
border-radius: 0.375rem;
|
|
1404
1212
|
font-size: 0.75rem;
|
|
1405
1213
|
font-weight: 500;
|
|
1406
|
-
background:
|
|
1407
|
-
color: var(--q-text-
|
|
1214
|
+
background: var(--q-color-surface);
|
|
1215
|
+
color: var(--q-color-text-muted);
|
|
1408
1216
|
}
|
|
1409
1217
|
|
|
1410
1218
|
.role-admin {
|
|
1411
|
-
background:
|
|
1412
|
-
color: var(--q-color-
|
|
1219
|
+
background: color-mix(in srgb, var(--q-color-primary) 15%, transparent);
|
|
1220
|
+
color: var(--q-color-primary);
|
|
1413
1221
|
}
|
|
1414
1222
|
|
|
1415
1223
|
.role-moderator {
|
|
1416
|
-
background:
|
|
1417
|
-
color:
|
|
1224
|
+
background: color-mix(in srgb, var(--q-color-primary) 15%, transparent);
|
|
1225
|
+
color: var(--q-color-primary);
|
|
1226
|
+
opacity: 0.8;
|
|
1418
1227
|
}
|
|
1419
1228
|
|
|
1420
1229
|
/* Count badge */
|
|
@@ -1425,11 +1234,11 @@ body.light-mode .user-email {
|
|
|
1425
1234
|
min-width: 20px;
|
|
1426
1235
|
height: 20px;
|
|
1427
1236
|
padding: 0 6px;
|
|
1428
|
-
background:
|
|
1237
|
+
background: var(--q-gradient-primary);
|
|
1429
1238
|
border-radius: 10px;
|
|
1430
1239
|
font-size: 0.6875rem;
|
|
1431
1240
|
font-weight: 700;
|
|
1432
|
-
color:
|
|
1241
|
+
color: var(--q-color-text-inverse);
|
|
1433
1242
|
}
|
|
1434
1243
|
|
|
1435
1244
|
/* Label/tag */
|
|
@@ -1444,59 +1253,18 @@ body.light-mode .user-email {
|
|
|
1444
1253
|
}
|
|
1445
1254
|
|
|
1446
1255
|
.label-work {
|
|
1447
|
-
background:
|
|
1448
|
-
color:
|
|
1256
|
+
background: var(--q-color-info-soft);
|
|
1257
|
+
color: var(--q-color-info);
|
|
1449
1258
|
}
|
|
1450
1259
|
|
|
1451
1260
|
.label-personal {
|
|
1452
|
-
background:
|
|
1453
|
-
color:
|
|
1261
|
+
background: var(--q-color-success-soft);
|
|
1262
|
+
color: var(--q-color-success);
|
|
1454
1263
|
}
|
|
1455
1264
|
|
|
1456
1265
|
.label-important {
|
|
1457
|
-
background:
|
|
1458
|
-
color:
|
|
1459
|
-
}
|
|
1460
|
-
|
|
1461
|
-
/* Light mode overrides for badges */
|
|
1462
|
-
body.light-mode .status-active {
|
|
1463
|
-
background: rgba(16, 185, 129, 0.1);
|
|
1464
|
-
color: #059669;
|
|
1465
|
-
}
|
|
1466
|
-
|
|
1467
|
-
body.light-mode .status-pending {
|
|
1468
|
-
background: rgba(245, 158, 11, 0.1);
|
|
1469
|
-
color: #d97706;
|
|
1470
|
-
}
|
|
1471
|
-
|
|
1472
|
-
body.light-mode .status-inactive {
|
|
1473
|
-
background: rgba(239, 68, 68, 0.1);
|
|
1474
|
-
color: #dc2626;
|
|
1475
|
-
}
|
|
1476
|
-
|
|
1477
|
-
body.light-mode .role-badge {
|
|
1478
|
-
background: #f1f5f9;
|
|
1479
|
-
color: #475569;
|
|
1480
|
-
}
|
|
1481
|
-
|
|
1482
|
-
body.light-mode .role-admin {
|
|
1483
|
-
background: rgba(0, 212, 255, 0.1);
|
|
1484
|
-
color: #0284c7;
|
|
1485
|
-
}
|
|
1486
|
-
|
|
1487
|
-
body.light-mode .label-work {
|
|
1488
|
-
background: rgba(59, 130, 246, 0.1);
|
|
1489
|
-
color: #2563eb;
|
|
1490
|
-
}
|
|
1491
|
-
|
|
1492
|
-
body.light-mode .label-personal {
|
|
1493
|
-
background: rgba(16, 185, 129, 0.1);
|
|
1494
|
-
color: #059669;
|
|
1495
|
-
}
|
|
1496
|
-
|
|
1497
|
-
body.light-mode .label-important {
|
|
1498
|
-
background: rgba(239, 68, 68, 0.1);
|
|
1499
|
-
color: #dc2626;
|
|
1266
|
+
background: var(--q-color-danger-soft);
|
|
1267
|
+
color: var(--q-color-danger);
|
|
1500
1268
|
}
|
|
1501
1269
|
|
|
1502
1270
|
/* ============================================================================
|
|
@@ -1513,22 +1281,22 @@ body.light-mode .label-important {
|
|
|
1513
1281
|
.search-input {
|
|
1514
1282
|
width: 280px;
|
|
1515
1283
|
padding: 0.625rem 1rem 0.625rem 2.5rem;
|
|
1516
|
-
background:
|
|
1517
|
-
border: 1px solid
|
|
1284
|
+
background: var(--q-color-surface);
|
|
1285
|
+
border: 1px solid var(--q-color-border);
|
|
1518
1286
|
border-radius: 0.625rem;
|
|
1519
|
-
color: var(--q-text
|
|
1287
|
+
color: var(--q-color-text);
|
|
1520
1288
|
font-size: 0.875rem;
|
|
1521
|
-
transition: all
|
|
1289
|
+
transition: all var(--q-duration-base) var(--q-ease-in-out);
|
|
1522
1290
|
}
|
|
1523
1291
|
|
|
1524
1292
|
.search-input:focus {
|
|
1525
1293
|
outline: none;
|
|
1526
|
-
border-color:
|
|
1527
|
-
background:
|
|
1294
|
+
border-color: color-mix(in srgb, var(--q-color-primary) 50%, transparent);
|
|
1295
|
+
background: var(--q-color-surface-elevated);
|
|
1528
1296
|
}
|
|
1529
1297
|
|
|
1530
1298
|
.search-input::placeholder {
|
|
1531
|
-
color: var(--q-text-muted
|
|
1299
|
+
color: var(--q-color-text-muted);
|
|
1532
1300
|
}
|
|
1533
1301
|
|
|
1534
1302
|
/* Search icon */
|
|
@@ -1537,7 +1305,7 @@ body.light-mode .label-important {
|
|
|
1537
1305
|
left: 0.875rem;
|
|
1538
1306
|
top: 50%;
|
|
1539
1307
|
transform: translateY(-50%);
|
|
1540
|
-
color: var(--q-text-muted
|
|
1308
|
+
color: var(--q-color-text-muted);
|
|
1541
1309
|
pointer-events: none;
|
|
1542
1310
|
}
|
|
1543
1311
|
|
|
@@ -1549,10 +1317,10 @@ body.light-mode .label-important {
|
|
|
1549
1317
|
/* Filter select (for table filters) */
|
|
1550
1318
|
.filter-select {
|
|
1551
1319
|
padding: 0.5rem 2rem 0.5rem 0.75rem;
|
|
1552
|
-
background:
|
|
1553
|
-
border: 1px solid
|
|
1320
|
+
background: var(--q-color-surface);
|
|
1321
|
+
border: 1px solid var(--q-color-border);
|
|
1554
1322
|
border-radius: 0.5rem;
|
|
1555
|
-
color: var(--q-text-
|
|
1323
|
+
color: var(--q-color-text-muted);
|
|
1556
1324
|
font-size: 0.875rem;
|
|
1557
1325
|
cursor: pointer;
|
|
1558
1326
|
appearance: none;
|
|
@@ -1564,24 +1332,7 @@ body.light-mode .label-important {
|
|
|
1564
1332
|
|
|
1565
1333
|
.filter-select:focus {
|
|
1566
1334
|
outline: none;
|
|
1567
|
-
border-color:
|
|
1568
|
-
}
|
|
1569
|
-
|
|
1570
|
-
/* Light mode overrides for search */
|
|
1571
|
-
body.light-mode .search-input,
|
|
1572
|
-
body.light-mode .filter-select {
|
|
1573
|
-
background: #f1f5f9;
|
|
1574
|
-
border-color: #e2e8f0;
|
|
1575
|
-
color: #0f172a;
|
|
1576
|
-
}
|
|
1577
|
-
|
|
1578
|
-
body.light-mode .search-input:focus {
|
|
1579
|
-
border-color: #3b82f6;
|
|
1580
|
-
background: #ffffff;
|
|
1581
|
-
}
|
|
1582
|
-
|
|
1583
|
-
body.light-mode .search-input::placeholder {
|
|
1584
|
-
color: #94a3b8;
|
|
1335
|
+
border-color: color-mix(in srgb, var(--q-color-primary) 50%, transparent);
|
|
1585
1336
|
}
|
|
1586
1337
|
|
|
1587
1338
|
/* ============================================================================
|
|
@@ -1596,24 +1347,24 @@ body.light-mode .search-input::placeholder {
|
|
|
1596
1347
|
right: 2px;
|
|
1597
1348
|
width: 10px;
|
|
1598
1349
|
height: 10px;
|
|
1599
|
-
background:
|
|
1350
|
+
background: var(--q-color-success);
|
|
1600
1351
|
border-radius: 50%;
|
|
1601
|
-
border: 2px solid var(--q-bg
|
|
1352
|
+
border: 2px solid var(--q-color-bg);
|
|
1602
1353
|
}
|
|
1603
1354
|
|
|
1604
1355
|
/* Away status indicator */
|
|
1605
1356
|
.away-indicator {
|
|
1606
|
-
background:
|
|
1357
|
+
background: var(--q-color-warning);
|
|
1607
1358
|
}
|
|
1608
1359
|
|
|
1609
1360
|
/* Busy status indicator */
|
|
1610
1361
|
.busy-indicator {
|
|
1611
|
-
background:
|
|
1362
|
+
background: var(--q-color-danger);
|
|
1612
1363
|
}
|
|
1613
1364
|
|
|
1614
1365
|
/* Offline status indicator */
|
|
1615
1366
|
.offline-indicator {
|
|
1616
|
-
background:
|
|
1367
|
+
background: var(--q-color-text-muted);
|
|
1617
1368
|
}
|
|
1618
1369
|
|
|
1619
1370
|
/* Notification dot */
|
|
@@ -1623,9 +1374,9 @@ body.light-mode .search-input::placeholder {
|
|
|
1623
1374
|
right: 8px;
|
|
1624
1375
|
width: 8px;
|
|
1625
1376
|
height: 8px;
|
|
1626
|
-
background:
|
|
1377
|
+
background: var(--q-color-danger);
|
|
1627
1378
|
border-radius: 50%;
|
|
1628
|
-
border: 2px solid var(--q-bg
|
|
1379
|
+
border: 2px solid var(--q-color-bg);
|
|
1629
1380
|
}
|
|
1630
1381
|
|
|
1631
1382
|
/* Notification badge with number */
|
|
@@ -1636,7 +1387,7 @@ body.light-mode .search-input::placeholder {
|
|
|
1636
1387
|
min-width: 18px;
|
|
1637
1388
|
height: 18px;
|
|
1638
1389
|
padding: 0 5px;
|
|
1639
|
-
background:
|
|
1390
|
+
background: var(--q-color-danger);
|
|
1640
1391
|
border-radius: 9px;
|
|
1641
1392
|
font-size: 0.6875rem;
|
|
1642
1393
|
font-weight: 700;
|
|
@@ -1644,14 +1395,7 @@ body.light-mode .search-input::placeholder {
|
|
|
1644
1395
|
display: flex;
|
|
1645
1396
|
align-items: center;
|
|
1646
1397
|
justify-content: center;
|
|
1647
|
-
border: 2px solid var(--q-bg
|
|
1648
|
-
}
|
|
1649
|
-
|
|
1650
|
-
/* Light mode overrides for indicators */
|
|
1651
|
-
body.light-mode .online-indicator,
|
|
1652
|
-
body.light-mode .notification-dot,
|
|
1653
|
-
body.light-mode .notification-badge {
|
|
1654
|
-
border-color: #ffffff;
|
|
1398
|
+
border: 2px solid var(--q-color-bg);
|
|
1655
1399
|
}
|
|
1656
1400
|
|
|
1657
1401
|
/* ============================================================================
|
|
@@ -1669,47 +1413,29 @@ body.light-mode .notification-badge {
|
|
|
1669
1413
|
height: 36px;
|
|
1670
1414
|
padding: 0 0.75rem;
|
|
1671
1415
|
border-radius: 0.5rem;
|
|
1672
|
-
background:
|
|
1673
|
-
border: 1px solid
|
|
1674
|
-
color: var(--q-text-
|
|
1416
|
+
background: var(--q-color-surface);
|
|
1417
|
+
border: 1px solid var(--q-color-border);
|
|
1418
|
+
color: var(--q-color-text-muted);
|
|
1675
1419
|
font-size: 0.875rem;
|
|
1676
1420
|
cursor: pointer;
|
|
1677
|
-
transition: all
|
|
1421
|
+
transition: all var(--q-duration-base) var(--q-ease-in-out);
|
|
1678
1422
|
display: flex;
|
|
1679
1423
|
align-items: center;
|
|
1680
1424
|
justify-content: center;
|
|
1681
1425
|
}
|
|
1682
1426
|
|
|
1683
1427
|
.page-btn:hover {
|
|
1684
|
-
background:
|
|
1685
|
-
color: var(--q-text
|
|
1428
|
+
background: var(--q-color-surface-elevated);
|
|
1429
|
+
color: var(--q-color-text);
|
|
1686
1430
|
}
|
|
1687
1431
|
|
|
1688
1432
|
.page-btn.active {
|
|
1689
|
-
background:
|
|
1690
|
-
border-color:
|
|
1691
|
-
color: var(--q-color-
|
|
1433
|
+
background: color-mix(in srgb, var(--q-color-primary) 15%, transparent);
|
|
1434
|
+
border-color: color-mix(in srgb, var(--q-color-primary) 30%, transparent);
|
|
1435
|
+
color: var(--q-color-primary);
|
|
1692
1436
|
}
|
|
1693
1437
|
|
|
1694
1438
|
.page-btn:disabled {
|
|
1695
1439
|
opacity: 0.5;
|
|
1696
1440
|
cursor: not-allowed;
|
|
1697
|
-
}
|
|
1698
|
-
|
|
1699
|
-
/* Light mode overrides for pagination */
|
|
1700
|
-
body.light-mode .page-btn {
|
|
1701
|
-
background: #f1f5f9;
|
|
1702
|
-
border-color: #e2e8f0;
|
|
1703
|
-
color: #64748b;
|
|
1704
|
-
}
|
|
1705
|
-
|
|
1706
|
-
body.light-mode .page-btn:hover {
|
|
1707
|
-
background: #e2e8f0;
|
|
1708
|
-
color: #0f172a;
|
|
1709
|
-
}
|
|
1710
|
-
|
|
1711
|
-
body.light-mode .page-btn.active {
|
|
1712
|
-
background: rgba(59, 130, 246, 0.1);
|
|
1713
|
-
border-color: rgba(59, 130, 246, 0.3);
|
|
1714
|
-
color: #2563eb;
|
|
1715
1441
|
}
|