@howssatoshi/quantumcss 1.8.0 → 1.10.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.
@@ -1,12 +1,3 @@
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
- */
10
1
 
11
2
  .group:hover .group-hover\:opacity-100 { opacity: 1; }
12
3
  .group:hover .group-hover\:scale-110 { transform: scale(1.1); }
@@ -21,7 +12,7 @@
21
12
  padding: var(--q-space-2) var(--q-space-4);
22
13
  border-radius: var(--q-radius-md);
23
14
  font-weight: 500;
24
- transition: all var(--q-duration-fast) var(--q-ease-in-out);
15
+ transition: all var(--q-duration-150) var(--q-ease-in-out);
25
16
  cursor: pointer;
26
17
  border: 1px solid transparent;
27
18
  text-decoration: none;
@@ -46,20 +37,20 @@
46
37
  }
47
38
 
48
39
  .btn-secondary {
49
- background-color: var(--q-color-surface-elevated);
50
- color: var(--q-color-text) !important;
40
+ background-color: rgb(255 255 255 / 8%);
41
+ color: #ffffff !important;
51
42
  border: 0;
52
43
  backdrop-filter: blur(12px);
53
44
  -webkit-backdrop-filter: blur(12px);
54
45
  }
55
46
 
56
47
  .btn-secondary:hover {
57
- background-color: color-mix(in srgb, var(--q-color-surface-elevated), white 5%);
48
+ background-color: rgb(255 255 255 / 10%);
58
49
  }
59
50
 
60
51
  html[data-theme="light"] .btn-secondary {
61
- background-color: var(--q-color-surface-elevated);
62
- color: var(--q-color-text) !important;
52
+ background-color: rgb(0 0 0 / 3%);
53
+ color: #1e293b !important;
63
54
  border: 0;
64
55
  }
65
56
 
@@ -110,13 +101,18 @@ html[data-theme="light"] .btn-secondary {
110
101
 
111
102
  /* Card Component */
112
103
  .card {
113
- background-color: var(--q-color-surface);
114
- color: var(--q-color-text);
115
- border: 1px solid var(--q-color-border);
104
+ background-color: var(--q-card-bg);
105
+ color: var(--q-text-primary);
106
+ border: 1px solid var(--q-card-border);
116
107
  border-radius: var(--q-radius-lg);
117
108
  box-shadow: var(--q-shadow-md);
118
109
  overflow: hidden;
119
- transition: all var(--q-duration-base) var(--q-ease-in-out);
110
+ transition: all var(--q-duration-200) var(--q-ease-in-out);
111
+ }
112
+
113
+ html[data-theme="light"] .card {
114
+ background-color: var(--q-light-card-bg, white);
115
+ color: var(--q-light-text, #1e293b);
120
116
  }
121
117
 
122
118
  .card:hover {
@@ -124,9 +120,28 @@ html[data-theme="light"] .btn-secondary {
124
120
  transform: translateY(-2px);
125
121
  }
126
122
 
123
+ .card-premium {
124
+ background: var(--q-color-surface);
125
+ border: 1px solid var(--q-color-border);
126
+ border-radius: var(--q-radius-2xl);
127
+ padding: 2.5rem;
128
+ backdrop-filter: blur(24px);
129
+ -webkit-backdrop-filter: blur(24px);
130
+ color: var(--q-color-text);
131
+ box-shadow: var(--q-card-shadow);
132
+ transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
133
+ }
134
+
135
+ .card-premium:hover {
136
+ transform: translateY(-8px) scale(1.02);
137
+ background-color: color-mix(in srgb, var(--q-color-surface), white 5%);
138
+ box-shadow: 0 30px 60px -12px rgb(0 0 0 / 50%);
139
+ border-color: var(--q-color-starlight-blue);
140
+ }
141
+
127
142
  .card-header {
128
143
  padding: var(--q-space-6);
129
- border-bottom: 1px solid var(--q-color-border);
144
+ border-bottom: 1px solid var(--q-glass-border);
130
145
  }
131
146
 
132
147
  .card-body {
@@ -135,9 +150,14 @@ html[data-theme="light"] .btn-secondary {
135
150
 
136
151
  .card-footer {
137
152
  padding: var(--q-space-6);
138
- border-top: 1px solid var(--q-color-border);
139
- background-color: var(--q-color-bg-muted);
140
- color: var(--q-color-text-muted);
153
+ border-top: 1px solid var(--q-glass-border);
154
+ background-color: var(--q-glass-bg);
155
+ color: var(--q-text-secondary);
156
+ }
157
+
158
+ html[data-theme="light"] .card-footer {
159
+ background-color: #f9fafb;
160
+ color: #1e293b;
141
161
  }
142
162
 
143
163
  /* Input Component */
@@ -145,12 +165,17 @@ html[data-theme="light"] .btn-secondary {
145
165
  display: block;
146
166
  width: 100%;
147
167
  padding: var(--q-space-2) var(--q-space-3);
148
- border: 1px solid var(--q-color-border);
168
+ border: 1px solid #d1d5db;
149
169
  border-radius: var(--q-radius-md);
150
- background-color: var(--q-color-surface);
151
- color: var(--q-color-text);
170
+ background-color: white;
171
+ color: #1e293b;
152
172
  font-size: 1rem;
153
- transition: all var(--q-duration-fast) var(--q-ease-in-out);
173
+ transition: all var(--q-duration-150) var(--q-ease-in-out);
174
+ }
175
+
176
+ html[data-theme="light"] .input {
177
+ background-color: white;
178
+ color: #1e293b;
154
179
  }
155
180
 
156
181
  textarea.input {
@@ -160,7 +185,7 @@ textarea.input {
160
185
  .input:focus {
161
186
  outline: none;
162
187
  border-color: var(--q-color-primary);
163
- box-shadow: 0 0 0 3px color-mix(in srgb, var(--q-color-primary) 30%, transparent);
188
+ box-shadow: 0 0 0 3px var(--q-color-primary);
164
189
  }
165
190
 
166
191
  /* Date & Time Input Specifics */
@@ -189,18 +214,23 @@ input[type="date"]::-webkit-calendar-picker-indicator {
189
214
  }
190
215
 
191
216
  .input:disabled {
192
- background-color: var(--q-color-bg-muted);
193
- color: var(--q-color-text-muted);
217
+ background-color: #f3f4f6;
218
+ color: #6b7280;
194
219
  cursor: not-allowed;
195
220
  }
196
221
 
222
+ html[data-theme="light"] .input:disabled {
223
+ background-color: #f3f4f6;
224
+ color: #6b7280;
225
+ }
226
+
197
227
  .input-error {
198
- border-color: var(--q-color-danger);
228
+ border-color: var(--q-color-error);
199
229
  }
200
230
 
201
231
  .input-error:focus {
202
- border-color: var(--q-color-danger);
203
- box-shadow: 0 0 0 3px color-mix(in srgb, var(--q-color-danger) 30%, transparent);
232
+ border-color: var(--q-color-error);
233
+ box-shadow: 0 0 0 3px var(--q-color-error);
204
234
  }
205
235
 
206
236
  /* Badge Component */
@@ -219,33 +249,64 @@ input[type="date"]::-webkit-calendar-picker-indicator {
219
249
  }
220
250
 
221
251
  .badge-primary {
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);
252
+ background-color: rgb(0 212 255 / 15%);
253
+ color: #00d4ff;
254
+ border-color: rgb(0 212 255 / 30%);
225
255
  }
226
256
 
227
257
  .badge-secondary {
228
- background-color: var(--q-color-surface-elevated);
229
- color: var(--q-color-text-muted);
230
- border-color: var(--q-color-border);
258
+ background-color: rgb(255 255 255 / 5%);
259
+ color: rgb(255 255 255 / 80%);
260
+ border-color: rgb(255 255 255 / 10%);
231
261
  }
232
262
 
233
263
  .badge-success {
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);
264
+ background-color: rgb(16 185 129 / 15%);
265
+ color: #10b981;
266
+ border-color: rgb(16 185 129 / 30%);
237
267
  }
238
268
 
239
269
  .badge-warning {
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);
270
+ background-color: rgb(245 158 11 / 15%);
271
+ color: #f59e0b;
272
+ border-color: rgb(245 158 11 / 30%);
243
273
  }
244
274
 
245
275
  .badge-error {
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);
276
+ background-color: rgb(239 68 68 / 15%);
277
+ color: #ef4444;
278
+ border-color: rgb(239 68 68 / 30%);
279
+ }
280
+
281
+ /* Light Mode Overrides for Badges */
282
+ html[data-theme="light"] .badge-primary {
283
+ background-color: rgb(59 130 246 / 10%);
284
+ color: #2563eb;
285
+ border-color: rgb(59 130 246 / 20%);
286
+ }
287
+
288
+ html[data-theme="light"] .badge-secondary {
289
+ background-color: rgb(0 0 0 / 5%);
290
+ color: #475569;
291
+ border-color: rgb(0 0 0 / 10%);
292
+ }
293
+
294
+ html[data-theme="light"] .badge-success {
295
+ background-color: rgb(16 185 129 / 10%);
296
+ color: #059669;
297
+ border-color: rgb(16 185 129 / 20%);
298
+ }
299
+
300
+ html[data-theme="light"] .badge-warning {
301
+ background-color: rgb(245 158 11 / 10%);
302
+ color: #d97706;
303
+ border-color: rgb(245 158 11 / 20%);
304
+ }
305
+
306
+ html[data-theme="light"] .badge-error {
307
+ background-color: rgb(239 68 68 / 10%);
308
+ color: #dc2626;
309
+ border-color: rgb(239 68 68 / 20%);
249
310
  }
250
311
 
251
312
  /* Alert Component */
@@ -256,34 +317,40 @@ input[type="date"]::-webkit-calendar-picker-indicator {
256
317
  }
257
318
 
258
319
  .alert-success {
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);
320
+ background-color: #d1fae5;
321
+ border-color: #6ee7b7;
322
+ color: #065f46;
262
323
  }
263
324
 
264
325
  .alert-warning {
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);
326
+ background-color: #fed7aa;
327
+ border-color: #fbbf24;
328
+ color: #92400e;
268
329
  }
269
330
 
270
331
  .alert-error {
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);
332
+ background-color: #fee2e2;
333
+ border-color: #f87171;
334
+ color: #991b1b;
274
335
  }
