@indinno/digicode-ui 0.1.0 → 0.1.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.
Files changed (42) hide show
  1. package/README.md +39 -143
  2. package/dist/index.d.ts +2 -0
  3. package/dist/index.d.ts.map +1 -0
  4. package/dist/index.js +2 -0
  5. package/dist/index.js.map +1 -0
  6. package/dist/styles.css +1496 -0
  7. package/dist/ui.d.ts +78 -0
  8. package/dist/ui.d.ts.map +1 -0
  9. package/dist/ui.js +76 -0
  10. package/dist/ui.js.map +1 -0
  11. package/package.json +43 -22
  12. package/LICENSE +0 -21
  13. package/bin/digicode.mjs +0 -136
  14. package/registry/components/accordion.tsx +0 -41
  15. package/registry/components/alert.tsx +0 -21
  16. package/registry/components/avatar.tsx +0 -18
  17. package/registry/components/badge.tsx +0 -9
  18. package/registry/components/breadcrumb.tsx +0 -22
  19. package/registry/components/button.tsx +0 -38
  20. package/registry/components/card.tsx +0 -10
  21. package/registry/components/checkbox.tsx +0 -15
  22. package/registry/components/dialog.tsx +0 -46
  23. package/registry/components/drawer.tsx +0 -42
  24. package/registry/components/dropdown-menu.tsx +0 -38
  25. package/registry/components/empty-state.tsx +0 -20
  26. package/registry/components/input.tsx +0 -28
  27. package/registry/components/pagination.tsx +0 -21
  28. package/registry/components/progress.tsx +0 -17
  29. package/registry/components/radio-group.tsx +0 -40
  30. package/registry/components/select.tsx +0 -33
  31. package/registry/components/separator.tsx +0 -10
  32. package/registry/components/skeleton.tsx +0 -6
  33. package/registry/components/spinner.tsx +0 -11
  34. package/registry/components/stat-card.tsx +0 -21
  35. package/registry/components/switch.tsx +0 -15
  36. package/registry/components/table.tsx +0 -11
  37. package/registry/components/tabs.tsx +0 -52
  38. package/registry/components/textarea.tsx +0 -22
  39. package/registry/components/tooltip.tsx +0 -16
  40. package/registry/lib/cn.ts +0 -3
  41. package/registry/registry.json +0 -32
  42. package/registry/styles/digicode.css +0 -253
