@nice2dev/ui-erp 1.0.11 → 1.0.14

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/dist/style.css CHANGED
@@ -8,22 +8,22 @@
8
8
  ============================================================================= */
9
9
 
10
10
  :root {
11
- --erp-primary: #6366f1;
12
- --erp-primary-dark: #4f46e5;
13
- --erp-primary-light: #818cf8;
14
- --erp-success: #22c55e;
15
- --erp-warning: #f59e0b;
16
- --erp-error: #ef4444;
17
- --erp-info: #3b82f6;
18
- --erp-bg: #0f172a;
19
- --erp-surface: #1e293b;
20
- --erp-surface-alt: #334155;
21
- --erp-border: #475569;
22
- --erp-text: #f1f5f9;
23
- --erp-text-muted: #94a3b8;
11
+ --erp-primary: var(--nice-primary, #6366f1);
12
+ --erp-primary-dark: var(--nice-primary-dark, #4f46e5);
13
+ --erp-primary-light: var(--nice-primary-light, #818cf8);
14
+ --erp-success: var(--nice-success, #22c55e);
15
+ --erp-warning: var(--nice-warning, #f59e0b);
16
+ --erp-error: var(--nice-danger, #ef4444);
17
+ --erp-info: var(--nice-info, #3b82f6);
18
+ --erp-bg: var(--nice-bg, #0f172a);
19
+ --erp-surface: var(--nice-bg-secondary, #1e293b);
20
+ --erp-surface-alt: var(--nice-bg-tertiary, #334155);
21
+ --erp-border: var(--nice-border, #475569);
22
+ --erp-text: var(--nice-text, #f1f5f9);
23
+ --erp-text-muted: var(--nice-text-muted, #94a3b8);
24
24
  --erp-radius: 8px;
25
25
  --erp-radius-sm: 4px;
26
- --erp-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.3);
26
+ --erp-shadow: 0 4px 6px -1px var(--nice-overlay-30, rgba(0, 0, 0, 0.3));
27
27
  --erp-transition: 150ms ease;
28
28
  }
29
29
 
@@ -45,7 +45,7 @@
45
45
  display: flex;
46
46
  justify-content: space-between;
47
47
  align-items: center;
48
- padding: 12px 20px;
48
+ padding: var(--nice-space-3, 12px) var(--nice-space-5, 20px);
49
49
  background: var(--erp-surface);
50
50
  border-bottom: 1px solid var(--erp-border);
51
51
  }
@@ -59,12 +59,12 @@
59
59
  .time-unit-selector,
60
60
  .view-selector {
61
61
  display: flex;
62
- gap: 4px;
62
+ gap: var(--nice-space-1, 4px);
63
63
  }
64
64
 
65
65
  .unit-button,
66
66
  .view-button {
67
- padding: 6px 12px;
67
+ padding: var(--nice-space-1-5, 6px) var(--nice-space-3, 12px);
68
68
  border: 1px solid var(--erp-border);
69
69
  background: transparent;
70
70
  color: var(--erp-text);
@@ -87,7 +87,7 @@
87
87
 
88
88
  .add-task-button,
89
89
  .add-button {
90
- padding: 8px 16px;
90
+ padding: var(--nice-space-2, 8px) var(--nice-space-4, 16px);
91
91
  border: none;
92
92
  background: var(--erp-primary);
93
93
  color: white;
@@ -122,7 +122,7 @@
122
122
  .task-list__header {
123
123
  display: flex;
124
124
  align-items: center;
125
- padding: 12px;
125
+ padding: var(--nice-space-3, 12px);
126
126
  background: var(--erp-surface-alt);
127
127
  border-bottom: 1px solid var(--erp-border);
128
128
  font-size: 0.75rem;
@@ -142,8 +142,8 @@
142
142
  .task-row {
143
143
  display: flex;
144
144
  align-items: center;
145
- gap: 8px;
146
- padding: 8px 12px;
145
+ gap: var(--nice-space-2, 8px);
146
+ padding: var(--nice-space-2, 8px) var(--nice-space-3, 12px);
147
147
  border-bottom: 1px solid var(--erp-border);
148
148
  cursor: pointer;
149
149
  transition: background var(--erp-transition);
@@ -154,7 +154,7 @@
154
154
  }
155
155
 
156
156
  .task-row--selected {
157
- background: rgba(99, 102, 241, 0.1);
157
+ background: var(--nice-accent-tint-10, rgba(99, 102, 241, 0.1));
158
158
  }
159
159
 
160
160
  .collapse-button {
@@ -170,7 +170,7 @@
170
170
  .task-icon {
171
171
  width: 10px;
172
172
  height: 10px;
173
- border-radius: 50%;
173
+ border-radius: var(--nice-radius-full, 50%);
174
174
  flex-shrink: 0;
175
175
  }
176
176
 
@@ -220,7 +220,7 @@
220
220
 
221
221
  .time-column {
222
222
  flex-shrink: 0;
223
- padding: 12px 4px;
223
+ padding: var(--nice-space-3, 12px) var(--nice-space-1, 4px);
224
224
  text-align: center;
225
225
  font-size: 0.75rem;
226
226
  color: var(--erp-text-muted);
@@ -264,11 +264,11 @@
264
264
  top: -24px;
265
265
  left: 50%;
266
266
  transform: translateX(-50%);
267
- padding: 2px 6px;
267
+ padding: var(--nice-space-0-5, 2px) var(--nice-space-1-5, 6px);
268
268
  background: var(--erp-error);
269
269
  color: white;
270
270
  font-size: 0.625rem;
271
- border-radius: 2px;
271
+ border-radius: var(--nice-radius-sm, 2px);
272
272
  white-space: nowrap;
273
273
  }
274
274
 
@@ -290,7 +290,7 @@
290
290
  }
291
291
 
292
292
  .task-bar:hover {
293
- box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.3);
293
+ box-shadow: 0 0 0 2px var(--nice-overlay-light-30, rgba(255, 255, 255, 0.3));
294
294
  }
295
295
 
296
296
  .task-bar--dragging {
@@ -309,7 +309,7 @@
309
309
  width: 16px;
310
310
  height: 16px;
311
311
  transform: rotate(45deg);
312
- border-radius: 2px;
312
+ border-radius: var(--nice-radius-sm, 2px);
313
313
  }
314
314
 
315
315
  .progress-fill {
@@ -317,7 +317,7 @@
317
317
  top: 0;
318
318
  left: 0;
319
319
  height: 100%;
320
- background: rgba(0, 0, 0, 0.3);
320
+ background: var(--nice-overlay-30, rgba(0, 0, 0, 0.3));
321
321
  pointer-events: none;
322
322
  }
323
323
 
@@ -340,7 +340,7 @@
340
340
  font-size: 0.75rem;
341
341
  color: white;
342
342
  white-space: nowrap;
343
- text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
343
+ text-shadow: 0 1px 2px var(--nice-overlay-50, rgba(0, 0, 0, 0.5));
344
344
  }
345
345
 
346
346
  .task-tooltip {
@@ -348,7 +348,7 @@
348
348
  bottom: 100%;
349
349
  left: 50%;
350
350
  transform: translateX(-50%);
351
- padding: 8px 12px;
351
+ padding: var(--nice-space-2, 8px) var(--nice-space-3, 12px);
352
352
  background: var(--erp-surface);
353
353
  border: 1px solid var(--erp-border);
354
354
  border-radius: var(--erp-radius);
@@ -363,7 +363,7 @@
363
363
  .tooltip-assignees {
364
364
  font-size: 0.75rem;
365
365
  color: var(--erp-text-muted);
366
- margin-top: 4px;
366
+ margin-top: var(--nice-space-1, 4px);
367
367
  }
368
368
 
369
369
  .dependencies-layer {
@@ -393,7 +393,7 @@
393
393
  display: flex;
394
394
  justify-content: space-between;
395
395
  align-items: center;
396
- padding: 12px 20px;
396
+ padding: var(--nice-space-3, 12px) var(--nice-space-5, 20px);
397
397
  background: var(--erp-surface);
398
398
  border-bottom: 1px solid var(--erp-border);
399
399
  }
@@ -405,7 +405,7 @@
405
405
  }
406
406
 
407
407
  .date-range {
408
- margin-left: 16px;
408
+ margin-left: var(--nice-space-4, 16px);
409
409
  font-size: 0.875rem;
410
410
  color: var(--erp-text-muted);
411
411
  }
@@ -413,9 +413,9 @@
413
413
  .conflicts-badge {
414
414
  display: flex;
415
415
  align-items: center;
416
- gap: 6px;
417
- padding: 6px 12px;
418
- background: rgba(239, 68, 68, 0.1);
416
+ gap: var(--nice-space-1-5, 6px);
417
+ padding: var(--nice-space-1-5, 6px) var(--nice-space-3, 12px);
418
+ background: var(--nice-danger-tint-10, rgba(239, 68, 68, 0.1));
419
419
  border: 1px solid var(--erp-error);
420
420
  border-radius: var(--erp-radius);
421
421
  color: var(--erp-error);
@@ -424,8 +424,8 @@
424
424
 
425
425
  .allocation__legend {
426
426
  display: flex;
427
- gap: 20px;
428
- padding: 8px 20px;
427
+ gap: var(--nice-space-5, 20px);
428
+ padding: var(--nice-space-2, 8px) var(--nice-space-5, 20px);
429
429
  background: var(--erp-surface-alt);
430
430
  border-bottom: 1px solid var(--erp-border);
431
431
  font-size: 0.75rem;
@@ -435,13 +435,13 @@
435
435
  .legend-item {
436
436
  display: flex;
437
437
  align-items: center;
438
- gap: 6px;
438
+ gap: var(--nice-space-1-5, 6px);
439
439
  }
440
440
 
441
441
  .legend-color {
442
442
  width: 16px;
443
443
  height: 16px;
444
- border-radius: 2px;
444
+ border-radius: var(--nice-radius-sm, 2px);
445
445
  }
446
446
 
447
447
  .allocation__grid {
@@ -463,7 +463,7 @@
463
463
  .resource-header {
464
464
  width: 280px;
465
465
  flex-shrink: 0;
466
- padding: 12px 16px;
466
+ padding: var(--nice-space-3, 12px) var(--nice-space-4, 16px);
467
467
  font-size: 0.75rem;
468
468
  font-weight: 600;
469
469
  color: var(--erp-text-muted);
@@ -478,7 +478,7 @@
478
478
 
479
479
  .time-header {
480
480
  min-width: 80px;
481
- padding: 12px 8px;
481
+ padding: var(--nice-space-3, 12px) var(--nice-space-2, 8px);
482
482
  text-align: center;
483
483
  font-size: 0.75rem;
484
484
  color: var(--erp-text-muted);
@@ -500,8 +500,8 @@
500
500
  flex-shrink: 0;
501
501
  display: flex;
502
502
  align-items: center;
503
- gap: 8px;
504
- padding: 12px 16px;
503
+ gap: var(--nice-space-2, 8px);
504
+ padding: var(--nice-space-3, 12px) var(--nice-space-4, 16px);
505
505
  background: var(--erp-surface);
506
506
  border-right: 1px solid var(--erp-border);
507
507
  cursor: pointer;
@@ -556,7 +556,7 @@
556
556
 
557
557
  .time-cell {
558
558
  min-width: 80px;
559
- padding: 8px;
559
+ padding: var(--nice-space-2, 8px);
560
560
  border-right: 1px solid var(--erp-border);
561
561
  cursor: pointer;
562
562
  transition: all var(--erp-transition);
@@ -565,22 +565,22 @@
565
565
  flex-direction: column;
566
566
  align-items: center;
567
567
  justify-content: center;
568
- gap: 4px;
568
+ gap: var(--nice-space-1, 4px);
569
569
  }
570
570
 
571
571
  .time-cell:hover {
572
- background-color: rgba(99, 102, 241, 0.1) !important;
572
+ background-color: var(--nice-accent-tint-10, rgba(99, 102, 241, 0.1)) !important;
573
573
  }
574
574
 
575
575
  .allocation-indicators {
576
576
  display: flex;
577
- gap: 2px;
577
+ gap: var(--nice-space-0-5, 2px);
578
578
  }
579
579
 
580
580
  .allocation-dot {
581
581
  width: 8px;
582
582
  height: 8px;
583
- border-radius: 50%;
583
+ border-radius: var(--nice-radius-full, 50%);
584
584
  background: var(--erp-primary);
585
585
  cursor: pointer;
586
586
  }
@@ -605,7 +605,7 @@
605
605
 
606
606
  .expanded-allocations {
607
607
  width: 100%;
608
- padding: 8px 8px 8px 288px;
608
+ padding: var(--nice-space-2, 8px) var(--nice-space-2, 8px) var(--nice-space-2, 8px) 288px;
609
609
  position: relative;
610
610
  height: 40px;
611
611
  background: var(--erp-surface);
@@ -619,7 +619,7 @@
619
619
  background: var(--erp-primary);
620
620
  display: flex;
621
621
  align-items: center;
622
- padding: 0 8px;
622
+ padding: 0 var(--nice-space-2, 8px);
623
623
  cursor: pointer;
624
624
  transition: all var(--erp-transition);
625
625
  }
@@ -644,10 +644,10 @@
644
644
 
645
645
  .delete-allocation {
646
646
  margin-left: auto;
647
- padding: 0 4px;
647
+ padding: 0 var(--nice-space-1, 4px);
648
648
  border: none;
649
649
  background: transparent;
650
- color: rgba(255, 255, 255, 0.7);
650
+ color: var(--nice-overlay-light-70, rgba(255, 255, 255, 0.7));
651
651
  cursor: pointer;
652
652
  }
653
653
 
@@ -673,8 +673,8 @@
673
673
  display: flex;
674
674
  justify-content: space-between;
675
675
  align-items: center;
676
- gap: 16px;
677
- padding: 12px 20px;
676
+ gap: var(--nice-space-4, 16px);
677
+ padding: var(--nice-space-3, 12px) var(--nice-space-5, 20px);
678
678
  background: var(--erp-surface);
679
679
  border-bottom: 1px solid var(--erp-border);
680
680
  flex-wrap: wrap;
@@ -683,14 +683,14 @@
683
683
  .toolbar__left {
684
684
  display: flex;
685
685
  align-items: center;
686
- gap: 12px;
686
+ gap: var(--nice-space-3, 12px);
687
687
  flex-wrap: wrap;
688
688
  }
689
689
 
690
690
  .toolbar__right {
691
691
  display: flex;
692
692
  align-items: center;
693
- gap: 12px;
693
+ gap: var(--nice-space-3, 12px);
694
694
  }
695
695
 
696
696
  .search-box {
@@ -699,7 +699,7 @@
699
699
 
700
700
  .search-box input {
701
701
  width: 240px;
702
- padding: 8px 12px 8px 36px;
702
+ padding: var(--nice-space-2, 8px) var(--nice-space-3, 12px) var(--nice-space-2, 8px) 36px;
703
703
  border: 1px solid var(--erp-border);
704
704
  border-radius: var(--erp-radius);
705
705
  background: var(--erp-surface-alt);
@@ -720,7 +720,7 @@
720
720
  }
721
721
 
722
722
  .toolbar__left select {
723
- padding: 8px 12px;
723
+ padding: var(--nice-space-2, 8px) var(--nice-space-3, 12px);
724
724
  border: 1px solid var(--erp-border);
725
725
  border-radius: var(--erp-radius);
726
726
  background: var(--erp-surface-alt);
@@ -731,7 +731,7 @@
731
731
  .filter-checkbox {
732
732
  display: flex;
733
733
  align-items: center;
734
- gap: 6px;
734
+ gap: var(--nice-space-1-5, 6px);
735
735
  font-size: 0.875rem;
736
736
  color: var(--erp-text-muted);
737
737
  cursor: pointer;
@@ -742,11 +742,11 @@
742
742
  gap: 0;
743
743
  background: var(--erp-surface);
744
744
  border-bottom: 1px solid var(--erp-border);
745
- padding: 0 20px;
745
+ padding: 0 var(--nice-space-5, 20px);
746
746
  }
747
747
 
748
748
  .tab {
749
- padding: 12px 20px;
749
+ padding: var(--nice-space-3, 12px) var(--nice-space-5, 20px);
750
750
  border: none;
751
751
  background: transparent;
752
752
  color: var(--erp-text-muted);
@@ -780,18 +780,18 @@
780
780
  justify-content: center;
781
781
  min-width: 18px;
782
782
  height: 18px;
783
- margin-left: 6px;
784
- padding: 0 6px;
783
+ margin-left: var(--nice-space-1-5, 6px);
784
+ padding: 0 var(--nice-space-1-5, 6px);
785
785
  background: var(--erp-error);
786
786
  color: white;
787
787
  font-size: 0.625rem;
788
788
  font-weight: 600;
789
- border-radius: 99px;
789
+ border-radius: var(--nice-radius-full, 99px);
790
790
  }
791
791
 
792
792
  .inventory__content {
793
793
  flex: 1;
794
- padding: 20px;
794
+ padding: var(--nice-space-5, 20px);
795
795
  overflow: auto;
796
796
  }
797
797
 
@@ -799,7 +799,7 @@
799
799
  .items-grid {
800
800
  display: grid;
801
801
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
802
- gap: 16px;
802
+ gap: var(--nice-space-4, 16px);
803
803
  }
804
804
 
805
805
  .item-card {
@@ -846,7 +846,7 @@
846
846
  }
847
847
 
848
848
  .item-info {
849
- padding: 12px;
849
+ padding: var(--nice-space-3, 12px);
850
850
  }
851
851
 
852
852
  .item-sku {
@@ -855,7 +855,7 @@
855
855
  }
856
856
 
857
857
  .item-name {
858
- margin: 4px 0;
858
+ margin: var(--nice-space-1, 4px) 0;
859
859
  font-size: 0.875rem;
860
860
  font-weight: 500;
861
861
  }
@@ -868,13 +868,13 @@
868
868
  .item-stock {
869
869
  display: flex;
870
870
  align-items: center;
871
- gap: 8px;
872
- padding: 8px 12px;
871
+ gap: var(--nice-space-2, 8px);
872
+ padding: var(--nice-space-2, 8px) var(--nice-space-3, 12px);
873
873
  border-top: 1px solid var(--erp-border);
874
874
  }
875
875
 
876
876
  .status-badge {
877
- padding: 2px 8px;
877
+ padding: var(--nice-space-0-5, 2px) var(--nice-space-2, 8px);
878
878
  border-radius: var(--erp-radius-sm);
879
879
  font-size: 0.625rem;
880
880
  font-weight: 500;
@@ -893,7 +893,7 @@
893
893
  }
894
894
 
895
895
  .item-value {
896
- padding: 8px 12px;
896
+ padding: var(--nice-space-2, 8px) var(--nice-space-3, 12px);
897
897
  border-top: 1px solid var(--erp-border);
898
898
  font-size: 0.875rem;
899
899
  font-weight: 600;
@@ -913,7 +913,7 @@
913
913
  }
914
914
 
915
915
  .items-table th {
916
- padding: 12px;
916
+ padding: var(--nice-space-3, 12px);
917
917
  text-align: left;
918
918
  font-size: 0.75rem;
919
919
  font-weight: 600;
@@ -928,7 +928,7 @@
928
928
  }
929
929
 
930
930
  .items-table td {
931
- padding: 12px;
931
+ padding: var(--nice-space-3, 12px);
932
932
  font-size: 0.875rem;
933
933
  border-bottom: 1px solid var(--erp-border);
934
934
  }
@@ -938,7 +938,7 @@
938
938
  }
939
939
 
940
940
  .row--selected {
941
- background: rgba(99, 102, 241, 0.1);
941
+ background: var(--nice-accent-tint-10, rgba(99, 102, 241, 0.1));
942
942
  }
943
943
 
944
944
  .sku-cell {
@@ -952,11 +952,11 @@
952
952
 
953
953
  .actions-cell {
954
954
  display: flex;
955
- gap: 4px;
955
+ gap: var(--nice-space-1, 4px);
956
956
  }
957
957
 
958
958
  .action-btn {
959
- padding: 4px 8px;
959
+ padding: var(--nice-space-1, 4px) var(--nice-space-2, 8px);
960
960
  border: none;
961
961
  background: transparent;
962
962
  cursor: pointer;
@@ -969,15 +969,15 @@
969
969
  }
970
970
 
971
971
  .action-btn--danger:hover {
972
- background: rgba(239, 68, 68, 0.2);
972
+ background: var(--nice-danger-tint-20, rgba(239, 68, 68, 0.2));
973
973
  }
974
974
 
975
975
  /* Kanban View */
976
976
  .items-kanban {
977
977
  display: flex;
978
- gap: 16px;
978
+ gap: var(--nice-space-4, 16px);
979
979
  overflow-x: auto;
980
- padding-bottom: 16px;
980
+ padding-bottom: var(--nice-space-4, 16px);
981
981
  }
982
982
 
983
983
  .kanban-column {
@@ -992,15 +992,15 @@
992
992
  .column-header {
993
993
  display: flex;
994
994
  align-items: center;
995
- gap: 8px;
996
- padding: 12px;
995
+ gap: var(--nice-space-2, 8px);
996
+ padding: var(--nice-space-3, 12px);
997
997
  border-bottom: 2px solid;
998
998
  }
999
999
 
1000
1000
  .status-dot {
1001
1001
  width: 10px;
1002
1002
  height: 10px;
1003
- border-radius: 50%;
1003
+ border-radius: var(--nice-radius-full, 50%);
1004
1004
  }
1005
1005
 
1006
1006
  .column-title {
@@ -1011,24 +1011,24 @@
1011
1011
  }
1012
1012
 
1013
1013
  .column-count {
1014
- padding: 2px 8px;
1014
+ padding: var(--nice-space-0-5, 2px) var(--nice-space-2, 8px);
1015
1015
  background: var(--erp-surface-alt);
1016
- border-radius: 99px;
1016
+ border-radius: var(--nice-radius-full, 99px);
1017
1017
  font-size: 0.75rem;
1018
1018
  color: var(--erp-text-muted);
1019
1019
  }
1020
1020
 
1021
1021
  .column-items {
1022
- padding: 8px;
1022
+ padding: var(--nice-space-2, 8px);
1023
1023
  max-height: 500px;
1024
1024
  overflow-y: auto;
1025
1025
  }
1026
1026
 
1027
1027
  .kanban-card {
1028
- padding: 12px;
1028
+ padding: var(--nice-space-3, 12px);
1029
1029
  background: var(--erp-surface-alt);
1030
1030
  border-radius: var(--erp-radius-sm);
1031
- margin-bottom: 8px;
1031
+ margin-bottom: var(--nice-space-2, 8px);
1032
1032
  cursor: pointer;
1033
1033
  transition: all var(--erp-transition);
1034
1034
  }
@@ -1046,7 +1046,7 @@
1046
1046
 
1047
1047
  .card-name {
1048
1048
  display: block;
1049
- margin: 4px 0;
1049
+ margin: var(--nice-space-1, 4px) 0;
1050
1050
  font-size: 0.875rem;
1051
1051
  font-weight: 500;
1052
1052
  }
@@ -1060,12 +1060,12 @@
1060
1060
  .transactions-tab {
1061
1061
  display: flex;
1062
1062
  flex-direction: column;
1063
- gap: 16px;
1063
+ gap: var(--nice-space-4, 16px);
1064
1064
  }
1065
1065
 
1066
1066
  .add-transaction-button {
1067
1067
  align-self: flex-start;
1068
- padding: 8px 16px;
1068
+ padding: var(--nice-space-2, 8px) var(--nice-space-4, 16px);
1069
1069
  border: none;
1070
1070
  background: var(--erp-primary);
1071
1071
  color: white;
@@ -1082,8 +1082,8 @@
1082
1082
  .transaction-item {
1083
1083
  display: flex;
1084
1084
  align-items: center;
1085
- gap: 12px;
1086
- padding: 12px 16px;
1085
+ gap: var(--nice-space-3, 12px);
1086
+ padding: var(--nice-space-3, 12px) var(--nice-space-4, 16px);
1087
1087
  border-bottom: 1px solid var(--erp-border);
1088
1088
  }
1089
1089
 
@@ -1140,14 +1140,14 @@
1140
1140
  .reorder-list {
1141
1141
  display: flex;
1142
1142
  flex-direction: column;
1143
- gap: 8px;
1143
+ gap: var(--nice-space-2, 8px);
1144
1144
  }
1145
1145
 
1146
1146
  .reorder-item {
1147
1147
  display: flex;
1148
1148
  align-items: center;
1149
- gap: 16px;
1150
- padding: 16px;
1149
+ gap: var(--nice-space-4, 16px);
1150
+ padding: var(--nice-space-4, 16px);
1151
1151
  background: var(--erp-surface);
1152
1152
  border-radius: var(--erp-radius);
1153
1153
  border-left: 4px solid var(--erp-warning);
@@ -1171,7 +1171,7 @@
1171
1171
 
1172
1172
  .reorder-stock {
1173
1173
  display: flex;
1174
- gap: 16px;
1174
+ gap: var(--nice-space-4, 16px);
1175
1175
  font-size: 0.75rem;
1176
1176
  color: var(--erp-text-muted);
1177
1177
  }
@@ -1182,7 +1182,7 @@
1182
1182
  }
1183
1183
 
1184
1184
  .create-po-button {
1185
- padding: 8px 16px;
1185
+ padding: var(--nice-space-2, 8px) var(--nice-space-4, 16px);
1186
1186
  border: 1px solid var(--erp-primary);
1187
1187
  background: transparent;
1188
1188
  color: var(--erp-primary);
@@ -1202,12 +1202,12 @@
1202
1202
  display: flex;
1203
1203
  align-items: center;
1204
1204
  justify-content: center;
1205
- gap: 16px;
1206
- margin-top: 24px;
1205
+ gap: var(--nice-space-4, 16px);
1206
+ margin-top: var(--nice-space-6, 24px);
1207
1207
  }
1208
1208
 
1209
1209
  .pagination button {
1210
- padding: 8px 16px;
1210
+ padding: var(--nice-space-2, 8px) var(--nice-space-4, 16px);
1211
1211
  border: 1px solid var(--erp-border);
1212
1212
  background: var(--erp-surface);
1213
1213
  color: var(--erp-text);
@@ -1231,14 +1231,14 @@
1231
1231
  flex-direction: column;
1232
1232
  align-items: center;
1233
1233
  justify-content: center;
1234
- padding: 60px;
1234
+ padding: var(--nice-space-15, 60px);
1235
1235
  text-align: center;
1236
1236
  color: var(--erp-text-muted);
1237
1237
  }
1238
1238
 
1239
1239
  .empty-icon {
1240
1240
  font-size: 3rem;
1241
- margin-bottom: 16px;
1241
+ margin-bottom: var(--nice-space-4, 16px);
1242
1242
  }
1243
1243
 
1244
1244
  /* =============================================================================
@@ -1248,7 +1248,7 @@
1248
1248
  .modal-overlay {
1249
1249
  position: fixed;
1250
1250
  inset: 0;
1251
- background: rgba(0, 0, 0, 0.7);
1251
+ background: var(--nice-overlay-70, rgba(0, 0, 0, 0.7));
1252
1252
  display: flex;
1253
1253
  align-items: center;
1254
1254
  justify-content: center;
@@ -1263,14 +1263,14 @@
1263
1263
  max-height: 90vh;
1264
1264
  background: var(--erp-surface);
1265
1265
  border-radius: var(--erp-radius);
1266
- padding: 24px;
1266
+ padding: var(--nice-space-6, 24px);
1267
1267
  overflow-y: auto;
1268
1268
  }
1269
1269
 
1270
1270
  .item-modal h3,
1271
1271
  .transaction-modal h3,
1272
1272
  .allocation-modal h3 {
1273
- margin: 0 0 20px;
1273
+ margin: 0 0 var(--nice-space-5, 20px);
1274
1274
  font-size: 1.125rem;
1275
1275
  font-weight: 600;
1276
1276
  }
@@ -1278,13 +1278,13 @@
1278
1278
  .modal-form {
1279
1279
  display: flex;
1280
1280
  flex-direction: column;
1281
- gap: 16px;
1281
+ gap: var(--nice-space-4, 16px);
1282
1282
  }
1283
1283
 
1284
1284
  .modal-form label {
1285
1285
  display: flex;
1286
1286
  flex-direction: column;
1287
- gap: 6px;
1287
+ gap: var(--nice-space-1-5, 6px);
1288
1288
  font-size: 0.875rem;
1289
1289
  color: var(--erp-text-muted);
1290
1290
  }
@@ -1292,7 +1292,7 @@
1292
1292
  .modal-form input,
1293
1293
  .modal-form select,
1294
1294
  .modal-form textarea {
1295
- padding: 10px 12px;
1295
+ padding: var(--nice-space-2-5, 10px) var(--nice-space-3, 12px);
1296
1296
  border: 1px solid var(--erp-border);
1297
1297
  border-radius: var(--erp-radius-sm);
1298
1298
  background: var(--erp-surface-alt);
@@ -1315,18 +1315,18 @@
1315
1315
  .form-row {
1316
1316
  display: grid;
1317
1317
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
1318
- gap: 16px;
1318
+ gap: var(--nice-space-4, 16px);
1319
1319
  }
1320
1320
 
1321
1321
  .modal-actions {
1322
1322
  display: flex;
1323
1323
  justify-content: flex-end;
1324
- gap: 12px;
1325
- margin-top: 24px;
1324
+ gap: var(--nice-space-3, 12px);
1325
+ margin-top: var(--nice-space-6, 24px);
1326
1326
  }
1327
1327
 
1328
1328
  .cancel-button {
1329
- padding: 10px 20px;
1329
+ padding: var(--nice-space-2-5, 10px) var(--nice-space-5, 20px);
1330
1330
  border: 1px solid var(--erp-border);
1331
1331
  background: transparent;
1332
1332
  color: var(--erp-text);
@@ -1336,7 +1336,7 @@
1336
1336
 
1337
1337
  .save-button,
1338
1338
  .create-button {
1339
- padding: 10px 20px;
1339
+ padding: var(--nice-space-2-5, 10px) var(--nice-space-5, 20px);
1340
1340
  border: none;
1341
1341
  background: var(--erp-primary);
1342
1342
  color: white;
@@ -1402,3 +1402,110 @@
1402
1402
  justify-content: center;
1403
1403
  }
1404
1404
  }
1405
+
1406
+ /* =============================================================================
1407
+ WAREHOUSE VIEW (NiceWarehouseView)
1408
+ ============================================================================= */
1409
+ .nice-warehouse-view {
1410
+ display: flex;
1411
+ flex-direction: column;
1412
+ gap: var(--nice-space-4, 16px);
1413
+ padding: var(--nice-space-4, 16px);
1414
+ background: var(--erp-bg);
1415
+ color: var(--erp-text);
1416
+ border-radius: var(--erp-radius);
1417
+ border: 1px solid var(--erp-border);
1418
+ }
1419
+
1420
+ .nice-warehouse-view__header {
1421
+ display: flex;
1422
+ align-items: center;
1423
+ justify-content: space-between;
1424
+ flex-wrap: wrap;
1425
+ gap: var(--nice-space-3, 12px);
1426
+ }
1427
+
1428
+ .nice-warehouse-view__header h3 {
1429
+ margin: 0;
1430
+ font-size: 1.125rem;
1431
+ font-weight: 600;
1432
+ }
1433
+
1434
+ .nice-warehouse-view__legend {
1435
+ display: inline-flex;
1436
+ align-items: center;
1437
+ gap: var(--nice-space-2, 8px);
1438
+ font-size: 0.85rem;
1439
+ color: var(--erp-text-muted);
1440
+ }
1441
+
1442
+ .nice-warehouse-view__legend > span {
1443
+ display: inline-block;
1444
+ width: 14px;
1445
+ height: 14px;
1446
+ border-radius: var(--erp-radius-sm);
1447
+ border: 1px solid var(--erp-border);
1448
+ margin-left: var(--nice-space-2, 8px);
1449
+ margin-right: var(--nice-space-1, 4px);
1450
+ }
1451
+
1452
+ .nice-warehouse-view__legend > span:first-of-type { margin-left: 0; }
1453
+
1454
+ .nice-warehouse-view__grid {
1455
+ display: flex;
1456
+ flex-direction: column;
1457
+ gap: var(--nice-space-1, 4px);
1458
+ }
1459
+
1460
+ .nice-warehouse-view__row {
1461
+ display: flex;
1462
+ gap: var(--nice-space-1, 4px);
1463
+ }
1464
+
1465
+ .nice-warehouse-view__aisle {
1466
+ width: var(--nice-space-3, 12px);
1467
+ align-self: stretch;
1468
+ border-left: 1px dashed var(--erp-border);
1469
+ margin: 0 var(--nice-space-1, 4px);
1470
+ }
1471
+
1472
+ .nice-warehouse-view__cell {
1473
+ position: relative;
1474
+ border: 1px solid var(--erp-border);
1475
+ border-radius: var(--erp-radius-sm);
1476
+ cursor: pointer;
1477
+ display: flex;
1478
+ align-items: center;
1479
+ justify-content: center;
1480
+ font-size: 0.7rem;
1481
+ color: rgba(0, 0, 0, 0.7);
1482
+ transition: transform var(--erp-transition);
1483
+ }
1484
+
1485
+ .nice-warehouse-view__cell:hover {
1486
+ transform: scale(1.08);
1487
+ z-index: 1;
1488
+ }
1489
+
1490
+ .nice-warehouse-view__cell:focus-visible {
1491
+ outline: 2px solid var(--erp-primary);
1492
+ outline-offset: 1px;
1493
+ }
1494
+
1495
+ .nice-warehouse-view__bin {
1496
+ pointer-events: none;
1497
+ }
1498
+
1499
+ .nice-warehouse-view__details {
1500
+ margin-top: var(--nice-space-2, 8px);
1501
+ padding: var(--nice-space-3, 12px);
1502
+ background: var(--erp-surface);
1503
+ border: 1px solid var(--erp-border);
1504
+ border-radius: var(--erp-radius);
1505
+ font-size: 0.85rem;
1506
+ }
1507
+
1508
+ .nice-warehouse-view__details ul {
1509
+ margin: var(--nice-space-2, 8px) 0 0;
1510
+ padding-left: var(--nice-space-4, 16px);
1511
+ }