275
336
 
276
337
  .alert-info {
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);
338
+ background-color: rgb(59 130 246 / 15%);
339
+ border-color: rgb(59 130 246 / 30%);
340
+ color: #60a5fa;
341
+ }
342
+
343
+ html[data-theme="light"] .alert-info {
344
+ background-color: rgb(59 130 246 / 10%);
345
+ border-color: rgb(59 130 246 / 20%);
346
+ color: #1e40af;
280
347
  }
281
348
 
282
349
  /* Modal Component */
283
350
  .modal-overlay {
284
351
  position: fixed;
285
352
  inset: 0;
286
- background-color: color-mix(in srgb, var(--q-color-bg) 50%, transparent);
353
+ background-color: rgb(0 0 0 / 50%);
287
354
  display: flex;
288
355
  align-items: center;
289
356
  justify-content: center;
@@ -291,8 +358,8 @@ input[type="date"]::-webkit-calendar-picker-indicator {
291
358
  }
292
359
 
293
360
  .modal-content {
294
- background-color: var(--q-color-surface);
295
- color: var(--q-color-text);
361
+ background-color: white;
362
+ color: #1e293b;
296
363
  border-radius: var(--q-radius-lg);
297
364
  box-shadow: var(--q-shadow-2xl);
298
365
  max-width: 90vw;
@@ -300,12 +367,17 @@ input[type="date"]::-webkit-calendar-picker-indicator {
300
367
  overflow-y: auto;
301
368
  }
302
369
 
370
+ html[data-theme="light"] .modal-content {
371
+ background-color: white;
372
+ color: #1e293b;
373
+ }
374
+
303
375
  /* Loading Spinner */
304
376
  .spinner {
305
377
  display: inline-block;
306
- width: 1.5rem;
307
- height: 1.5rem;
308
- border: 2px solid var(--q-color-border);
378
+ width: 2.5rem;
379
+ height: 2.5rem;
380
+ border: 4px solid color-mix(in srgb, var(--q-color-text), transparent 85%);
309
381
  border-top-color: var(--q-color-primary);
310
382
  border-radius: 50%;
311
383
  animation: spin 1s linear infinite;
@@ -318,12 +390,12 @@ input[type="date"]::-webkit-calendar-picker-indicator {
318
390
  /* Skeleton Loading */
319
391
  .skeleton {
320
392
  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%
393
+ var(--q-skeleton-bg) 25%,
394
+ var(--q-skeleton-shimmer) 50%,
395
+ var(--q-skeleton-bg) 75%
324
396
  );
325
397
  background-size: 200% 100%;
326
- animation: shimmer 2s infinite;
398
+ animation: shimmer 2s infinite linear;
327
399
  border-radius: var(--q-radius-md);
328
400
  }
329
401
 
@@ -332,6 +404,15 @@ input[type="date"]::-webkit-calendar-picker-indicator {
332
404
  100% { background-position: -200% 0; }
333
405
  }
334
406
 
407
+ html[data-theme="light"] .skeleton {
408
+ background: linear-gradient(90deg,
409
+ var(--q-skeleton-bg) 25%,
410
+ var(--q-skeleton-shimmer) 50%,
411
+ var(--q-skeleton-bg) 75%
412
+ );
413
+ }
414
+
415
+
335
416
  /* Tooltip Component */
336
417
  .tooltip {
337
418
  position: relative;
@@ -342,15 +423,15 @@ input[type="date"]::-webkit-calendar-picker-indicator {
342
423
  bottom: 100%;
343
424
  left: 50%;
344
425
  transform: translateX(-50%);
345
- background-color: var(--q-color-bg-muted);
346
- color: var(--q-color-text);
426
+ background-color: #1f2937;
427
+ color: white;
347
428
  padding: var(--q-space-1) var(--q-space-2);
348
429
  border-radius: var(--q-radius-md);
349
430
  font-size: 0.875rem;
350
431
  white-space: nowrap;
351
432
  opacity: 0;
352
433
  visibility: hidden;
353
- transition: all var(--q-duration-fast) var(--q-ease-in-out);
434
+ transition: all var(--q-duration-150) var(--q-ease-in-out);
354
435
  z-index: 10;
355
436
  margin-bottom: var(--q-space-1);
356
437
  }
@@ -370,9 +451,9 @@ input[type="date"]::-webkit-calendar-picker-indicator {
370
451
  position: absolute;
371
452
  top: 100%;
372
453
  left: 0;
373
- background-color: var(--q-color-surface);
374
- color: var(--q-color-text);
375
- border: 1px solid var(--q-color-border);
454
+ background-color: white;
455
+ color: #1e293b;
456
+ border: 1px solid #e5e7eb;
376
457
  border-radius: var(--q-radius-md);
377
458
  box-shadow: var(--q-shadow-lg);
378
459
  min-width: 200px;
@@ -380,7 +461,12 @@ input[type="date"]::-webkit-calendar-picker-indicator {
380
461
  opacity: 0;
381
462
  visibility: hidden;
382
463
  transform: translateY(-10px);
383
- transition: all var(--q-duration-fast) var(--q-ease-in-out);
464
+ transition: all var(--q-duration-150) var(--q-ease-in-out);
465
+ }
466
+
467
+ html[data-theme="light"] .dropdown-content {
468
+ background-color: white;
469
+ color: #1e293b;
384
470
  }
385
471
 
386
472
  .dropdown.active .dropdown-content {
@@ -397,13 +483,22 @@ input[type="date"]::-webkit-calendar-picker-indicator {
397
483
  background: none;
398
484
  border: none;
399
485
  cursor: pointer;
400
- color: var(--q-color-text);
401
- transition: background-color var(--q-duration-fast) var(--q-ease-in-out);
486
+ color: #1e293b;
487
+ transition: background-color var(--q-duration-150) var(--q-ease-in-out);
402
488
  }
403
489
 
404
490
  .dropdown-item:hover {
405
- background-color: var(--q-color-bg-muted);
406
- color: var(--q-color-text);
491
+ background-color: #f3f4f6;
492
+ color: #1e293b;
493
+ }
494
+
495
+ html[data-theme="light"] .dropdown-item {
496
+ color: #1e293b;
497
+ }
498
+
499
+ html[data-theme="light"] .dropdown-item:hover {
500
+ background-color: #f3f4f6;
501
+ color: #1e293b;
407
502
  }
408
503
 
409
504
  /* Accordion Component */
@@ -417,28 +512,48 @@ input[type="date"]::-webkit-calendar-picker-indicator {
417
512
  .accordion-header {
418
513
  padding: var(--q-space-3) var(--q-space-4);
419
514
  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);
515
+ background-color: rgb(255 255 255 / 5%);
516
+ border-bottom: 1px solid rgb(255 255 255 / 10%);
517
+ color: var(--q-text-primary);
423
518
  cursor: pointer;
424
519
  display: flex;
425
520
  justify-content: space-between;
426
521
  align-items: center;
427
- transition: background-color var(--q-duration-fast) var(--q-ease-in-out);
522
+ transition: background-color var(--q-duration-150) var(--q-ease-in-out);
428
523
  }
429
524
 
430
525
  .accordion-header:hover {
431
- background-color: color-mix(in srgb, var(--q-color-surface-elevated), white 5%);
432
- color: var(--q-color-text);
526
+ background-color: rgb(255 255 255 / 8%);
527
+ color: var(--q-text-primary);
433
528
  }
434
529
 
435
530
  .accordion-content {
436
531
  padding: 0 var(--q-space-4);
437
- background-color: var(--q-color-surface);
438
- color: var(--q-color-text);
532
+ background-color: var(--q-card-bg);
533
+ color: var(--q-text-primary);
439
534
  max-height: 0;
440
535
  overflow: hidden;
441
- transition: max-height var(--q-duration-slow) var(--q-ease-in-out), padding var(--q-duration-slow) var(--q-ease-in-out);
536
+ transition: max-height var(--q-duration-300) var(--q-ease-in-out), padding var(--q-duration-300) var(--q-ease-in-out);
537
+ }
538
+
539
+ html[data-theme="light"] .accordion-header {
540
+ background-color: #f8fafc;
541
+ border-bottom-color: #e2e8f0;
542
+ color: var(--q-light-text);
543
+ }
544
+
545
+ html[data-theme="light"] .accordion-header:hover {
546
+ background-color: #f1f5f9;
547
+ }
548
+
549
+ html[data-theme="light"] .accordion-header:hover {
550
+ background-color: color-mix(in srgb, var(--q-color-primary), transparent 92%);
551
+ color: var(--q-light-text);
552
+ }
553
+
554
+ html[data-theme="light"] .accordion-content {
555
+ background-color: var(--q-light-card-bg);
556
+ color: var(--q-light-text);
442
557
  }
443
558
 
444
559
  .accordion-item.active .accordion-content {
@@ -451,13 +566,13 @@ input[type="date"]::-webkit-calendar-picker-indicator {
451
566
  }
452
567
 
453
568
  .accordion-icon {
454
- transition: transform var(--q-duration-slow) var(--q-ease-in-out);
569
+ transition: transform var(--q-duration-300) var(--q-ease-in-out);
455
570
  }
456
571
 
457
572
  /* Tab Component */
458
573
  .tab-list {
459
574
  display: flex;
460
- border-bottom: 1px solid var(--q-color-border);
575
+ border-bottom: 1px solid rgb(255 255 255 / 10%);
461
576
  }
462
577
 
463
578
  .tab-button {
@@ -466,17 +581,35 @@ input[type="date"]::-webkit-calendar-picker-indicator {
466
581
  border: none;
467
582
  cursor: pointer;
468
583
  border-bottom: 2px solid transparent;
469
- color: var(--q-color-text-muted);
584
+ color: var(--q-text-secondary);
470
585
  font-weight: 500;
471
- transition: all var(--q-duration-fast) var(--q-ease-in-out);
586
+ transition: all var(--q-duration-150) var(--q-ease-in-out);
472
587
  }
473
588
 
474
589
  .tab-button:hover {
475
- background-color: var(--q-color-surface-elevated);
476
- color: var(--q-color-text);
590
+ background-color: rgb(255 255 255 / 5%);
591
+ color: var(--q-text-primary);
477
592
  }
478
593
 
479
594
  .tab-button.active {
595
+ border-bottom-color: var(--q-color-starlight-blue);
596
+ color: var(--q-color-starlight-blue);
597
+ }
598
+
599
+ html[data-theme="light"] .tab-list {
600
+ border-bottom-color: #e2e8f0;
601
+ }
602
+
603
+ html[data-theme="light"] .tab-button {
604
+ color: #64748b;
605
+ }
606
+
607
+ html[data-theme="light"] .tab-button:hover {
608
+ background-color: #f1f5f9;
609
+ color: #0f172a;
610
+ }
611
+
612
+ html[data-theme="light"] .tab-button.active {
480
613
  border-bottom-color: var(--q-color-primary);
481
614
  color: var(--q-color-primary);
482
615
  }
@@ -497,14 +630,14 @@ input[type="date"]::-webkit-calendar-picker-indicator {
497
630
  .progress {
498
631
  width: 100%;
499
632
  height: 0.5rem;
500
- background-color: var(--q-color-border);
633
+ background-color: #e5e7eb;
501
634
  border-radius: var(--q-radius-full);
502
635
  overflow: hidden;
503
636
  }
504
637
 
505
638
  .progress-bar {
506
639
  height: 100%;
507
- transition: width var(--q-duration-slow) var(--q-ease-in-out);
640
+ transition: width var(--q-duration-300) var(--q-ease-in-out);
508
641
  }
509
642
 
510
643
  /* Toggle Switch */
@@ -525,8 +658,8 @@ input[type="date"]::-webkit-calendar-picker-indicator {
525
658
  position: absolute;
526
659
  cursor: pointer;
527
660
  inset: 0;
528
- background-color: var(--q-color-text-muted);
529
- transition: background-color var(--q-duration-fast) var(--q-ease-in-out);
661
+ background-color: #cbd5e1;
662
+ transition: background-color var(--q-duration-150) var(--q-ease-in-out);
530
663
  border-radius: var(--q-radius-full);
531
664
  }
532
665
 
@@ -538,7 +671,7 @@ input[type="date"]::-webkit-calendar-picker-indicator {
538
671
  left: 0.125rem;
539
672
  bottom: 0.125rem;
540
673
  background-color: white;
541
- transition: transform var(--q-duration-fast) var(--q-ease-in-out);
674
+ transition: transform var(--q-duration-150) var(--q-ease-in-out);
542
675
  border-radius: 50%;
543
676
  }
544
677
 
@@ -570,7 +703,7 @@ input[type="date"]::-webkit-calendar-picker-indicator {
570
703
  }
571
704
 
572
705
  .animate-fade-in {
573
- animation: fadeIn var(--q-duration-slow) var(--q-ease-in-out);
706
+ animation: fadeIn var(--q-duration-500) var(--q-ease-in-out);
574
707
  }
575
708
 
576
709
  @keyframes fadeIn {
@@ -579,16 +712,7 @@ input[type="date"]::-webkit-calendar-picker-indicator {
579
712
  }
580
713
 
581
714
  .animate-slide-up {
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);
715
+ animation: slideUp var(--q-duration-300) var(--q-ease-out);
592
716
  }
593
717
 
594
718
  @keyframes slideUp {
@@ -597,7 +721,7 @@ input[type="date"]::-webkit-calendar-picker-indicator {
597
721
  }
598
722
 
599
723
  .animate-slide-down {
600
- animation: slideDown var(--q-duration-slow) var(--q-ease-out);
724
+ animation: slideDown var(--q-duration-300) var(--q-ease-out);
601
725
  }
602
726
 
603
727
  @keyframes slideDown {
@@ -617,39 +741,59 @@ input[type="date"]::-webkit-calendar-picker-indicator {
617
741
  }
618
742
 
619
743
  .table-wrapper::-webkit-scrollbar-track {
620
- background: var(--q-color-bg-muted);
744
+ background: rgb(255 255 255 / 5%);
621
745
  border-radius: 4px;
622
746
  }
623
747
 
624
748
  .table-wrapper::-webkit-scrollbar-thumb {
625
- background: var(--q-color-primary);
749
+ background: var(--q-color-starlight-blue, #3b82f6);
626
750
  border-radius: 4px;
627
751
  }
628
752
 
753
+ html[data-theme="light"] .table-wrapper::-webkit-scrollbar-track {
754
+ background: rgb(0 0 0 / 5%);
755
+ }
756
+
629
757
  .table {
630
758
  width: 100%;
631
759
  border-collapse: collapse;
632
760
  font-size: 0.875rem;
633
761
  text-align: left;
634
- color: var(--q-color-text);
762
+ color: var(--q-text-primary);
635
763
  }
636
764
 
637
765
  .table th {
638
766
  padding: var(--q-space-3) var(--q-space-4);
639
767
  font-weight: 600;
640
- background-color: var(--q-color-surface-elevated);
641
- border-bottom: 2px solid var(--q-color-border);
642
- color: var(--q-color-text);
768
+ background-color: rgb(255 255 255 / 5%);
769
+ border-bottom: 2px solid rgb(255 255 255 / 10%);
770
+ color: var(--q-text-primary);
643
771
  }
644
772
 
645
773
  .table td {
646
774
  padding: var(--q-space-3) var(--q-space-4);
647
- border-bottom: 1px solid var(--q-color-border);
648
- color: var(--q-color-text-muted);
775
+ border-bottom: 1px solid rgb(255 255 255 / 10%);
776
+ color: var(--q-text-secondary);
649
777
  }
650
778
 
651
779
  .table tbody tr:hover {
652
- background-color: var(--q-color-bg-muted);
780
+ background-color: rgb(255 255 255 / 3%);
781
+ }
782
+
783
+ /* Light Mode Table Styles */
784
+ html[data-theme="light"] .table th {
785
+ background-color: #f8fafc;
786
+ border-bottom-color: #e2e8f0;
787
+ color: #0f172a;
788
+ }
789
+
790
+ html[data-theme="light"] .table td {
791
+ border-bottom-color: #e2e8f0;
792
+ color: #334155;
793
+ }
794
+
795
+ html[data-theme="light"] .table tbody tr:hover {
796
+ background-color: #f1f5f9;
653
797
  }
654
798
 
655
799
  /* Overflow Utility */
@@ -671,7 +815,7 @@ input[type="date"]::-webkit-calendar-picker-indicator {
671
815
  display: grid;
672
816
  grid-template-columns: 260px minmax(0, 1fr);
673
817
  height: 100vh;
674
- background: var(--q-color-bg);
818
+ background: var(--q-bg-primary, #08081a);
675
819
  overflow: hidden;
676
820
  max-width: 100vw;
677
821
  }
@@ -686,8 +830,8 @@ input[type="date"]::-webkit-calendar-picker-indicator {
686
830
 
687
831
  /* Sidebar navigation container */
688
832
  .sidebar {
689
- background: var(--q-color-surface);
690
- border-right: 1px solid var(--q-color-border);
833
+ background: linear-gradient(180deg, rgba(15, 23, 42, 0.98) 0%, rgba(8, 8, 26, 0.98) 100%);
834
+ border-right: 1px solid rgba(255, 255, 255, 0.08);
691
835
  padding: 1.5rem;
692
836
  display: flex;
693
837
  flex-direction: column;
@@ -708,8 +852,8 @@ input[type="date"]::-webkit-calendar-picker-indicator {
708
852
  align-items: center;
709
853
  margin-bottom: 2rem;
710
854
  padding: 1rem 1.5rem;
711
- background: var(--q-color-surface-elevated);
712
- border: 1px solid var(--q-color-border);
855
+ background: rgba(255, 255, 255, 0.03);
856
+ border: 1px solid rgba(255, 255, 255, 0.08);
713
857
  border-radius: 1rem;
714
858
  }
715
859
 
@@ -728,11 +872,15 @@ input[type="date"]::-webkit-calendar-picker-indicator {
728
872
  margin-bottom: 2rem;
729
873
  }
730
874
 
731
- /* Page actions container */
732
- .page-actions {
733
- display: flex;
734
- align-items: center;
735
- gap: 0.75rem;
875
+ /* Light mode overrides for layout */
876
+ html[data-theme="light"] .sidebar {
877
+ background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
878
+ border-right-color: #e2e8f0;
879
+ }
880
+
881
+ html[data-theme="light"] .top-nav {
882
+ background: #ffffff;
883
+ border-color: #e2e8f0;
736
884
  }
737
885
 
738
886
  /* Responsive layout adjustments */
@@ -755,6 +903,9 @@ input[type="date"]::-webkit-calendar-picker-indicator {
755
903
  display: none;
756
904
  }
757
905
 
906
+ .main-content {
907
+ }
908
+
758
909
  .page-header {
759
910
  flex-direction: column;
760
911
  align-items: flex-start;
@@ -778,7 +929,7 @@ input[type="date"]::-webkit-calendar-picker-indicator {
778
929
  font-weight: 700;
779
930
  text-transform: uppercase;
780
931
  letter-spacing: 0.15em;
781
- color: var(--q-color-text-muted);
932
+ color: var(--q-text-muted, #64748b);
782
933
  margin-bottom: 0.75rem;
783
934
  padding-left: 0.75rem;
784
935
  }
@@ -790,10 +941,10 @@ input[type="date"]::-webkit-calendar-picker-indicator {
790
941
  gap: 0.875rem;
791
942
  padding: 0.75rem;
792
943
  border-radius: 0.625rem;
793
- color: var(--q-color-text-muted);
944
+ color: var(--q-text-secondary, #94a3b8);
794
945
  font-size: 0.875rem;
795
946
  cursor: pointer;
796
- transition: all var(--q-duration-base) var(--q-ease-in-out);
947
+ transition: all 0.2s ease;
797
948
  margin-bottom: 0.25rem;
798
949
  text-decoration: none;
799
950
  border: none;
@@ -803,13 +954,13 @@ input[type="date"]::-webkit-calendar-picker-indicator {
803
954
  }
804
955
 
805
956
  .nav-item:hover {
806
- background: var(--q-color-surface-elevated);
807
- color: var(--q-color-text);
957
+ background: rgba(255, 255, 255, 0.05);
958
+ color: var(--q-text-primary, #f1f5f9);
808
959
  }
809
960
 
810
961
  .nav-item.active {
811
- background: color-mix(in srgb, var(--q-color-primary) 12%, transparent);
812
- color: var(--q-color-primary);
962
+ background: rgba(0, 212, 255, 0.12);
963
+ color: var(--q-color-starlight, #00d4ff);
813
964
  }
814
965
 
815
966
  /* Constrain nav item icons - prevent oversized icons */
@@ -831,10 +982,14 @@ input[type="date"]::-webkit-calendar-picker-indicator {
831
982
  }
832
983
 
833
984
  .sidebar::-webkit-scrollbar-thumb {
834
- background: var(--q-color-border);
985
+ background: rgba(255, 255, 255, 0.1);
835
986
  border-radius: 2px;
836
987
  }
837
988
 
989
+ html[data-theme="light"] .sidebar::-webkit-scrollbar-thumb {
990
+ background: #cbd5e1;
991
+ }
992
+
838
993
  /* Navigation badge (count) */
839
994
  .nav-badge {
840
995
  margin-left: auto;
@@ -842,8 +997,18 @@ input[type="date"]::-webkit-calendar-picker-indicator {
842
997
  font-weight: 600;
843
998
  padding: 0.125rem 0.5rem;
844
999
  border-radius: 9999px;
845
- background: var(--q-color-danger-soft);
846
- color: var(--q-color-danger);
1000
+ background: rgba(239, 68, 68, 0.2);
1001
+ color: #f87171;
1002
+ }
1003
+
1004
+ /* Light mode overrides for navigation */
1005
+ html[data-theme="light"] .nav-item:hover {
1006
+ background: #f1f5f9;
1007
+ color: #0f172a;
1008
+ }
1009
+
1010
+ html[data-theme="light"] .nav-section-title {
1011
+ color: #64748b;
847
1012
  }
848
1013
 
849
1014
  /* ============================================================================
@@ -861,15 +1026,15 @@ input[type="date"]::-webkit-calendar-picker-indicator {
861
1026
 
862
1027
  /* Individual stat card */
863
1028
  .stat-card {
864
- background: var(--q-color-surface);
865
- border: 1px solid var(--q-color-border);
1029
+ background: rgba(255, 255, 255, 0.03);
1030
+ border: 1px solid rgba(255, 255, 255, 0.08);
866
1031
  border-radius: 1rem;
867
1032
  padding: 1.5rem;
868
- transition: all var(--q-duration-slow) var(--q-ease-in-out);
1033
+ transition: all 0.3s ease;
869
1034
  }
870
1035
 
871
1036
  .stat-card:hover {
872
- background: var(--q-color-surface-elevated);
1037
+ background: rgba(255, 255, 255, 0.05);
873
1038
  transform: translateY(-2px);
874
1039
  }
875
1040
 
@@ -893,42 +1058,42 @@ input[type="date"]::-webkit-calendar-picker-indicator {
893
1058
 
894
1059
  /* Icon color variants */
895
1060
  .stat-icon-blue {
896
- background: var(--q-color-info-soft);
897
- color: var(--q-color-info);
1061
+ background: rgba(59, 130, 246, 0.15);
1062
+ color: #60a5fa;
898
1063
  }
899
1064
 
900
1065
  .stat-icon-green {
901
- background: var(--q-color-success-soft);
902
- color: var(--q-color-success);
1066
+ background: rgba(16, 185, 129, 0.15);
1067
+ color: #34d399;
903
1068
  }
904
1069
 
905
1070
  .stat-icon-orange {
906
- background: var(--q-color-warning-soft);
907
- color: var(--q-color-warning);
1071
+ background: rgba(249, 115, 22, 0.15);
1072
+ color: #fb923c;
908
1073
  }
909
1074
 
910
1075
  .stat-icon-purple {
911
- background: color-mix(in srgb, var(--q-color-primary) 15%, transparent);
912
- color: var(--q-color-primary);
1076
+ background: rgba(139, 92, 246, 0.15);
1077
+ color: #a78bfa;
913
1078
  }
914
1079
 
915
1080
  .stat-icon-red {
916
- background: var(--q-color-danger-soft);
917
- color: var(--q-color-danger);
1081
+ background: rgba(239, 68, 68, 0.15);
1082
+ color: #f87171;
918
1083
  }
919
1084
 
920
1085
  /* Stat value display */
921
1086
  .stat-value {
922
1087
  font-size: 1.875rem;
923
1088
  font-weight: 700;
924
- color: var(--q-color-text);
1089
+ color: var(--q-text-primary, #f1f5f9);
925
1090
  margin-bottom: 0.25rem;
926
1091
  }
927
1092
 
928
1093
  /* Stat label */
929
1094
  .stat-label {
930
1095
  font-size: 0.875rem;
931
- color: var(--q-color-text-muted);
1096
+ color: var(--q-text-muted, #64748b);
932
1097
  }
933
1098
 
934
1099
  /* Trend indicator */
@@ -943,13 +1108,56 @@ input[type="date"]::-webkit-calendar-picker-indicator {
943
1108
  }
944
1109
 
945
1110
  .stat-trend-up {
946
- background: var(--q-color-success-soft);
947
- color: var(--q-color-success);
1111
+ background: rgba(16, 185, 129, 0.15);
1112
+ color: #34d399;
948
1113
  }
949
1114
 
950
1115
  .stat-trend-down {
951
- background: var(--q-color-danger-soft);
952
- color: var(--q-color-danger);
1116
+ background: rgba(239, 68, 68, 0.15);
1117
+ color: #f87171;
1118
+ }
1119
+
1120
+ /* Light mode overrides for stat cards */
1121
+ html[data-theme="light"] .stat-card {
1122
+ background: #ffffff;
1123
+ border-color: #e2e8f0;
1124
+ }
1125
+
1126
+ html[data-theme="light"] .stat-card:hover {
1127
+ background: #f8fafc;
1128
+ }
1129
+
1130
+ html[data-theme="light"] .stat-icon-blue {
1131
+ background: rgba(59, 130, 246, 0.1);
1132
+ }
1133
+
1134
+ html[data-theme="light"] .stat-icon-green {
1135
+ background: rgba(16, 185, 129, 0.1);
1136
+ }
1137
+
1138
+ html[data-theme="light"] .stat-icon-orange {
1139
+ background: rgba(249, 115, 22, 0.1);
1140
+ }
1141
+
1142
+ html[data-theme="light"] .stat-icon-purple {
1143
+ background: rgba(139, 92, 246, 0.1);
1144
+ }
1145
+
1146
+ html[data-theme="light"] .stat-icon-red {
1147
+ background: rgba(239, 68, 68, 0.1);
1148
+ }
1149
+
1150
+ /* Responsive stats grid */
1151
+ @media (max-width: 1280px) {
1152
+ .stats-grid {
1153
+ grid-template-columns: repeat(2, 1fr);
1154
+ }
1155
+ }
1156
+
1157
+ @media (max-width: 768px) {
1158
+ .stats-grid {
1159
+ grid-template-columns: 1fr;
1160
+ }
953
1161
  }
954
1162
 
955
1163
  /* ============================================================================
@@ -962,20 +1170,20 @@ input[type="date"]::-webkit-calendar-picker-indicator {
962
1170
  width: 40px;
963
1171
  height: 40px;
964
1172
  border-radius: 0.625rem;
965
- background: var(--q-color-surface);
966
- border: 1px solid var(--q-color-border);
967
- color: var(--q-color-text-muted);
1173
+ background: rgba(255, 255, 255, 0.05);
1174
+ border: 1px solid rgba(255, 255, 255, 0.1);
1175
+ color: var(--q-text-secondary, #94a3b8);
968
1176
  display: flex;
969
1177
  align-items: center;
970
1178
  justify-content: center;
971
1179
  cursor: pointer;
972
- transition: all var(--q-duration-base) var(--q-ease-in-out);
1180
+ transition: all 0.2s ease;
973
1181
  position: relative;
974
1182
  }
975
1183
 
976
1184
  .icon-btn:hover {
977
- background: var(--q-color-surface-elevated);
978
- color: var(--q-color-text);
1185
+ background: rgba(255, 255, 255, 0.08);
1186
+ color: var(--q-text-primary, #f1f5f9);
979
1187
  }
980
1188
 
981
1189
  /* Circular icon button */
@@ -1008,26 +1216,40 @@ input[type="date"]::-webkit-calendar-picker-indicator {
1008
1216
  width: 32px;
1009
1217
  height: 32px;
1010
1218
  border-radius: 0.5rem;
1011
- background: var(--q-color-surface);
1012
- border: 1px solid var(--q-color-border);
1013
- color: var(--q-color-text-muted);
1219
+ background: rgba(255, 255, 255, 0.05);
1220
+ border: 1px solid rgba(255, 255, 255, 0.1);
1221
+ color: var(--q-text-muted, #64748b);
1014
1222
  display: flex;
1015
1223
  align-items: center;
1016
1224
  justify-content: center;
1017
1225
  cursor: pointer;
1018
- transition: all var(--q-duration-base) var(--q-ease-in-out);
1226
+ transition: all 0.2s ease;
1019
1227
  }
1020
1228
 
1021
1229
  .action-btn:hover {
1022
- background: var(--q-color-surface-elevated);
1023
- color: var(--q-color-text);
1230
+ background: rgba(255, 255, 255, 0.08);
1231
+ color: var(--q-text-primary, #f1f5f9);
1024
1232
  }
1025
1233
 
1026
1234
  /* Delete action button */
1027
1235
  .action-btn-delete:hover {
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);
1236
+ background: rgba(239, 68, 68, 0.15);
1237
+ color: #f87171;
1238
+ border-color: rgba(239, 68, 68, 0.3);
1239
+ }
1240
+
1241
+ /* Light mode overrides for icon buttons */
1242
+ html[data-theme="light"] .icon-btn,
1243
+ html[data-theme="light"] .action-btn {
1244
+ background: #f1f5f9;
1245
+ border-color: #e2e8f0;
1246
+ color: #64748b;
1247
+ }
1248
+
1249
+ html[data-theme="light"] .icon-btn:hover,
1250
+ html[data-theme="light"] .action-btn:hover {
1251
+ background: #e2e8f0;
1252
+ color: #0f172a;
1031
1253
  }
1032
1254
 
1033
1255
  /* ============================================================================
@@ -1039,7 +1261,7 @@ input[type="date"]::-webkit-calendar-picker-indicator {
1039
1261
  .theme-toggle-wrapper {
1040
1262
  margin-top: auto;
1041
1263
  padding-top: 1.5rem;
1042
- border-top: 1px solid var(--q-color-border);
1264
+ border-top: 1px solid rgba(255, 255, 255, 0.08);
1043
1265
  }
1044
1266
 
1045
1267
  /* Theme toggle button */
@@ -1050,18 +1272,18 @@ input[type="date"]::-webkit-calendar-picker-indicator {
1050
1272
  justify-content: center;
1051
1273
  gap: 0.5rem;
1052
1274
  padding: 0.75rem;
1053
- background: var(--q-color-surface);
1054
- border: 1px solid var(--q-color-border);
1275
+ background: rgba(255, 255, 255, 0.05);
1276
+ border: 1px solid rgba(255, 255, 255, 0.1);
1055
1277
  border-radius: 0.625rem;
1056
- color: var(--q-color-text-muted);
1278
+ color: var(--q-text-secondary, #94a3b8);
1057
1279
  font-size: 0.875rem;
1058
1280
  cursor: pointer;
1059
- transition: all var(--q-duration-base) var(--q-ease-in-out);
1281
+ transition: all 0.2s ease;
1060
1282
  }
1061
1283
 
1062
1284
  .theme-btn:hover {
1063
- background: var(--q-color-surface-elevated);
1064
- color: var(--q-color-text);
1285
+ background: rgba(255, 255, 255, 0.08);
1286
+ color: var(--q-text-primary, #f1f5f9);
1065
1287
  }
1066
1288
 
1067
1289
  /* Sun/moon icon visibility */
@@ -1077,6 +1299,17 @@ html[data-theme="light"] .moon-icon {
1077
1299
  display: none;
1078
1300
  }
1079
1301
 
1302
+ /* Light mode overrides for theme toggle */
1303
+ html[data-theme="light"] .theme-btn {
1304
+ background: #f1f5f9;
1305
+ border-color: #e2e8f0;
1306
+ color: #475569;
1307
+ }
1308
+
1309
+ html[data-theme="light"] .theme-toggle-wrapper {
1310
+ border-top-color: #e2e8f0;
1311
+ }
1312
+
1080
1313
  /* ============================================================================
1081
1314
  AVATARS
1082
1315
  User avatars with initials and images
@@ -1087,13 +1320,13 @@ html[data-theme="light"] .moon-icon {
1087
1320
  width: 40px;
1088
1321
  height: 40px;
1089
1322
  border-radius: 50%;
1090
- background: var(--q-gradient-primary);
1323
+ background: linear-gradient(135deg, #3b82f6, var(--q-color-starlight, #00d4ff));
1091
1324
  display: flex;
1092
1325
  align-items: center;
1093
1326
  justify-content: center;
1094
1327
  font-weight: 600;
1095
1328
  font-size: 0.875rem;
1096
- color: var(--q-color-text-inverse);
1329
+ color: white;
1097
1330
  position: relative;
1098
1331
  flex-shrink: 0;
1099
1332
  overflow: hidden;
@@ -1144,13 +1377,22 @@ html[data-theme="light"] .moon-icon {
1144
1377
 
1145
1378
  .user-name {
1146
1379
  font-weight: 600;
1147
- color: var(--q-color-text);
1380
+ color: var(--q-text-primary, #f1f5f9);
1148
1381
  margin-bottom: 0.125rem;
1149
1382
  }
1150
1383
 
1151
1384
  .user-email {
1152
1385
  font-size: 0.75rem;
1153
- color: var(--q-color-text-muted);
1386
+ color: var(--q-text-muted, #64748b);
1387
+ }
1388
+
1389
+ /* Light mode overrides for user info */
1390
+ html[data-theme="light"] .user-name {
1391
+ color: #0f172a;
1392
+ }
1393
+
1394
+ html[data-theme="light"] .user-email {
1395
+ color: #64748b;
1154
1396
  }
1155
1397
 
1156
1398
  /* ============================================================================
@@ -1178,30 +1420,30 @@ html[data-theme="light"] .moon-icon {
1178
1420
 
1179
1421
  /* Status variants */
1180
1422
  .status-active {
1181
- background: var(--q-color-success-soft);
1182
- color: var(--q-color-success);
1423
+ background: rgba(16, 185, 129, 0.15);
1424
+ color: #34d399;
1183
1425
  }
1184
1426
 
1185
1427
  .status-active::before {
1186
- background: var(--q-color-success);
1428
+ background: #34d399;
1187
1429
  }
1188
1430
 
1189
1431
  .status-pending {
1190
- background: var(--q-color-warning-soft);
1191
- color: var(--q-color-warning);
1432
+ background: rgba(245, 158, 11, 0.15);
1433
+ color: #fbbf24;
1192
1434
  }
1193
1435
 
1194
1436
  .status-pending::before {
1195
- background: var(--q-color-warning);
1437
+ background: #fbbf24;
1196
1438
  }
1197
1439
 
1198
1440
  .status-inactive {
1199
- background: var(--q-color-danger-soft);
1200
- color: var(--q-color-danger);
1441
+ background: rgba(239, 68, 68, 0.15);
1442
+ color: #f87171;
1201
1443
  }
1202
1444
 
1203
1445
  .status-inactive::before {
1204
- background: var(--q-color-danger);
1446
+ background: #f87171;
1205
1447
  }
1206
1448
 
1207
1449
  /* Role badge */
@@ -1211,19 +1453,18 @@ html[data-theme="light"] .moon-icon {
1211
1453
  border-radius: 0.375rem;
1212
1454
  font-size: 0.75rem;
1213
1455
  font-weight: 500;
1214
- background: var(--q-color-surface);
1215
- color: var(--q-color-text-muted);
1456
+ background: rgba(255, 255, 255, 0.05);
1457
+ color: var(--q-text-secondary, #94a3b8);
1216
1458
  }
1217
1459
 
1218
1460
  .role-admin {
1219
- background: color-mix(in srgb, var(--q-color-primary) 15%, transparent);
1220
- color: var(--q-color-primary);
1461
+ background: rgba(0, 212, 255, 0.15);
1462
+ color: var(--q-color-starlight, #00d4ff);
1221
1463
  }
1222
1464
 
1223
1465
  .role-moderator {
1224
- background: color-mix(in srgb, var(--q-color-primary) 15%, transparent);
1225
- color: var(--q-color-primary);
1226
- opacity: 0.8;
1466
+ background: rgba(139, 92, 246, 0.15);
1467
+ color: #a78bfa;
1227
1468
  }
1228
1469
 
1229
1470
  /* Count badge */
@@ -1234,11 +1475,11 @@ html[data-theme="light"] .moon-icon {
1234
1475
  min-width: 20px;
1235
1476
  height: 20px;
1236
1477
  padding: 0 6px;
1237
- background: var(--q-gradient-primary);
1478
+ background: linear-gradient(135deg, var(--q-color-starlight, #00d4ff), #3b82f6);
1238
1479
  border-radius: 10px;
1239
1480
  font-size: 0.6875rem;
1240
1481
  font-weight: 700;
1241
- color: var(--q-color-text-inverse);
1482
+ color: white;
1242
1483
  }
1243
1484
 
1244
1485
  /* Label/tag */
@@ -1253,60 +1494,70 @@ html[data-theme="light"] .moon-icon {
1253
1494
  }
1254
1495
 
1255
1496
  .label-work {
1256
- background: var(--q-color-info-soft);
1257
- color: var(--q-color-info);
1497
+ background: rgba(59, 130, 246, 0.2);
1498
+ color: #60a5fa;
1258
1499
  }
1259
1500
 
1260
1501
  .label-personal {
1261
- background: var(--q-color-success-soft);
1262
- color: var(--q-color-success);
1502
+ background: rgba(16, 185, 129, 0.2);
1503
+ color: #34d399;
1263
1504
  }
1264
1505
 
1265
1506
  .label-important {
1266
- background: var(--q-color-danger-soft);
1267
- color: var(--q-color-danger);
1507
+ background: rgba(239, 68, 68, 0.2);
1508
+ color: #f87171;
1268
1509
  }
1269
1510
 
1270
- /* ============================================================================
1271
- SEARCH INPUTS
1272
- Search boxes with integrated icons
1273
- ============================================================================ */
1511
+ /* Light mode overrides for badges */
1512
+ html[data-theme="light"] .status-active {
1513
+ background: rgba(16, 185, 129, 0.1);
1514
+ color: #059669;
1515
+ }
1274
1516
 
1275
- /* Search container */
1276
- .search-box {
1277
- position: relative;
1517
+ html[data-theme="light"] .status-pending {
1518
+ background: rgba(245, 158, 11, 0.1);
1519
+ color: #d97706;
1278
1520
  }
1279
1521
 
1280
- /* Search input */
1281
- .search-input {
1282
- width: 280px;
1283
- padding: 0.625rem 1rem 0.625rem 2.5rem;
1284
- background: var(--q-color-surface);
1285
- border: 1px solid var(--q-color-border);
1286
- border-radius: 0.625rem;
1287
- color: var(--q-color-text);
1288
- font-size: 0.875rem;
1289
- transition: all var(--q-duration-base) var(--q-ease-in-out);
1522
+ html[data-theme="light"] .status-inactive {
1523
+ background: rgba(239, 68, 68, 0.1);
1524
+ color: #dc2626;
1290
1525
  }
1291
1526
 
1292
- .search-input:focus {
1293
- outline: none;
1294
- border-color: color-mix(in srgb, var(--q-color-primary) 50%, transparent);
1295
- background: var(--q-color-surface-elevated);
1527
+ html[data-theme="light"] .role-badge {
1528
+ background: #f1f5f9;
1529
+ color: #475569;
1296
1530
  }
1297
1531
 
1298
- .search-input::placeholder {
1299
- color: var(--q-color-text-muted);
1532
+ html[data-theme="light"] .role-admin {
1533
+ background: rgba(0, 212, 255, 0.1);
1534
+ color: #0284c7;
1300
1535
  }
1301
1536
 
1302
- /* Search icon */
1303
- .search-icon {
1304
- position: absolute;
1305
- left: 0.875rem;
1306
- top: 50%;
1307
- transform: translateY(-50%);
1308
- color: var(--q-color-text-muted);
1309
- pointer-events: none;
1537
+ html[data-theme="light"] .label-work {
1538
+ background: rgba(59, 130, 246, 0.1);
1539
+ color: #2563eb;
1540
+ }
1541
+
1542
+ html[data-theme="light"] .label-personal {
1543
+ background: rgba(16, 185, 129, 0.1);
1544
+ color: #059669;
1545
+ }
1546
+
1547
+ html[data-theme="light"] .label-important {
1548
+ background: rgba(239, 68, 68, 0.1);
1549
+ color: #dc2626;
1550
+ }
1551
+
1552
+ /* ============================================================================
1553
+ SEARCH INPUTS
1554
+ Search boxes with integrated icons
1555
+ ============================================================================ */
1556
+
1557
+ /* Search input base handled in starlight.css */
1558
+
1559
+ .search-input::placeholder {
1560
+ color: var(--q-text-muted, #64748b);
1310
1561
  }
1311
1562
 
1312
1563
  /* Full-width search input */
@@ -1317,10 +1568,10 @@ html[data-theme="light"] .moon-icon {
1317
1568
  /* Filter select (for table filters) */
1318
1569
  .filter-select {
1319
1570
  padding: 0.5rem 2rem 0.5rem 0.75rem;
1320
- background: var(--q-color-surface);
1321
- border: 1px solid var(--q-color-border);
1571
+ background: rgba(255, 255, 255, 0.05);
1572
+ border: 1px solid rgba(255, 255, 255, 0.1);
1322
1573
  border-radius: 0.5rem;
1323
- color: var(--q-color-text-muted);
1574
+ color: var(--q-text-secondary, #94a3b8);
1324
1575
  font-size: 0.875rem;
1325
1576
  cursor: pointer;
1326
1577
  appearance: none;
@@ -1328,11 +1579,20 @@ html[data-theme="light"] .moon-icon {
1328
1579
  background-position: right 0.5rem center;
1329
1580
  background-repeat: no-repeat;
1330
1581
  background-size: 1.25rem;
1582
+ transition: all 0.2s ease;
1331
1583
  }
1332
1584
 
1333
1585
  .filter-select:focus {
1334
1586
  outline: none;
1335
- border-color: color-mix(in srgb, var(--q-color-primary) 50%, transparent);
1587
+ box-shadow: 0 0 0 2px var(--q-color-starlight-deep), 0 0 0 4px var(--q-color-starlight-blue);
1588
+ border-color: var(--q-color-starlight-blue);
1589
+ }
1590
+
1591
+ /* Light mode overrides for search */
1592
+ html[data-theme="light"] .filter-select {
1593
+ background: #f1f5f9;
1594
+ border-color: #e2e8f0;
1595
+ color: #0f172a;
1336
1596
  }
1337
1597
 
1338
1598
  /* ============================================================================
@@ -1347,24 +1607,24 @@ html[data-theme="light"] .moon-icon {
1347
1607
  right: 2px;
1348
1608
  width: 10px;
1349
1609
  height: 10px;
1350
- background: var(--q-color-success);
1610
+ background: #10b981;
1351
1611
  border-radius: 50%;
1352
- border: 2px solid var(--q-color-bg);
1612
+ border: 2px solid var(--q-bg-primary, #08081a);
1353
1613
  }
1354
1614
 
1355
1615
  /* Away status indicator */
1356
1616
  .away-indicator {
1357
- background: var(--q-color-warning);
1617
+ background: #f59e0b;
1358
1618
  }
1359
1619
 
1360
1620
  /* Busy status indicator */
1361
1621
  .busy-indicator {
1362
- background: var(--q-color-danger);
1622
+ background: #ef4444;
1363
1623
  }
1364
1624
 
1365
1625
  /* Offline status indicator */
1366
1626
  .offline-indicator {
1367
- background: var(--q-color-text-muted);
1627
+ background: #64748b;
1368
1628
  }
1369
1629
 
1370
1630
  /* Notification dot */
@@ -1374,9 +1634,9 @@ html[data-theme="light"] .moon-icon {
1374
1634
  right: 8px;
1375
1635
  width: 8px;
1376
1636
  height: 8px;
1377
- background: var(--q-color-danger);
1637
+ background: #ef4444;
1378
1638
  border-radius: 50%;
1379
- border: 2px solid var(--q-color-bg);
1639
+ border: 2px solid var(--q-bg-primary, #08081a);
1380
1640
  }
1381
1641
 
1382
1642
  /* Notification badge with number */
@@ -1387,7 +1647,7 @@ html[data-theme="light"] .moon-icon {
1387
1647
  min-width: 18px;
1388
1648
  height: 18px;
1389
1649
  padding: 0 5px;
1390
- background: var(--q-color-danger);
1650
+ background: #ef4444;
1391
1651
  border-radius: 9px;
1392
1652
  font-size: 0.6875rem;
1393
1653
  font-weight: 700;
@@ -1395,7 +1655,14 @@ html[data-theme="light"] .moon-icon {
1395
1655
  display: flex;
1396
1656
  align-items: center;
1397
1657
  justify-content: center;
1398
- border: 2px solid var(--q-color-bg);
1658
+ border: 2px solid var(--q-bg-primary, #08081a);
1659
+ }
1660
+
1661
+ /* Light mode overrides for indicators */
1662
+ html[data-theme="light"] .online-indicator,
1663
+ html[data-theme="light"] .notification-dot,
1664
+ html[data-theme="light"] .notification-badge {
1665
+ border-color: #ffffff;
1399
1666
  }
1400
1667
 
1401
1668
  /* ============================================================================
@@ -1413,29 +1680,47 @@ html[data-theme="light"] .moon-icon {
1413
1680
  height: 36px;
1414
1681
  padding: 0 0.75rem;
1415
1682
  border-radius: 0.5rem;
1416
- background: var(--q-color-surface);
1417
- border: 1px solid var(--q-color-border);
1418
- color: var(--q-color-text-muted);
1683
+ background: rgba(255, 255, 255, 0.05);
1684
+ border: 1px solid rgba(255, 255, 255, 0.1);
1685
+ color: var(--q-text-secondary, #94a3b8);
1419
1686
  font-size: 0.875rem;
1420
1687
  cursor: pointer;
1421
- transition: all var(--q-duration-base) var(--q-ease-in-out);
1688
+ transition: all 0.2s ease;
1422
1689
  display: flex;
1423
1690
  align-items: center;
1424
1691
  justify-content: center;
1425
1692
  }
1426
1693
 
1427
1694
  .page-btn:hover {
1428
- background: var(--q-color-surface-elevated);
1429
- color: var(--q-color-text);
1695
+ background: rgba(255, 255, 255, 0.08);
1696
+ color: var(--q-text-primary, #f1f5f9);
1430
1697
  }
1431
1698
 
1432
1699
  .page-btn.active {
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);
1700
+ background: rgba(0, 212, 255, 0.15);
1701
+ border-color: rgba(0, 212, 255, 0.3);
1702
+ color: var(--q-color-starlight, #00d4ff);
1436
1703
  }
1437
1704
 
1438
1705
  .page-btn:disabled {
1439
1706
  opacity: 0.5;
1440
1707
  cursor: not-allowed;
1708
+ }
1709
+
1710
+ /* Light mode overrides for pagination */
1711
+ html[data-theme="light"] .page-btn {
1712
+ background: #f1f5f9;
1713
+ border-color: #e2e8f0;
1714
+ color: #64748b;
1715
+ }
1716
+
1717
+ html[data-theme="light"] .page-btn:hover {
1718
+ background: #e2e8f0;
1719
+ color: #0f172a;
1720
+ }
1721
+
1722
+ html[data-theme="light"] .page-btn.active {
1723
+ background: rgba(59, 130, 246, 0.1);
1724
+ border-color: rgba(59, 130, 246, 0.3);
1725
+ color: #2563eb;
1441
1726
  }