@@ -0,0 +1,1496 @@
1
+ :root {
2
+ --dc-ink: #1c2f41;
3
+ --dc-heading: #12212e;
4
+ --dc-muted: #60707e;
5
+ --dc-blue: #2474ad;
6
+ --dc-line: #e7ecef;
7
+ --dc-surface: #f4f7f9;
8
+ --dc-ease-out: cubic-bezier(0.19, 1, 0.22, 1);
9
+ }
10
+
11
+ .dc-button,
12
+ .dc-input {
13
+ font: inherit;
14
+ }
15
+
16
+ .dc-button {
17
+ display: inline-flex;
18
+ align-items: center;
19
+ justify-content: center;
20
+ gap: 13px;
21
+ min-height: 49px;
22
+ padding: 12px 24px;
23
+ border: 1px solid transparent;
24
+ border-radius: 12px;
25
+ font-size: 14px;
26
+ font-weight: 500;
27
+ line-height: 24px;
28
+ white-space: nowrap;
29
+ cursor: pointer;
30
+ text-decoration: none;
31
+ transition:
32
+ background 0.2s,
33
+ box-shadow 0.2s,
34
+ color 0.2s;
35
+ }
36
+
37
+ .dc-button:disabled {
38
+ cursor: wait;
39
+ opacity: 0.65;
40
+ }
41
+
42
+ .dc-button--dark {
43
+ color: #fff;
44
+ background: var(--dc-ink);
45
+ box-shadow:
46
+ inset 0 1px 1px #ffffff20,
47
+ 0 1px 2px #14283d14;
48
+ }
49
+
50
+ .dc-button--dark:hover {
51
+ background: #284458;
52
+ box-shadow: 0 4px 12px #1c2f4120;
53
+ }
54
+
55
+ .dc-button--light {
56
+ color: var(--dc-ink);
57
+ background: #fff;
58
+ box-shadow: 0 2px 5px #14395208;
59
+ }
60
+
61
+ .dc-button--light:hover {
62
+ background: #f8fcff;
63
+ }
64
+
65
+ .dc-button--text {
66
+ min-height: 42px;
67
+ padding-inline: 0;
68
+ color: var(--dc-ink);
69
+ background: transparent;
70
+ border-radius: 0;
71
+ }
72
+
73
+ .dc-button--text:hover {
74
+ color: #236b9e;
75
+ }
76
+
77
+ .dc-button-label {
78
+ position: relative;
79
+ display: block;
80
+ height: 24px;
81
+ overflow: hidden;
82
+ }
83
+
84
+ .dc-button-label > span {
85
+ display: block;
86
+ transition: transform 1.125s var(--dc-ease-out);
87
+ }
88
+
89
+ .dc-button-label > span + span {
90
+ position: absolute;
91
+ inset: 0;
92
+ transform: translateY(110%);
93
+ }
94
+
95
+ .dc-button:hover .dc-button-label > span:first-child {
96
+ transform: translateY(-110%);
97
+ }
98
+
99
+ .dc-button:hover .dc-button-label > span + span {
100
+ transform: translateY(0);
101
+ }
102
+
103
+ .dc-button > svg {
104
+ transition: transform 0.3s var(--dc-ease-out);
105
+ }
106
+
107
+ .dc-button:hover > svg {
108
+ transform: translate(2px, -2px);
109
+ }
110
+
111
+ .dc-brand {
112
+ display: inline-flex;
113
+ align-items: center;
114
+ gap: 10px;
115
+ color: var(--dc-ink);
116
+ line-height: 1;
117
+ }
118
+
119
+ .dc-brand-mark {
120
+ display: flex;
121
+ align-items: center;
122
+ justify-content: center;
123
+ width: 39px;
124
+ height: 39px;
125
+ color: #fff;
126
+ background: #276f9f;
127
+ border-radius: 11px;
128
+ box-shadow:
129
+ inset 0 1px 1px #ffffff70,
130
+ 0 2px 3px #173f5b16;
131
+ transform: rotate(-5deg);
132
+ }
133
+
134
+ .dc-brand-mark svg {
135
+ width: 26px;
136
+ height: 26px;
137
+ transform: rotate(5deg);
138
+ }
139
+
140
+ .dc-brand-type {
141
+ display: block;
142
+ font-weight: 650;
143
+ font-size: 24px;
144
+ }
145
+
146
+ .dc-brand-subtitle {
147
+ display: block;
148
+ margin-top: 6px;
149
+ color: #70818d;
150
+ font-size: 8px;
151
+ font-weight: 600;
152
+ }
153
+
154
+ .dc-brand--compact {
155
+ gap: 6px;
156
+ }
157
+
158
+ .dc-brand--compact .dc-brand-mark {
159
+ width: 24px;
160
+ height: 24px;
161
+ border-radius: 7px;
162
+ }
163
+
164
+ .dc-brand--compact .dc-brand-mark svg {
165
+ width: 17px;
166
+ height: 17px;
167
+ }
168
+
169
+ .dc-brand--compact .dc-brand-type {
170
+ font-size: 17px;
171
+ }
172
+
173
+ .dc-brand--compact .dc-brand-subtitle {
174
+ margin-top: 3px;
175
+ font-size: 5px;
176
+ }
177
+
178
+ .dc-eyebrow {
179
+ display: flex;
180
+ align-items: center;
181
+ gap: 9px;
182
+ margin: 0 0 19px;
183
+ color: #687985;
184
+ font-size: 11px;
185
+ font-weight: 600;
186
+ }
187
+
188
+ .dc-eyebrow > span {
189
+ display: block;
190
+ width: 6px;
191
+ height: 6px;
192
+ background: #5c9ec7;
193
+ border-radius: 50%;
194
+ box-shadow: 0 0 0 4px #edf5fa;
195
+ }
196
+
197
+ .dc-section-heading {
198
+ display: flex;
199
+ align-items: end;
200
+ justify-content: space-between;
201
+ gap: 30px;
202
+ margin-bottom: 45px;
203
+ }
204
+
205
+ .dc-section-heading h2 {
206
+ margin: 0;
207
+ color: var(--dc-heading);
208
+ font-size: 43px;
209
+ font-weight: 600;
210
+ line-height: 1.22;
211
+ }
212
+
213
+ .dc-section-description {
214
+ max-width: 580px;
215
+ margin: 18px 0 0;
216
+ color: var(--dc-muted);
217
+ }
218
+
219
+ .dc-section-heading--center {
220
+ justify-content: center;
221
+ text-align: center;
222
+ }
223
+
224
+ .dc-section-heading--center .dc-eyebrow {
225
+ justify-content: center;
226
+ }
227
+
228
+ .dc-section-heading--center .dc-section-description {
229
+ margin-inline: auto;
230
+ }
231
+
232
+ .dc-section-heading-aside {
233
+ flex-shrink: 0;
234
+ padding-bottom: 3px;
235
+ }
236
+
237
+ .dc-field {
238
+ display: grid;
239
+ gap: 8px;
240
+ color: var(--dc-ink);
241
+ }
242
+
243
+ .dc-field-label {
244
+ font-size: 12px;
245
+ font-weight: 600;
246
+ }
247
+
248
+ .dc-field-label > span {
249
+ color: #aa544a;
250
+ }
251
+
252
+ .dc-input {
253
+ width: 100%;
254
+ min-height: 52px;
255
+ padding: 13px 14px;
256
+ color: var(--dc-ink);
257
+ background: #f9fbfc;
258
+ border: 1px solid #dfe7ec;
259
+ border-radius: 10px;
260
+ outline: none;
261
+ transition:
262
+ border-color 0.2s,
263
+ background 0.2s,
264
+ box-shadow 0.2s;
265
+ }
266
+
267
+ .dc-input:hover,
268
+ .dc-input:focus,
269
+ .dc-input:focus-visible {
270
+ background: #fff;
271
+ border-color: #b7d1e2;
272
+ box-shadow: 0 0 0 4px #d8ecf750;
273
+ }
274
+
275
+ .dc-textarea {
276
+ min-height: 128px;
277
+ resize: vertical;
278
+ }
279
+
280
+ .dc-button[data-corners],
281
+ .dc-input[data-corners] {
282
+ --dc-control-radius: 4px;
283
+ --dc-menu-radius: 4px;
284
+ --dc-option-radius: 2px;
285
+ border-radius: var(--dc-control-radius);
286
+ }
287
+
288
+ :is(.dc-button, .dc-input)[data-corners="square"] {
289
+ --dc-control-radius: 0px;
290
+ --dc-menu-radius: 0px;
291
+ --dc-option-radius: 0px;
292
+ }
293
+
294
+ :is(.dc-button, .dc-input)[data-corners="rounded"] {
295
+ --dc-control-radius: 10px;
296
+ --dc-menu-radius: 10px;
297
+ --dc-option-radius: 6px;
298
+ }
299
+
300
+ :is(.dc-button, .dc-input)[data-corners="pill"] {
301
+ --dc-control-radius: 999px;
302
+ --dc-menu-radius: 16px;
303
+ --dc-option-radius: 999px;
304
+ }
305
+
306
+ .dc-textarea[data-corners="pill"] {
307
+ border-radius: 24px;
308
+ }
309
+
310
+ .dc-select {
311
+ appearance: none;
312
+ padding-right: 44px;
313
+ cursor: pointer;
314
+ background-image:
315
+ linear-gradient(45deg, transparent 50%, #6b7a86 50%),
316
+ linear-gradient(135deg, #6b7a86 50%, transparent 50%);
317
+ background-position:
318
+ calc(100% - 18px) 50%,
319
+ calc(100% - 13px) 50%;
320
+ background-size:
321
+ 5px 5px,
322
+ 5px 5px;
323
+ background-repeat: no-repeat;
324
+ }
325
+
326
+ .dc-select:disabled {
327
+ cursor: not-allowed;
328
+ opacity: 0.55;
329
+ box-shadow: none;
330
+ }
331
+
332
+ /* Keep native form, keyboard, and touch behavior; enhance supported pickers. */
333
+ @supports (appearance: base-select) {
334
+ .dc-select:not([multiple]):not([size]),
335
+ .dc-select:not([multiple]):not([size])::picker(select) {
336
+ appearance: base-select;
337
+ }
338
+
339
+ .dc-select:not([multiple]):not([size]) {
340
+ align-items: center;
341
+ padding-right: 14px;
342
+ background-image: none;
343
+ }
344
+
345
+ .dc-select::picker-icon {
346
+ color: var(--dc-muted);
347
+ transition: rotate 200ms ease;
348
+ }
349
+
350
+ .dc-select:open::picker-icon {
351
+ rotate: 180deg;
352
+ }
353
+
354
+ .dc-select::picker(select) {
355
+ box-sizing: border-box;
356
+ margin-block: 8px;
357
+ padding: 6px;
358
+ max-height: min(320px, 50dvh);
359
+ overflow-y: auto;
360
+ color: var(--dc-ink);
361
+ background: #fff;
362
+ border: 1px solid #dfe7ec;
363
+ border-radius: var(--dc-menu-radius, 4px);
364
+ box-shadow: 0 14px 36px #1c2f411a, 0 3px 8px #1c2f4108;
365
+ opacity: 0;
366
+ transform: translateY(-4px);
367
+ transition: opacity 180ms ease, transform 180ms ease,
368
+ display 180ms allow-discrete, overlay 180ms allow-discrete;
369
+ }
370
+
371
+ .dc-select:open::picker(select) {
372
+ opacity: 1;
373
+ transform: translateY(0);
374
+ }
375
+
376
+ @starting-style {
377
+ .dc-select:open::picker(select) {
378
+ opacity: 0;
379
+ transform: translateY(-4px);
380
+ }
381
+ }
382
+
383
+ .dc-select option {
384
+ display: flex;
385
+ align-items: center;
386
+ gap: 12px;
387
+ min-height: 44px;
388
+ padding: 10px 12px;
389
+ border-radius: var(--dc-option-radius, 2px);
390
+ cursor: pointer;
391
+ transition: background 140ms ease, color 140ms ease;
392
+ }
393
+
394
+ .dc-select option:checked {
395
+ color: #20658f;
396
+ background: #edf6fc;
397
+ font-weight: 600;
398
+ }
399
+
400
+ .dc-select option:hover,
401
+ .dc-select option:focus-visible {
402
+ background: #e2eff8;
403
+ outline: 2px solid #b7d1e2;
404
+ outline-offset: -2px;
405
+ }
406
+
407
+ .dc-select option::checkmark {
408
+ order: 1;
409
+ margin-left: auto;
410
+ color: var(--dc-blue);
411
+ }
412
+
413
+ .dc-select option:disabled {
414
+ color: #8d9aa4;
415
+ background: transparent;
416
+ cursor: not-allowed;
417
+ }
418
+ }
419
+
420
+ @media (prefers-reduced-motion: reduce) {
421
+ .dc-select::picker(select),
422
+ .dc-select::picker-icon,
423
+ .dc-select option {
424
+ transition: none;
425
+ }
426
+ }
427
+
428
+ .dc-field-hint {
429
+ color: var(--dc-muted);
430
+ font-size: 12px;
431
+ }
432
+
433
+ .dc-service-card {
434
+ background: linear-gradient(#f1f5f8, #fff);
435
+ border: 1px solid #e8edf0;
436
+ border-radius: 17px;
437
+ padding: 10px;
438
+ transition:
439
+ box-shadow 0.3s,
440
+ transform 0.3s;
441
+ }
442
+
443
+ .dc-service-card:hover {
444
+ transform: translateY(-3px);
445
+ box-shadow: 0 10px 30px #1c2f4108;
446
+ }
447
+
448
+ .dc-service-card-content {
449
+ position: relative;
450
+ padding: 26px 21px 13px;
451
+ }
452
+
453
+ .dc-card-eyebrow {
454
+ color: #7b8a95;
455
+ font-size: 9px;
456
+ font-weight: 600;
457
+ }
458
+
459
+ .dc-service-card h3,
460
+ .dc-product-card h3 {
461
+ margin: 9px 0 0;
462
+ color: var(--dc-heading);
463
+ font-size: 20px;
464
+ line-height: 1.4;
465
+ }
466
+
467
+ .dc-service-card p,
468
+ .dc-product-card p {
469
+ margin: 12px 0 0;
470
+ color: var(--dc-muted);
471
+ font-size: 14px;
472
+ }
473
+
474
+ .dc-service-scope,
475
+ .dc-feature-list {
476
+ display: grid;
477
+ gap: 8px;
478
+ margin: 18px 0;
479
+ padding: 0;
480
+ color: #455d70;
481
+ font-size: 13px;
482
+ line-height: 1.55;
483
+ list-style: none;
484
+ }
485
+
486
+ .dc-service-scope li,
487
+ .dc-feature-list li {
488
+ display: flex;
489
+ align-items: flex-start;
490
+ gap: 8px;
491
+ }
492
+
493
+ .dc-service-scope svg,
494
+ .dc-feature-list svg {
495
+ flex-shrink: 0;
496
+ margin-top: 3px;
497
+ color: #287663;
498
+ }
499
+
500
+ .dc-service-visual {
501
+ position: relative;
502
+ display: flex;
503
+ align-items: center;
504
+ justify-content: center;
505
+ min-height: 258px;
506
+ overflow: hidden;
507
+ background: #eef6fb;
508
+ border-radius: 11px;
509
+ }
510
+
511
+ .dc-visual-grid,
512
+ .dc-product-preview-grid {
513
+ position: absolute;
514
+ inset: 0;
515
+ background-image:
516
+ linear-gradient(#ffffff60 1px, transparent 1px),
517
+ linear-gradient(90deg, #ffffff60 1px, transparent 1px);
518
+ background-size: 32px 32px;
519
+ mask-image: radial-gradient(ellipse, #000, transparent 90%);
520
+ }
521
+
522
+ .dc-workflow-node {
523
+ position: relative;
524
+ z-index: 1;
525
+ display: flex;
526
+ align-items: center;
527
+ gap: 12px;
528
+ width: 78%;
529
+ padding: 12px 14px;
530
+ background: #fff;
531
+ border: 1px solid #e7edef;
532
+ border-radius: 8px;
533
+ box-shadow: 0 5px 15px #193c4f10;
534
+ }
535
+
536
+ .dc-workflow-node b,
537
+ .dc-store-notification b,
538
+ .dc-extracted-card b {
539
+ display: block;
540
+ font-size: 9px;
541
+ font-weight: 500;
542
+ }
543
+
544
+ .dc-workflow-node small,
545
+ .dc-store-notification small {
546
+ display: block;
547
+ color: #98a8b3;
548
+ font-size: 7px;
549
+ }
550
+
551
+ .dc-app-icon {
552
+ display: grid;
553
+ place-items: center;
554
+ width: 31px;
555
+ height: 31px;
556
+ color: #fff;
557
+ border-radius: 7px;
558
+ }
559
+
560
+ .dc-app-icon svg {
561
+ width: 18px;
562
+ height: 18px;
563
+ }
564
+
565
+ .dc-app-icon--green {
566
+ background: #25886a;
567
+ }
568
+
569
+ .dc-app-icon--blue {
570
+ background: #377ed2;
571
+ }
572
+
573
+ .dc-automation-visual {
574
+ flex-direction: column;
575
+ gap: 0;
576
+ }
577
+
578
+ .dc-workflow-connector {
579
+ display: grid;
580
+ place-items: center;
581
+ color: #8aa5b7;
582
+ }
583
+
584
+ .dc-workflow-connector span {
585
+ display: block;
586
+ width: 1px;
587
+ height: 17px;
588
+ background: #cfdde6;
589
+ }
590
+
591
+ .dc-workflow-branch {
592
+ position: relative;
593
+ display: flex;
594
+ justify-content: space-between;
595
+ width: 44%;
596
+ height: 13px;
597
+ margin-top: 13px;
598
+ border-top: 1px solid #cfdde6;
599
+ }
600
+
601
+ .dc-workflow-branch::before {
602
+ position: absolute;
603
+ top: -13px;
604
+ left: 50%;
605
+ width: 1px;
606
+ height: 13px;
607
+ background: #cfdde6;
608
+ content: "";
609
+ }
610
+
611
+ .dc-workflow-branch > span {
612
+ width: 1px;
613
+ height: 20px;
614
+ background: #cfdde6;
615
+ }
616
+
617
+ .dc-workflow-outputs {
618
+ position: relative;
619
+ display: flex;
620
+ gap: 19px;
621
+ }
622
+
623
+ .dc-workflow-outputs > span {
624
+ display: flex;
625
+ align-items: center;
626
+ gap: 7px;
627
+ padding: 10px 15px;
628
+ background: #fff;
629
+ border: 1px solid #e7edef;
630
+ border-radius: 6px;
631
+ font-size: 8px;
632
+ }
633
+
634
+ .dc-automation-toast {
635
+ position: absolute;
636
+ right: 17px;
637
+ bottom: 13px;
638
+ display: flex;
639
+ align-items: center;
640
+ gap: 6px;
641
+ padding: 7px 10px;
642
+ background: #fff;
643
+ border: 1px solid #eaf0ed;
644
+ border-radius: 6px;
645
+ box-shadow: 0 5px 15px #193c4f10;
646
+ font-size: 7px;
647
+ transform: rotate(-3deg);
648
+ animation: dc-float 7s ease-in-out infinite;
649
+ }
650
+
651
+ .dc-store-visual {
652
+ background: #fdfefd;
653
+ }
654
+
655
+ .dc-store-browser {
656
+ width: 83%;
657
+ overflow: hidden;
658
+ background: #fff;
659
+ border: 1px solid #e4eaed;
660
+ border-radius: 9px;
661
+ box-shadow: 0 9px 25px #1b39400b;
662
+ transform: rotate(-3deg);
663
+ }
664
+
665
+ .dc-browser-bar,
666
+ .dc-preview-toolbar {
667
+ display: flex;
668
+ align-items: center;
669
+ justify-content: space-between;
670
+ color: #aab6bc;
671
+ border-bottom: 1px solid #eaf0f3;
672
+ }
673
+
674
+ .dc-browser-bar {
675
+ padding: 7px 10px;
676
+ background: #fafcfd;
677
+ }
678
+
679
+ .dc-browser-bar > span,
680
+ .dc-preview-toolbar > span {
681
+ display: flex;
682
+ gap: 3px;
683
+ }
684
+
685
+ .dc-browser-bar i,
686
+ .dc-preview-toolbar i {
687
+ display: block;
688
+ width: 4px;
689
+ height: 4px;
690
+ background: #dbe2e7;
691
+ border-radius: 50%;
692
+ }
693
+
694
+ .dc-browser-bar small,
695
+ .dc-preview-toolbar small {
696
+ font-size: 6px;
697
+ }
698
+
699
+ .dc-store-nav {
700
+ display: flex;
701
+ align-items: center;
702
+ justify-content: space-between;
703
+ padding: 11px 17px;
704
+ }
705
+
706
+ .dc-store-nav > b {
707
+ color: #3b514b;
708
+ font-family: Georgia, serif;
709
+ font-size: 16px;
710
+ }
711
+
712
+ .dc-store-nav > span,
713
+ .dc-store-content p,
714
+ .dc-store-bottom {
715
+ color: #8f9994;
716
+ font-size: 6px;
717
+ }
718
+
719
+ .dc-store-content {
720
+ display: grid;
721
+ grid-template-columns: 1fr 1fr;
722
+ align-items: center;
723
+ gap: 7px;
724
+ padding: 0 15px;
725
+ }
726
+
727
+ .dc-store-content small {
728
+ color: #9aab98;
729
+ font-size: 5px;
730
+ }
731
+
732
+ .dc-store-content strong {
733
+ display: block;
734
+ margin: 5px 0;
735
+ color: #425c4e;
736
+ font-family: Georgia, serif;
737
+ font-size: 24px;
738
+ font-weight: 400;
739
+ line-height: 1.15;
740
+ }
741
+
742
+ .dc-store-cta {
743
+ display: inline-flex;
744
+ align-items: center;
745
+ gap: 7px;
746
+ margin-top: 10px;
747
+ padding: 6px 9px;
748
+ color: #fff;
749
+ background: #4e6b5e;
750
+ border-radius: 3px;
751
+ font-size: 6px;
752
+ }
753
+
754
+ .dc-store-photo {
755
+ display: block;
756
+ aspect-ratio: 1;
757
+ width: 100%;
758
+ background:
759
+ radial-gradient(circle at 36% 38%, #6b4934 0 15%, transparent 16%),
760
+ radial-gradient(circle at 58% 54%, #b8895e 0 21%, transparent 22%),
761
+ linear-gradient(135deg, #eee1d1, #8b674e);
762
+ border-radius: 4px;
763
+ }
764
+
765
+ .dc-store-bottom {
766
+ display: flex;
767
+ justify-content: space-between;
768
+ padding: 10px 18px;
769
+ }
770
+
771
+ .dc-store-notification {
772
+ position: absolute;
773
+ right: 17px;
774
+ bottom: 13px;
775
+ display: flex;
776
+ align-items: center;
777
+ gap: 10px;
778
+ padding: 10px 13px;
779
+ background: #fff;
780
+ border: 1px solid #e4ece7;
781
+ border-radius: 8px;
782
+ box-shadow: 0 5px 16px #274e3e10;
783
+ transform: rotate(2deg);
784
+ animation: dc-float 8s ease-in-out infinite reverse;
785
+ }
786
+
787
+ .dc-dispatch-card,
788
+ .dc-report-card {
789
+ width: 85%;
790
+ padding: 17px;
791
+ background: #fff;
792
+ border: 1px solid #e6edf1;
793
+ border-radius: 8px;
794
+ box-shadow: 0 7px 25px #1c2f4106;
795
+ }
796
+
797
+ .dc-mini-panel-heading,
798
+ .dc-dispatch-detail,
799
+ .dc-delivery-labels,
800
+ .dc-report-days {
801
+ display: flex;
802
+ align-items: center;
803
+ justify-content: space-between;
804
+ }
805
+
806
+ .dc-mini-panel-heading {
807
+ color: var(--dc-ink);
808
+ font-size: 9px;
809
+ }
810
+
811
+ .dc-status-pill {
812
+ padding: 3px 6px;
813
+ color: #7e9b8e;
814
+ background: #edf7f0;
815
+ border-radius: 20px;
816
+ font-size: 6px;
817
+ }
818
+
819
+ .dc-delivery-line {
820
+ position: relative;
821
+ display: flex;
822
+ align-items: center;
823
+ justify-content: space-between;
824
+ margin: 26px 8px 7px;
825
+ }
826
+
827
+ .dc-delivery-line::before {
828
+ position: absolute;
829
+ right: 0;
830
+ left: 0;
831
+ height: 1px;
832
+ background: linear-gradient(90deg, #83b8cf 50%, #e5eaf0 50%);
833
+ content: "";
834
+ }
835
+
836
+ .dc-delivery-line > span {
837
+ position: relative;
838
+ display: grid;
839
+ place-items: center;
840
+ width: 37px;
841
+ height: 37px;
842
+ color: #bac6cf;
843
+ background: #f5f7f9;
844
+ border-radius: 9px;
845
+ box-shadow: 0 0 0 7px #fff;
846
+ }
847
+
848
+ .dc-delivery-line > span.done {
849
+ color: #7aa6c3;
850
+ background: #eaf3f9;
851
+ }
852
+
853
+ .dc-delivery-labels,
854
+ .dc-dispatch-detail {
855
+ color: #8c9aa6;
856
+ font-size: 7px;
857
+ }
858
+
859
+ .dc-dispatch-detail {
860
+ margin-top: 22px;
861
+ padding-top: 10px;
862
+ border-top: 1px solid #edf2f6;
863
+ }
864
+
865
+ .dc-dispatch-detail > span {
866
+ display: flex;
867
+ align-items: center;
868
+ gap: 7px;
869
+ }
870
+
871
+ .dc-report-total {
872
+ display: flex;
873
+ align-items: baseline;
874
+ gap: 7px;
875
+ margin-top: 15px;
876
+ }
877
+
878
+ .dc-report-total > strong {
879
+ font-size: 25px;
880
+ font-weight: 500;
881
+ }
882
+
883
+ .dc-report-total > span,
884
+ .dc-report-days {
885
+ color: #9ba9b4;
886
+ font-size: 7px;
887
+ }
888
+
889
+ .dc-report-total > small {
890
+ margin-left: auto;
891
+ color: #74a68a;
892
+ font-size: 6px;
893
+ }
894
+
895
+ .dc-report-bars {
896
+ display: flex;
897
+ align-items: flex-end;
898
+ justify-content: space-between;
899
+ gap: 10px;
900
+ height: 79px;
901
+ margin-top: 7px;
902
+ background: repeating-linear-gradient(0deg, transparent, transparent 24px, #f4f6f8 24px, #f4f6f8 25px);
903
+ border-bottom: 1px solid #e9eff3;
904
+ }
905
+
906
+ .dc-report-bars > span {
907
+ flex: 1;
908
+ max-width: 23px;
909
+ background: #c2daec;
910
+ border-radius: 4px 4px 0 0;
911
+ animation: dc-grow 0.8s var(--dc-ease-out) both;
912
+ }
913
+
914
+ .dc-report-bars > span:nth-child(2n) {
915
+ background: #9bbfd9;
916
+ }
917
+
918
+ .dc-ai-path {
919
+ position: relative;
920
+ display: flex;
921
+ align-items: center;
922
+ justify-content: center;
923
+ width: 100%;
924
+ }
925
+
926
+ .dc-ai-path > span {
927
+ display: grid;
928
+ place-items: center;
929
+ width: 43px;
930
+ height: 43px;
931
+ color: #93aabc;
932
+ background: #f3f6fa;
933
+ border: 1px solid #e7edf2;
934
+ border-radius: 9px;
935
+ }
936
+
937
+ .dc-ai-path > i {
938
+ display: block;
939
+ width: 23px;
940
+ height: 1px;
941
+ background: #d8e4ec;
942
+ }
943
+
944
+ .dc-ai-path > .dc-ai-center {
945
+ width: 68px;
946
+ height: 68px;
947
+ color: #658ba9;
948
+ background: #fff;
949
+ border: 5px solid #edf3f8;
950
+ border-radius: 15px;
951
+ box-shadow: 0 7px 20px #1c2f4108;
952
+ }
953
+
954
+ .dc-extracted-card {
955
+ position: relative;
956
+ width: 80%;
957
+ margin-top: 23px;
958
+ padding: 11px;
959
+ background: #fff;
960
+ border: 1px solid #e6edf2;
961
+ border-radius: 7px;
962
+ box-shadow: 0 5px 15px #1c2f4105;
963
+ }
964
+
965
+ .dc-extracted-card > div {
966
+ display: flex;
967
+ align-items: center;
968
+ gap: 7px;
969
+ color: #6d8596;
970
+ }
971
+
972
+ .dc-status-dot {
973
+ width: 7px;
974
+ height: 7px;
975
+ margin-left: auto;
976
+ background: #73aa8c;
977
+ border-radius: 50%;
978
+ }
979
+
980
+ .dc-extracted-card > p {
981
+ display: flex;
982
+ justify-content: space-between;
983
+ margin: 9px 0 0;
984
+ color: #99a9b5;
985
+ font-size: 6px;
986
+ }
987
+
988
+ .dc-extracted-card > p > span:last-child {
989
+ display: inline-flex;
990
+ align-items: center;
991
+ color: #73aa8c;
992
+ }
993
+
994
+ .dc-product-card {
995
+ overflow: hidden;
996
+ background: #fff;
997
+ border: 1px solid var(--dc-line);
998
+ border-radius: 14px;
999
+ transition: box-shadow 0.3s;
1000
+ }
1001
+
1002
+ .dc-product-card:hover {
1003
+ box-shadow: 0 12px 28px #1c2f4109;
1004
+ }
1005
+
1006
+ .dc-product-preview-trigger {
1007
+ position: relative;
1008
+ display: block;
1009
+ width: 100%;
1010
+ padding: 0;
1011
+ color: inherit;
1012
+ text-align: left;
1013
+ background: none;
1014
+ border: 0;
1015
+ }
1016
+
1017
+ button.dc-product-preview-trigger {
1018
+ cursor: pointer;
1019
+ }
1020
+
1021
+ .dc-product-preview {
1022
+ position: relative;
1023
+ display: flex;
1024
+ align-items: center;
1025
+ justify-content: center;
1026
+ height: 258px;
1027
+ padding: 27px;
1028
+ overflow: hidden;
1029
+ background: #eaf2f8;
1030
+ }
1031
+
1032
+ .dc-product-preview--inventory {
1033
+ background: #edf4ef;
1034
+ }
1035
+
1036
+ .dc-product-preview--school {
1037
+ background: #f0eef7;
1038
+ }
1039
+
1040
+ .dc-preview-window {
1041
+ position: relative;
1042
+ width: 100%;
1043
+ max-width: 360px;
1044
+ background: #fff;
1045
+ border: 1px solid #e2eaf0;
1046
+ border-radius: 8px;
1047
+ box-shadow: 0 8px 20px #223e5012;
1048
+ transform: rotate(-3deg);
1049
+ transition: transform 0.4s var(--dc-ease-out);
1050
+ }
1051
+
1052
+ .dc-product-preview--inventory .dc-preview-window {
1053
+ transform: rotate(2deg);
1054
+ }
1055
+
1056
+ .dc-product-preview-trigger:hover .dc-preview-window {
1057
+ transform: rotate(0) translateY(-3px);
1058
+ }
1059
+
1060
+ .dc-preview-toolbar {
1061
+ padding: 7px 10px;
1062
+ }
1063
+
1064
+ .dc-task-preview-content,
1065
+ .dc-inventory-preview-content {
1066
+ padding: 13px;
1067
+ }
1068
+
1069
+ .dc-preview-heading {
1070
+ display: flex;
1071
+ align-items: center;
1072
+ justify-content: space-between;
1073
+ gap: 5px;
1074
+ font-size: 10px;
1075
+ }
1076
+
1077
+ .dc-preview-heading > b {
1078
+ font-weight: 500;
1079
+ }
1080
+
1081
+ .dc-preview-heading > span:not(.dc-preview-avatar) {
1082
+ display: flex;
1083
+ align-items: center;
1084
+ gap: 3px;
1085
+ padding: 3px 5px;
1086
+ color: #90a3b0;
1087
+ background: #eff4f8;
1088
+ border-radius: 3px;
1089
+ font-size: 6px;
1090
+ }
1091
+
1092
+ .dc-preview-tabs {
1093
+ display: flex;
1094
+ gap: 16px;
1095
+ margin-top: 14px;
1096
+ padding-bottom: 6px;
1097
+ color: #9babb6;
1098
+ border-bottom: 1px solid #edf2f6;
1099
+ font-size: 6px;
1100
+ }
1101
+
1102
+ .dc-preview-tabs > b {
1103
+ color: #63859f;
1104
+ font-weight: 500;
1105
+ }
1106
+
1107
+ .dc-preview-task {
1108
+ display: flex;
1109
+ align-items: center;
1110
+ gap: 7px;
1111
+ padding: 9px 0;
1112
+ border-bottom: 1px solid #f2f5f7;
1113
+ font-size: 7px;
1114
+ }
1115
+
1116
+ .dc-preview-task > span:nth-child(2) {
1117
+ flex: 1;
1118
+ }
1119
+
1120
+ .dc-preview-task small {
1121
+ display: block;
1122
+ margin-top: 2px;
1123
+ color: #a5b0b9;
1124
+ font-size: 5px;
1125
+ }
1126
+
1127
+ .dc-task-check {
1128
+ display: grid;
1129
+ place-items: center;
1130
+ width: 11px;
1131
+ height: 11px;
1132
+ border: 1px solid #dae4eb;
1133
+ border-radius: 3px;
1134
+ }
1135
+
1136
+ .dc-task-check.checked {
1137
+ color: #70a58b;
1138
+ background: #e3f1e9;
1139
+ border-color: #d5e9df;
1140
+ }
1141
+
1142
+ .dc-preview-avatar {
1143
+ display: inline-grid;
1144
+ place-items: center;
1145
+ width: 18px;
1146
+ height: 18px;
1147
+ color: #879dc7;
1148
+ background: #e8edf9;
1149
+ border-radius: 50%;
1150
+ font-size: 5px;
1151
+ }
1152
+
1153
+ .dc-avatar-1 {
1154
+ color: #bf9f88;
1155
+ background: #f8e9de;
1156
+ }
1157
+
1158
+ .dc-avatar-2 {
1159
+ color: #92b7a0;
1160
+ background: #e8f3eb;
1161
+ }
1162
+
1163
+ .dc-preview-summary {
1164
+ display: flex;
1165
+ align-items: center;
1166
+ justify-content: space-between;
1167
+ margin-top: 11px;
1168
+ color: #94a6b2;
1169
+ font-size: 6px;
1170
+ }
1171
+
1172
+ .dc-preview-summary > span {
1173
+ display: flex;
1174
+ align-items: center;
1175
+ gap: 4px;
1176
+ }
1177
+
1178
+ .dc-preview-summary i {
1179
+ width: 4px;
1180
+ height: 4px;
1181
+ background: #87b69e;
1182
+ border-radius: 50%;
1183
+ }
1184
+
1185
+ .dc-inventory-counts {
1186
+ display: grid;
1187
+ grid-template-columns: repeat(3, 1fr);
1188
+ gap: 7px;
1189
+ margin-top: 16px;
1190
+ }
1191
+
1192
+ .dc-inventory-counts > span {
1193
+ display: flex;
1194
+ flex-wrap: wrap;
1195
+ align-items: center;
1196
+ gap: 4px;
1197
+ padding: 7px;
1198
+ color: #89a895;
1199
+ background: #f5f9f6;
1200
+ border: 1px solid #eef3ef;
1201
+ border-radius: 4px;
1202
+ }
1203
+
1204
+ .dc-inventory-counts small {
1205
+ font-size: 5px;
1206
+ }
1207
+
1208
+ .dc-inventory-counts b {
1209
+ width: 100%;
1210
+ color: #5f7d6c;
1211
+ font-size: 19px;
1212
+ font-weight: 500;
1213
+ }
1214
+
1215
+ .dc-order-list {
1216
+ margin-top: 13px;
1217
+ }
1218
+
1219
+ .dc-order-list > div {
1220
+ display: flex;
1221
+ align-items: center;
1222
+ gap: 7px;
1223
+ padding: 7px 0;
1224
+ border-bottom: 1px solid #f1f5f2;
1225
+ font-size: 6px;
1226
+ }
1227
+
1228
+ .dc-order-list b {
1229
+ color: #809688;
1230
+ font-weight: 500;
1231
+ }
1232
+
1233
+ .dc-order-box {
1234
+ display: grid;
1235
+ place-items: center;
1236
+ width: 19px;
1237
+ height: 19px;
1238
+ color: #9db3a2;
1239
+ background: #f0f5f1;
1240
+ border-radius: 3px;
1241
+ }
1242
+
1243
+ .dc-order-status {
1244
+ margin-left: auto;
1245
+ padding: 2px 4px;
1246
+ color: #8aa9bc;
1247
+ background: #edf5fa;
1248
+ border-radius: 3px;
1249
+ font-size: 5px;
1250
+ }
1251
+
1252
+ .dc-order-status-1 {
1253
+ color: #c0aa8a;
1254
+ background: #fcf3e8;
1255
+ }
1256
+
1257
+ .dc-order-status-2 {
1258
+ color: #87ac92;
1259
+ background: #edf7f0;
1260
+ }
1261
+
1262
+ .dc-school-preview-content {
1263
+ display: flex;
1264
+ min-height: 180px;
1265
+ }
1266
+
1267
+ .dc-school-preview-sidebar {
1268
+ display: flex;
1269
+ flex-direction: column;
1270
+ gap: 20px;
1271
+ align-items: center;
1272
+ width: 35px;
1273
+ padding: 13px 0;
1274
+ color: #a49bb9;
1275
+ background: #fcfbfd;
1276
+ border-right: 1px solid #f0eef5;
1277
+ }
1278
+
1279
+ .dc-school-preview-main {
1280
+ flex: 1;
1281
+ padding: 13px 11px;
1282
+ }
1283
+
1284
+ .dc-school-stat {
1285
+ display: flex;
1286
+ align-items: center;
1287
+ gap: 7px;
1288
+ margin: 14px 0;
1289
+ padding: 10px;
1290
+ color: #a094b6;
1291
+ background: #f7f5fc;
1292
+ border: 1px solid #efecf6;
1293
+ border-radius: 6px;
1294
+ }
1295
+
1296
+ .dc-school-stat > span {
1297
+ display: grid;
1298
+ place-items: center;
1299
+ padding: 5px;
1300
+ background: #eee8f7;
1301
+ border-radius: 5px;
1302
+ }
1303
+
1304
+ .dc-school-stat small {
1305
+ display: block;
1306
+ font-size: 5px;
1307
+ }
1308
+
1309
+ .dc-school-stat b {
1310
+ color: #887899;
1311
+ font-size: 13px;
1312
+ font-weight: 500;
1313
+ }
1314
+
1315
+ .dc-school-stat em {
1316
+ font-size: 5px;
1317
+ font-style: normal;
1318
+ }
1319
+
1320
+ .dc-school-stat strong {
1321
+ margin-left: auto;
1322
+ color: #9fa89c;
1323
+ font-size: 10px;
1324
+ font-weight: 500;
1325
+ }
1326
+
1327
+ .dc-class-title {
1328
+ color: #94879f;
1329
+ font-size: 7px;
1330
+ font-weight: 500;
1331
+ }
1332
+
1333
+ .dc-class-row {
1334
+ display: flex;
1335
+ align-items: center;
1336
+ gap: 6px;
1337
+ padding: 7px 0;
1338
+ color: #a193ac;
1339
+ border-bottom: 1px solid #f3f0f7;
1340
+ font-size: 6px;
1341
+ }
1342
+
1343
+ .dc-class-row > svg {
1344
+ margin-left: auto;
1345
+ }
1346
+
1347
+ .dc-class-dot {
1348
+ width: 5px;
1349
+ height: 5px;
1350
+ background: #c6b4de;
1351
+ border-radius: 2px;
1352
+ }
1353
+
1354
+ .dc-class-dot-1 {
1355
+ background: #a6c8b6;
1356
+ }
1357
+
1358
+ .dc-class-dot-2 {
1359
+ background: #e2c8ab;
1360
+ }
1361
+
1362
+ .dc-product-preview--large {
1363
+ height: 270px;
1364
+ }
1365
+
1366
+ .dc-product-preview--large .dc-preview-window {
1367
+ max-width: 330px;
1368
+ }
1369
+
1370
+ .dc-preview-open {
1371
+ position: absolute;
1372
+ right: 14px;
1373
+ bottom: 14px;
1374
+ display: grid;
1375
+ place-items: center;
1376
+ width: 31px;
1377
+ height: 31px;
1378
+ background: #fff;
1379
+ border-radius: 50%;
1380
+ box-shadow: 0 2px 4px #1c2f4110;
1381
+ transition: transform 0.2s;
1382
+ }
1383
+
1384
+ .dc-product-preview-trigger:hover .dc-preview-open {
1385
+ transform: rotate(45deg);
1386
+ }
1387
+
1388
+ .dc-product-card-body {
1389
+ padding: 25px 23px 16px;
1390
+ }
1391
+
1392
+ .dc-product-category {
1393
+ display: inline-block;
1394
+ margin-bottom: 11px;
1395
+ padding: 2px 8px;
1396
+ color: #6b7b86;
1397
+ border: 1px solid #e6ebef;
1398
+ border-radius: 5px;
1399
+ font-size: 10px;
1400
+ }
1401
+
1402
+ .dc-product-card h3 {
1403
+ font-size: 18px;
1404
+ }
1405
+
1406
+ .dc-product-card p {
1407
+ min-height: 69px;
1408
+ margin-top: 10px;
1409
+ }
1410
+
1411
+ .dc-product-card-bottom {
1412
+ display: flex;
1413
+ align-items: center;
1414
+ justify-content: space-between;
1415
+ gap: 8px;
1416
+ margin-top: 19px;
1417
+ padding-top: 12px;
1418
+ border-top: 1px solid var(--dc-line);
1419
+ }
1420
+
1421
+ .dc-product-card-bottom > span {
1422
+ color: #7c8892;
1423
+ font-size: 10px;
1424
+ }
1425
+
1426
+ @keyframes dc-float {
1427
+ 0%,
1428
+ 100% {
1429
+ translate: 0 0;
1430
+ }
1431
+ 50% {
1432
+ translate: 0 -8px;
1433
+ }
1434
+ }
1435
+
1436
+ @keyframes dc-grow {
1437
+ from {
1438
+ scale: 1 0.15;
1439
+ transform-origin: bottom;
1440
+ }
1441
+ }
1442
+
1443
+ @media (max-width: 640px) {
1444
+ .dc-section-heading {
1445
+ display: block;
1446
+ }
1447
+
1448
+ .dc-section-heading h2 {
1449
+ font-size: 32px;
1450
+ }
1451
+
1452
+ .dc-section-heading-aside {
1453
+ margin-top: 20px;
1454
+ }
1455
+
1456
+ .dc-service-visual,
1457
+ .dc-product-preview {
1458
+ min-height: 240px;
1459
+ }
1460
+
1461
+ .dc-workflow-node {
1462
+ width: 86%;
1463
+ }
1464
+
1465
+ .dc-workflow-outputs {
1466
+ gap: 10px;
1467
+ }
1468
+
1469
+ .dc-workflow-outputs > span {
1470
+ padding: 9px 12px;
1471
+ font-size: 7px;
1472
+ }
1473
+
1474
+ .dc-product-card-body {
1475
+ padding: 22px 18px 16px;
1476
+ }
1477
+ }
1478
+
1479
+ @media (prefers-reduced-motion: reduce) {
1480
+ .dc-button-label > span,
1481
+ .dc-button > svg,
1482
+ .dc-service-card,
1483
+ .dc-preview-window,
1484
+ .dc-preview-open,
1485
+ .dc-report-bars > span,
1486
+ .dc-automation-toast,
1487
+ .dc-store-notification {
1488
+ animation: none;
1489
+ transition: none;
1490
+ }
1491
+
1492
+ .dc-button:hover .dc-button-label > span:first-child,
1493
+ .dc-button .dc-button-label > span + span {
1494
+ transform: none;
1495
+ }
1496
+ }