@chenchaolong/plugin-trade-compliance-workbench 1.0.18 → 1.0.20

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 (96) hide show
  1. package/dist/lib/catalog-import/catalog-import.pipeline.d.ts.map +1 -1
  2. package/dist/lib/catalog-import/catalog-import.pipeline.js +2 -1
  3. package/dist/lib/catalog-import/catalog-import.pipeline.js.map +1 -1
  4. package/dist/lib/catalog-import/confidence.js +2 -2
  5. package/dist/lib/catalog-import/confidence.js.map +1 -1
  6. package/dist/lib/catalog-import/contracts.d.ts +5 -2
  7. package/dist/lib/catalog-import/contracts.d.ts.map +1 -1
  8. package/dist/lib/catalog-import/outcome.d.ts +19 -0
  9. package/dist/lib/catalog-import/outcome.d.ts.map +1 -0
  10. package/dist/lib/catalog-import/outcome.js +18 -0
  11. package/dist/lib/catalog-import/outcome.js.map +1 -0
  12. package/dist/lib/catalog-import/spreadsheet-structure.d.ts +15 -0
  13. package/dist/lib/catalog-import/spreadsheet-structure.d.ts.map +1 -0
  14. package/dist/lib/catalog-import/spreadsheet-structure.js +44 -0
  15. package/dist/lib/catalog-import/spreadsheet-structure.js.map +1 -0
  16. package/dist/lib/catalog-import/spreadsheet.parser.d.ts.map +1 -1
  17. package/dist/lib/catalog-import/spreadsheet.parser.js +71 -0
  18. package/dist/lib/catalog-import/spreadsheet.parser.js.map +1 -1
  19. package/dist/lib/domain/contract-number.js +2 -2
  20. package/dist/lib/domain/contract-number.js.map +1 -1
  21. package/dist/lib/entities/catalog.entity.d.ts +5 -1
  22. package/dist/lib/entities/catalog.entity.d.ts.map +1 -1
  23. package/dist/lib/entities/catalog.entity.js +16 -0
  24. package/dist/lib/entities/catalog.entity.js.map +1 -1
  25. package/dist/lib/remote-components/trade-compliance-workbench/app.css +1 -1
  26. package/dist/lib/remote-components/trade-compliance-workbench/app.js +5 -5
  27. package/dist/lib/remote-ui/app-source.d.ts.map +1 -1
  28. package/dist/lib/remote-ui/app-source.js +208 -67
  29. package/dist/lib/remote-ui/app-source.js.map +1 -1
  30. package/dist/lib/remote-ui/components/forms.js +1 -1
  31. package/dist/lib/remote-ui/components/forms.js.map +1 -1
  32. package/dist/lib/remote-ui/components/task-status.d.ts +2 -1
  33. package/dist/lib/remote-ui/components/task-status.d.ts.map +1 -1
  34. package/dist/lib/remote-ui/components/task-status.js +5 -4
  35. package/dist/lib/remote-ui/components/task-status.js.map +1 -1
  36. package/dist/lib/remote-ui/contracts.d.ts +3 -0
  37. package/dist/lib/remote-ui/contracts.d.ts.map +1 -1
  38. package/dist/lib/remote-ui/import-task-status.d.ts +10 -0
  39. package/dist/lib/remote-ui/import-task-status.d.ts.map +1 -0
  40. package/dist/lib/remote-ui/import-task-status.js +236 -0
  41. package/dist/lib/remote-ui/import-task-status.js.map +1 -0
  42. package/dist/lib/remote-ui/model.d.ts.map +1 -1
  43. package/dist/lib/remote-ui/model.js +2 -1
  44. package/dist/lib/remote-ui/model.js.map +1 -1
  45. package/dist/lib/remote-ui/pages/analytics-prototype.css +307 -0
  46. package/dist/lib/remote-ui/pages/catalogs.css +681 -0
  47. package/dist/lib/remote-ui/pages/catalogs.d.ts +9 -3
  48. package/dist/lib/remote-ui/pages/catalogs.d.ts.map +1 -1
  49. package/dist/lib/remote-ui/pages/catalogs.js +36 -7
  50. package/dist/lib/remote-ui/pages/catalogs.js.map +1 -1
  51. package/dist/lib/remote-ui/pages/contracts.css +259 -0
  52. package/dist/lib/remote-ui/pages/contracts.d.ts.map +1 -1
  53. package/dist/lib/remote-ui/pages/contracts.js +36 -13
  54. package/dist/lib/remote-ui/pages/contracts.js.map +1 -1
  55. package/dist/lib/remote-ui/pages/files-prototype.css +547 -0
  56. package/dist/lib/remote-ui/pages/files.d.ts +3 -2
  57. package/dist/lib/remote-ui/pages/files.d.ts.map +1 -1
  58. package/dist/lib/remote-ui/pages/files.js +15 -15
  59. package/dist/lib/remote-ui/pages/files.js.map +1 -1
  60. package/dist/lib/remote-ui/pages/procurement-contracts.css +939 -0
  61. package/dist/lib/remote-ui/pages/procurement.js +1 -1
  62. package/dist/lib/remote-ui/pages/procurement.js.map +1 -1
  63. package/dist/lib/remote-ui/pages/sales-files.css +512 -0
  64. package/dist/lib/remote-ui/pages/sales.js +2 -2
  65. package/dist/lib/remote-ui/pages/sales.js.map +1 -1
  66. package/dist/lib/remote-ui/pages/settings.css +178 -0
  67. package/dist/lib/remote-ui/pages/settings.js +1 -1
  68. package/dist/lib/remote-ui/pages/settings.js.map +1 -1
  69. package/dist/lib/remote-ui/polling.d.ts +1 -1
  70. package/dist/lib/remote-ui/polling.d.ts.map +1 -1
  71. package/dist/lib/remote-ui/polling.js +4 -2
  72. package/dist/lib/remote-ui/polling.js.map +1 -1
  73. package/dist/lib/remote-ui/purchase-review-adapter.d.ts +4 -0
  74. package/dist/lib/remote-ui/purchase-review-adapter.d.ts.map +1 -0
  75. package/dist/lib/remote-ui/purchase-review-adapter.js +78 -0
  76. package/dist/lib/remote-ui/purchase-review-adapter.js.map +1 -0
  77. package/dist/lib/remote-ui/styles.css +588 -0
  78. package/dist/lib/sales-file.service.d.ts.map +1 -1
  79. package/dist/lib/sales-file.service.js +19 -7
  80. package/dist/lib/sales-file.service.js.map +1 -1
  81. package/dist/lib/types.d.ts +12 -1
  82. package/dist/lib/types.d.ts.map +1 -1
  83. package/dist/lib/types.js +1 -1
  84. package/dist/lib/types.js.map +1 -1
  85. package/dist/lib/workbench-view.provider.d.ts +24 -0
  86. package/dist/lib/workbench-view.provider.d.ts.map +1 -1
  87. package/dist/lib/workbench-view.provider.js +19 -4
  88. package/dist/lib/workbench-view.provider.js.map +1 -1
  89. package/dist/lib/workbench.plugin.d.ts.map +1 -1
  90. package/dist/lib/workbench.plugin.js +1 -2
  91. package/dist/lib/workbench.plugin.js.map +1 -1
  92. package/dist/lib/workbench.service.d.ts +7 -1
  93. package/dist/lib/workbench.service.d.ts.map +1 -1
  94. package/dist/lib/workbench.service.js +276 -75
  95. package/dist/lib/workbench.service.js.map +1 -1
  96. package/package.json +4 -1
@@ -0,0 +1,588 @@
1
+ :root {
2
+ --tcw-primary: #1769c2;
3
+ --tcw-primary-hover: #1259a6;
4
+ --tcw-primary-soft: #eaf3ff;
5
+ --tcw-canvas: #fafbfd;
6
+ --tcw-surface: #fefefe;
7
+ --tcw-text: #172033;
8
+ --tcw-muted: #69758a;
9
+ --tcw-border: #dce3ec;
10
+ --tcw-border-soft: #e9edf3;
11
+ --tcw-danger: #c73737;
12
+ --tcw-danger-soft: #fff1f1;
13
+ --tcw-warning: #a86705;
14
+ --tcw-success: #247c4c;
15
+ --tcw-sidebar-width: 210px;
16
+ --tcw-sidebar-collapsed-width: 52px;
17
+ --tcw-topbar-height: 56px;
18
+ --tcw-control-height: 32px;
19
+ }
20
+
21
+ * { box-sizing: border-box; }
22
+ html, body, #root { width: 100%; height: 100%; overflow: hidden; }
23
+ body { margin: 0; color: var(--tcw-text); background: var(--tcw-canvas); font-family: Inter, "PingFang SC", "Microsoft YaHei", Arial, sans-serif; font-size: 14px; letter-spacing: 0; }
24
+ button, input, select, textarea { font: inherit; letter-spacing: 0; }
25
+ button { cursor: pointer; }
26
+ button:disabled, input:disabled, select:disabled, textarea:disabled { cursor: not-allowed; opacity: .55; }
27
+
28
+ .tcw-app-frame { display: grid; grid-template-columns: var(--tcw-sidebar-width) minmax(0, 1fr); height: 100vh; min-height: 520px; overflow: hidden; background: var(--tcw-canvas); }
29
+ .tcw-app-frame.is-sidebar-collapsed { grid-template-columns: var(--tcw-sidebar-collapsed-width) minmax(0, 1fr); }
30
+ .tcw-sidebar { position: relative; display: grid; grid-template-rows: var(--tcw-topbar-height) minmax(0, 1fr) 54px; height: 100%; min-height: 0; overflow-y: auto; overflow-x: hidden; border-right: 1px solid #e4e9f1; background: var(--tcw-surface); }
31
+ .tcw-brand { display: grid; grid-template-columns: 24px minmax(0, 1fr); align-items: center; gap: 8px; min-height: var(--tcw-topbar-height); padding: 0 14px; border-bottom: 1px solid var(--tcw-border-soft); }
32
+ .tcw-brand strong { min-width: 0; color: #121722; font-size: 17px; line-height: 1.25; white-space: nowrap; }
33
+ .tcw-brand-mark { display: grid; width: 26px; height: 28px; place-items: center; color: #0878f9; background: transparent; font-size: 26px; font-weight: 400; }
34
+ .tcw-sidebar-toggle { display: flex; width: 100%; min-height: 48px; align-items: center; gap: 10px; padding: 0 22px; border: 0; border-top: 1px solid var(--tcw-border-soft); border-radius: 0; color: #121722; background: var(--tcw-surface); font-size: 14px; text-align: left; }
35
+ .tcw-sidebar-toggle:hover { border-color: var(--tcw-border); background: #f5f8fc; }
36
+ .tcw-navigation { display: grid; align-content: start; gap: 10px; padding: 12px; }
37
+ .tcw-nav-row { display: grid; grid-template-columns: 1fr; border-left: 0; border-radius: 6px; overflow: hidden; }
38
+ .tcw-nav-item { position: relative; display: grid; grid-template-columns: 24px minmax(0, 1fr); align-items: center; gap: 10px; width: 100%; min-height: 40px; padding: 0 14px; border: 0; color: #172033; background: transparent; text-align: left; }
39
+ .tcw-nav-item i:first-child { color: #42506a; font-size: 18px; text-align: center; }
40
+ .tcw-nav-label { display: flex; min-width: 0; gap: 6px; align-items: center; font-size: 14px; }
41
+ .tcw-nav-row:hover { background: #f5f8fc; }
42
+ .tcw-nav-row.is-active { color: #0878f9; background: #eaf3ff; font-weight: 650; }
43
+ .tcw-nav-row.is-active .tcw-nav-item, .tcw-nav-row.is-active i { color: var(--tcw-primary); }
44
+ .tcw-app-frame.is-sidebar-collapsed .tcw-sidebar { grid-template-rows: var(--tcw-topbar-height) minmax(0, 1fr) 54px; }
45
+ .tcw-app-frame.is-sidebar-collapsed .tcw-brand { grid-template-columns: 1fr; justify-items: center; padding-inline: 8px; }
46
+ .tcw-app-frame.is-sidebar-collapsed .tcw-brand strong,
47
+ .tcw-app-frame.is-sidebar-collapsed .tcw-nav-item span,
48
+ .tcw-app-frame.is-sidebar-collapsed .tcw-sidebar-toggle span { max-width: 0; overflow: hidden; white-space: nowrap; }
49
+ .tcw-app-frame.is-sidebar-collapsed .tcw-navigation { padding-inline: 7px; }
50
+ .tcw-app-frame.is-sidebar-collapsed .tcw-nav-item { grid-template-columns: 1fr; justify-items: center; padding: 0; }
51
+ .tcw-app-frame.is-sidebar-collapsed .tcw-sidebar-toggle { justify-content: center; padding: 0; }
52
+
53
+ .tcw-main { min-width: 0; height: 100%; overflow-y: auto; scrollbar-gutter: stable; }
54
+ .tcw-topbar { display: flex; align-items: center; justify-content: space-between; min-height: var(--tcw-topbar-height); padding: 0 32px; border-bottom: 1px solid #e7ebf1; background: var(--tcw-surface); }
55
+ .tcw-breadcrumbs { display: flex; align-items: center; gap: 6px; min-width: 0; color: var(--tcw-muted); }
56
+ .tcw-breadcrumbs button { padding: 3px 0; border: 0; color: var(--tcw-muted); background: transparent; }
57
+ .tcw-breadcrumbs button:hover { color: var(--tcw-primary); }
58
+ .tcw-breadcrumbs span[aria-current="page"] { color: #131923; font-size: 17px; font-weight: 650; }
59
+ .tcw-topbar-actions { position: relative; display: flex; align-items: center; gap: 10px; }
60
+ .tcw-icon-button { display: inline-grid; width: 34px; height: 34px; place-items: center; border: 1px solid transparent; border-radius: 4px; color: #5d6b7f; background: transparent; font-size: 20px; }
61
+ .tcw-icon-button:hover { border-color: var(--tcw-border); background: var(--tcw-surface); }
62
+ .tcw-task-menu { position: relative; }
63
+ .tcw-task-trigger { display: inline-flex; min-height: 36px; align-items: center; gap: 7px; padding: 0 10px; border: 1px solid var(--tcw-border); border-radius: 10px; color: #233047; background: #fff; box-shadow: 0 6px 16px rgba(15, 23, 42, .06); font-weight: 700; }
64
+ .tcw-task-trigger:hover, .tcw-task-menu.is-open .tcw-task-trigger { border-color: #bfd2e8; background: #f8fbff; }
65
+ .tcw-task-trigger-icon { display: grid; width: 26px; height: 26px; place-items: center; border-radius: 9px; color: #168f8c; background: #eafafa; font-size: 17px; }
66
+ .tcw-task-trigger em { display: inline-grid; min-width: 20px; height: 20px; place-items: center; padding-inline: 5px; border-radius: 999px; color: #fff; background: var(--tcw-primary); font-size: 12px; font-style: normal; line-height: 1; }
67
+ .tcw-task-popover { position: absolute; top: calc(100% + 8px); right: 0; z-index: 30; width: min(380px, calc(100vw - 32px)); max-height: min(560px, calc(100vh - 84px)); padding: 12px; border: 1px solid #dce5ef; border-radius: 14px; background: rgba(255, 255, 255, .98); box-shadow: 0 18px 56px rgba(15, 23, 42, .16); overflow: auto; }
68
+ .tcw-task-popover header { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; margin-bottom: 10px; }
69
+ .tcw-task-popover header strong { display: block; font-size: 16px; }
70
+ .tcw-task-popover header small { display: block; margin-top: 3px; color: var(--tcw-muted); }
71
+ .tcw-task-popover header > span { color: var(--tcw-muted); font-size: 13px; white-space: nowrap; }
72
+ .tcw-task-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; margin-bottom: 10px; }
73
+ .tcw-task-summary span { padding: 7px 8px; border-radius: 10px; background: #f3f7fb; color: #34445d; font-size: 12px; font-weight: 700; text-align: center; }
74
+ .tcw-task-list { display: grid; gap: 8px; }
75
+ .tcw-task-empty { display: grid; gap: 5px; place-items: center; padding: 14px 8px; border: 1px dashed var(--tcw-border); border-radius: 12px; color: var(--tcw-muted); background: #fbfdff; }
76
+ .tcw-task-empty i { color: var(--tcw-success); font-size: 18px; }
77
+ .tcw-task-row { display: grid; grid-template-columns: 32px minmax(0, 1fr) auto; gap: 8px; align-items: center; padding: 8px; border: 1px solid #e3eaf2; border-radius: 12px; background: #fff; }
78
+ .tcw-task-row-icon { display: grid; width: 32px; height: 32px; place-items: center; border-radius: 10px; background: #eef4fb; color: #52657d; font-size: 17px; }
79
+ .tcw-task-row--running .tcw-task-row-icon { color: #1769c2; background: #eaf3ff; }
80
+ .tcw-task-row--review .tcw-task-row-icon { color: #a15c00; background: #fff4df; }
81
+ .tcw-task-row--success .tcw-task-row-icon { color: var(--tcw-success); background: #eaf8ef; }
82
+ .tcw-task-row--failed .tcw-task-row-icon { color: var(--tcw-danger); background: var(--tcw-danger-soft); }
83
+ .tcw-task-row-body { min-width: 0; }
84
+ .tcw-task-row-title { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-width: 0; }
85
+ .tcw-task-row-title strong { min-width: 0; overflow: hidden; color: #1d2939; font-size: 14px; text-overflow: ellipsis; white-space: nowrap; }
86
+ .tcw-task-row-title span { flex: 0 0 auto; color: var(--tcw-muted); font-size: 12px; font-weight: 700; }
87
+ .tcw-task-row p { margin: 3px 0 0; overflow: hidden; color: var(--tcw-muted); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
88
+ .tcw-task-progress { height: 5px; margin-top: 8px; border-radius: 999px; background: #e8eef5; overflow: hidden; }
89
+ .tcw-task-progress span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #2b7de9, #20b5a6); }
90
+ .tcw-task-row-action { min-height: 30px; padding-inline: 10px; border: 1px solid #c9d6e4; border-radius: 10px; color: #24507f; background: #f8fbff; font-size: 12px; font-weight: 700; }
91
+ .tcw-task-row-action:hover { border-color: #9db8d5; background: #eef6ff; }
92
+ .tcw-content { padding: 18px 14px 18px; }
93
+ .tcw-page-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin: 0 8px 12px 20px; }
94
+ .tcw-page-heading h1 { margin: 0; font-size: 20px; line-height: 1.22; }
95
+ .tcw-page-heading p { margin: 4px 0 0; color: var(--tcw-muted); font-size: 13px; line-height: 1.4; }
96
+ .tcw-page-commands { display: flex; flex-wrap: nowrap; gap: 8px; justify-content: flex-end; overflow-x: auto; }
97
+ .tcw-page-commands .tcw-button { min-height: 34px; padding-inline: 12px; font-size: 13px; }
98
+ .tcw-page-home .tcw-content { padding: 16px 15px 15px 5px; }
99
+ .tcw-page-home .tcw-page-heading { margin: 0 16px 14px 24px; }
100
+ .tcw-page-home .tcw-topbar { padding-inline: 46px; }
101
+
102
+ .tcw-button { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: var(--tcw-control-height); padding: 0 15px; border: 1px solid var(--tcw-border); border-radius: 4px; white-space: nowrap; }
103
+ .tcw-button--primary { border-color: var(--tcw-primary); color: #fff; background: var(--tcw-primary); }
104
+ .tcw-button--primary:hover { border-color: var(--tcw-primary-hover); background: var(--tcw-primary-hover); }
105
+ .tcw-button--secondary { color: #455266; background: var(--tcw-surface); }
106
+ .tcw-button--secondary:hover { border-color: #aeb9c7; background: #f8fafc; }
107
+ .tcw-button--danger { border-color: var(--tcw-danger); color: #fff; background: var(--tcw-danger); }
108
+
109
+ .tcw-filter-panel { margin-bottom: 10px; padding: 12px 14px; border: 1px solid var(--tcw-border); border-radius: 5px; background: var(--tcw-surface); }
110
+ .tcw-filter-grid { display: grid; grid-template-columns: repeat(4, minmax(150px, 1fr)) auto; gap: 10px 12px; align-items: end; }
111
+ .tcw-filter-control { display: grid; min-width: 0; gap: 5px; }
112
+ .tcw-filter-control > span { color: #344054; font-size: 13px; font-weight: 650; }
113
+ .tcw-filter-control input, .tcw-filter-control select, .tcw-form-field input, .tcw-form-field select, .tcw-form-field textarea { width: 100%; height: var(--tcw-control-height); min-width: 0; padding: 0 11px; border: 1px solid #cbd4e0; border-radius: 4px; outline: none; color: var(--tcw-text); background: var(--tcw-surface); }
114
+ .tcw-filter-control input:focus, .tcw-filter-control select:focus, .tcw-form-field input:focus, .tcw-form-field select:focus, .tcw-form-field textarea:focus { border-color: var(--tcw-primary); box-shadow: 0 0 0 2px rgba(23, 105, 194, .1); }
115
+ .tcw-filter-control--range > div { display: grid; grid-template-columns: minmax(110px, 1fr) auto minmax(110px, 1fr); align-items: center; gap: 6px; }
116
+ .tcw-filter-control--range em { color: var(--tcw-muted); font-style: normal; }
117
+ .tcw-filter-actions { display: flex; gap: 8px; }
118
+
119
+ .tcw-notice { display: flex; align-items: flex-start; gap: 9px; min-height: 40px; margin-bottom: 14px; padding: 10px 13px; border: 1px solid; border-radius: 4px; line-height: 1.5; }
120
+ .tcw-notice i { margin-top: 1px; font-size: 17px; }
121
+ .tcw-notice--info { border-color: #bcd6f2; color: #285c91; background: #f0f7ff; }
122
+ .tcw-notice--risk { border-color: #efbaba; color: #9e3030; background: var(--tcw-danger-soft); }
123
+
124
+ .tcw-context-bar { display: flex; align-items: center; gap: 14px; min-height: 48px; margin-bottom: 10px; padding: 8px 12px; border: 1px solid var(--tcw-border); border-radius: 5px; background: var(--tcw-surface); }
125
+ .tcw-context-bar span { min-width: 0; overflow: hidden; color: var(--tcw-muted); text-overflow: ellipsis; white-space: nowrap; }
126
+ .tcw-metric-grid { display: grid; grid-template-columns: repeat(4, minmax(150px, 1fr)); gap: 10px; margin-bottom: 10px; }
127
+ .tcw-metric-grid article { display: grid; align-content: center; gap: 3px; min-height: 72px; padding: 9px 12px; border: 1px solid var(--tcw-border); border-left: 3px solid var(--tcw-primary); border-radius: 5px; background: var(--tcw-surface); }
128
+ .tcw-metric-grid article span, .tcw-metric-grid article small { color: var(--tcw-muted); }
129
+ .tcw-metric-grid article strong { overflow: hidden; font-size: 18px; text-overflow: ellipsis; white-space: nowrap; }
130
+ .tcw-sales-top { margin-bottom: 10px; padding: 11px 13px; border: 1px solid var(--tcw-border); border-radius: 5px; background: var(--tcw-surface); }
131
+ .tcw-sales-top ol { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; margin: 10px 0 0; padding: 0; list-style: none; }
132
+ .tcw-sales-top li { display: grid; min-width: 0; gap: 4px; padding-left: 10px; border-left: 2px solid var(--tcw-primary); }
133
+ .tcw-sales-top li span { overflow: hidden; color: var(--tcw-muted); text-overflow: ellipsis; white-space: nowrap; }
134
+ .tcw-sales-top li b { font-size: 13px; }
135
+ .tcw-sales-top small { display: block; margin-top: 9px; color: var(--tcw-muted); }
136
+ .tcw-preflight-summary { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 0 0 14px; }
137
+ .tcw-preflight-summary > div { padding: 10px 12px; border: 1px solid var(--tcw-border-soft); background: #f8fafc; }
138
+ .tcw-preflight-summary dt { color: var(--tcw-muted); font-size: 12px; }
139
+ .tcw-preflight-summary dd { margin: 5px 0 0; font-weight: 700; }
140
+ .tcw-tag-list { display: flex; gap: 5px; }
141
+ .tcw-tag { display: inline-flex; min-height: 23px; align-items: center; padding: 2px 7px; border: 1px solid #b8c7d9; border-radius: 3px; color: #40536b; background: #f5f8fb; font-size: 12px; white-space: nowrap; }
142
+ .tcw-tag--warning { border-color: #e7c786; color: #94610d; background: #fff8e8; }
143
+ .tcw-tag--danger { border-color: #efbaba; color: var(--tcw-danger); background: var(--tcw-danger-soft); }
144
+ .tcw-excel-editor { position: fixed; inset: 0; z-index: 1200; display: flex; flex-direction: column; background: #fff; }
145
+ .tcw-excel-editor > header { display: flex; flex: 0 0 52px; align-items: center; justify-content: space-between; gap: 12px; padding: 0 14px; border-bottom: 1px solid var(--tcw-border); }
146
+ .tcw-excel-editor > header > div { display: flex; gap: 8px; }
147
+ .tcw-editor-error { padding: 10px 16px; color: var(--tcw-danger); background: var(--tcw-danger-soft); }
148
+ .tcw-excel-editor-canvas { flex: 1 1 0; min-width: 0; min-height: 0; }
149
+
150
+ .tcw-grid-section { border: 1px solid var(--tcw-border); border-radius: 5px; background: var(--tcw-surface); overflow: hidden; }
151
+ .tcw-table-scroll { width: 100%; overflow-x: auto; }
152
+ .tcw-data-table { width: 100%; min-width: 920px; border-spacing: 0; border-collapse: separate; font-size: 13px; }
153
+ .tcw-data-table th, .tcw-data-table td { padding: 6px 10px; border-bottom: 1px solid var(--tcw-border-soft); text-align: left; vertical-align: middle; white-space: nowrap; }
154
+ .tcw-data-table th { height: 40px; color: #435066; background: #f6f8fb; font-weight: 650; }
155
+ .tcw-data-table td { height: 40px; }
156
+ .tcw-data-table tbody tr:hover td { background: #fafcff; }
157
+ .tcw-data-table tbody tr:last-child td { border-bottom: 0; }
158
+ .tcw-data-table .action-column { position: sticky; right: 0; z-index: 2; overflow: hidden; background: var(--tcw-surface); box-shadow: -5px 0 9px rgba(32, 48, 71, .06); }
159
+ .tcw-data-table th.action-column { z-index: 3; background: #f6f8fb; }
160
+ .tcw-row-actions { display: flex; flex-wrap: nowrap; align-items: center; gap: 8px; min-width: max-content; white-space: nowrap; }
161
+ .tcw-row-actions button { padding: 2px 3px; border: 0; color: var(--tcw-primary); background: transparent; white-space: nowrap; }
162
+ .tcw-row-actions button.is-danger { color: var(--tcw-danger); }
163
+ .tcw-table-link { display: block; max-width: 100%; overflow: hidden; padding: 0; border: 0; color: var(--tcw-primary); background: transparent; text-align: left; text-overflow: ellipsis; white-space: nowrap; }
164
+ .tcw-table-link:hover { text-decoration: underline; }
165
+ .tcw-grid-cell-text { min-width: 0; }
166
+ .tcw-ellipsis { max-width: 220px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
167
+ .tcw-ellipsis > *, .tcw-ellipsis .tcw-row-actions { min-width: 0; max-width: 100%; }
168
+ .tcw-ellipsis button { min-width: 0; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
169
+ .tcw-ellipsis .tcw-tag-list { min-width: 0; max-width: 100%; overflow: hidden; flex-wrap: nowrap; }
170
+ .tcw-ellipsis .tcw-tag { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
171
+ .tcw-align-center { text-align: center !important; }
172
+ .tcw-align-right { text-align: right !important; }
173
+ .tcw-empty-row td { height: 56px; color: var(--tcw-muted); text-align: center; }
174
+ .tcw-pagination { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 52px; padding: 8px 14px; border-top: 1px solid var(--tcw-border-soft); color: var(--tcw-muted); }
175
+ .tcw-pagination > div { display: flex; align-items: center; gap: 7px; }
176
+ .tcw-pagination-pages { display: flex; align-items: center; gap: 4px; }
177
+ .tcw-pagination button { min-height: 28px; padding: 0 8px; border: 1px solid var(--tcw-border); border-radius: 3px; color: #46546a; background: #fff; }
178
+ .tcw-pagination button:disabled { cursor: default; opacity: .55; }
179
+ .tcw-pagination-page-button { min-width: 30px; justify-content: center; padding-inline: 6px !important; }
180
+ .tcw-pagination-page-button[aria-current="page"] { border-color: var(--tcw-primary); color: var(--tcw-primary); background: var(--tcw-primary-soft); opacity: 1; }
181
+ .tcw-pagination-page-button i { font-size: 10px; }
182
+ .tcw-pagination-ellipsis { display: inline-grid; min-width: 22px; place-items: center; color: #667085; }
183
+ .tcw-pagination select { min-height: 30px; border: 1px solid var(--tcw-border); border-radius: 3px; color: #46546a; background: #fff; }
184
+
185
+ .tcw-modal-backdrop { position: fixed; inset: 0; z-index: 1000; display: grid; place-items: center; padding: 20px; background: rgba(0, 0, 0, .52); }
186
+ .tcw-modal { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; width: min(576px, calc(100vw - 40px)); max-height: calc(100vh - 40px); overflow: hidden; border-radius: 8px; background: var(--tcw-surface); box-shadow: 0 12px 32px rgba(15, 23, 42, .22); }
187
+ .tcw-modal--wide { width: min(1120px, calc(100vw - 40px)); }
188
+ .tcw-modal--full { width: calc(100vw - 24px); height: calc(100vh - 24px); max-height: none; }
189
+ .tcw-modal > header, .tcw-modal > footer { display: flex; align-items: center; justify-content: space-between; min-height: 52px; padding: 10px 16px; border-bottom: 1px solid var(--tcw-border); }
190
+ .tcw-modal > footer { justify-content: flex-end; gap: 9px; border-top: 1px solid var(--tcw-border); border-bottom: 0; }
191
+ .tcw-modal h2 { margin: 0; font-size: 18px; }
192
+ .tcw-modal-body { min-height: 0; padding: 14px; overflow: auto; }
193
+ .tcw-field-grid { display: grid; gap: 15px 16px; }
194
+ .tcw-field-grid--1 { grid-template-columns: 1fr; }
195
+ .tcw-field-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
196
+ .tcw-field-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
197
+ .tcw-form-field { display: grid; gap: 7px; min-width: 0; }
198
+ .tcw-form-field > span { color: #344054; font-size: 13px; font-weight: 650; }
199
+ .tcw-form-field b { margin-right: 3px; color: var(--tcw-danger); }
200
+ .tcw-form-field textarea { height: auto; min-height: 80px; padding: 9px 11px; resize: vertical; }
201
+ .tcw-form-field small { color: var(--tcw-muted); }
202
+ .tcw-form-field--full { grid-column: 1 / -1; }
203
+ .tcw-review-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0; min-height: 400px; }
204
+ .tcw-review-split > section { min-width: 0; padding: 0 14px; }
205
+ .tcw-review-split > section:first-child { padding-left: 0; border-right: 1px solid var(--tcw-border); }
206
+ .tcw-review-split > section:last-child { padding-right: 0; }
207
+ .tcw-review-split h3 { margin: 0 0 14px; font-size: 15px; }
208
+ .tcw-upload-zone { position: relative; display: grid; min-height: 88px; place-items: center; align-content: center; gap: 5px; padding: 8px; border: 1px dashed #98abc1; border-radius: 4px; color: #43546b; background: #f7faff; text-align: center; overflow: hidden; }
209
+ .tcw-upload-zone > i { color: var(--tcw-primary); font-size: 18px; }
210
+ .tcw-upload-zone > span { color: var(--tcw-muted); font-size: 12px; }
211
+ .tcw-upload-zone input { position: absolute; inset: 0; width: 100%; height: 100%; color: transparent; font-size: 0; cursor: pointer; }
212
+ .tcw-upload-zone.is-disabled { opacity: .6; cursor: not-allowed; }
213
+ .tcw-confirm-message { display: flex; align-items: flex-start; gap: 13px; padding: 8px 2px; line-height: 1.7; }
214
+ .tcw-confirm-message > i { color: var(--tcw-primary); font-size: 22px; }
215
+ .tcw-confirm-message p { margin: 2px 0 0; }
216
+ .tcw-confirm-message.is-danger > i { color: var(--tcw-danger); }
217
+ .tcw-loading-blocker { position: fixed; inset: 0; z-index: 1200; display: flex; align-items: center; justify-content: center; gap: 12px; background: rgba(255, 255, 255, .78); }
218
+ .tcw-spinner { width: 24px; height: 24px; border: 3px solid #cbd8e7; border-top-color: var(--tcw-primary); border-radius: 50%; animation: tcw-spin .75s linear infinite; }
219
+ @keyframes tcw-spin { to { transform: rotate(360deg); } }
220
+ .tcw-toast-stack { position: fixed; z-index: 1300; top: 22px; right: 24px; display: grid; gap: 10px; width: min(420px, calc(100vw - 32px)); pointer-events: none; }
221
+ .tcw-toast { position: fixed; z-index: 1300; top: 22px; right: 24px; display: flex; align-items: center; gap: 9px; width: min(420px, calc(100vw - 32px)); padding: 11px 14px; border: 1px solid; border-radius: 4px; background: #fff; box-shadow: 0 8px 28px rgba(20, 35, 55, .16); pointer-events: auto; }
222
+ .tcw-toast-stack .tcw-toast { position: static; z-index: auto; width: 100%; }
223
+ .tcw-toast > span { min-width: 0; flex: 1; overflow-wrap: anywhere; }
224
+ .tcw-toast--success { border-color: #add6bf; color: var(--tcw-success); background: #f0faf4; }
225
+ .tcw-toast--info { border-color: #bcd6f2; color: #285c91; background: #f0f7ff; }
226
+ .tcw-toast--warning { border-color: #e7c786; color: var(--tcw-warning); background: #fff8e8; }
227
+ .tcw-toast--error { border-color: #efbaba; color: var(--tcw-danger); background: var(--tcw-danger-soft); }
228
+ .tcw-toast button { display: grid; flex: 0 0 auto; place-items: center; padding: 0; border: 0; color: inherit; background: transparent; }
229
+
230
+ .tcw-page-placeholder { min-height: 240px; }
231
+ .tcw-placeholder-body { min-height: 180px; border: 1px solid var(--tcw-border); border-radius: 5px; background: var(--tcw-surface); }
232
+
233
+ @media (max-width: 1180px) {
234
+ .tcw-filter-grid { grid-template-columns: repeat(2, minmax(180px, 1fr)); }
235
+ .tcw-filter-actions { align-self: end; }
236
+ }
237
+
238
+ @media (max-width: 900px) {
239
+ .tcw-metric-grid { grid-template-columns: 1fr 1fr; }
240
+ .tcw-sales-top ol { grid-template-columns: 1fr 1fr; }
241
+ .tcw-context-bar { align-items: flex-start; flex-direction: column; gap: 6px; }
242
+ .tcw-topbar { margin-inline: 14px; }
243
+ .tcw-content { padding: 16px 14px; }
244
+ .tcw-page-heading { flex-direction: column; }
245
+ .tcw-page-commands { width: 100%; justify-content: flex-start; }
246
+ .tcw-filter-grid, .tcw-field-grid--2, .tcw-field-grid--3, .tcw-review-split { grid-template-columns: 1fr; }
247
+ .tcw-review-split > section { padding: 18px 0; }
248
+ .tcw-review-split > section:first-child { padding-top: 0; border-right: 0; border-bottom: 1px solid var(--tcw-border); }
249
+ .tcw-pagination { align-items: flex-start; flex-direction: column; }
250
+ .tcw-modal-backdrop { padding: 6px; }
251
+ .tcw-modal, .tcw-modal--wide { width: calc(100vw - 12px); max-height: calc(100vh - 12px); }
252
+ }
253
+
254
+ @media (max-width: 420px) {
255
+ .tcw-filter-control--range > div { grid-template-columns: 1fr; }
256
+ .tcw-filter-control--range em { text-align: center; }
257
+ .tcw-pagination > div { flex-wrap: wrap; max-width: 100%; }
258
+ }
259
+
260
+ .tcw-home-page { min-width: 0; }
261
+ .tcw-home-section { min-width: 0; min-height: calc(100vh - 95px); padding: 12px 14px 10px; border: 1px solid #edf0f5; border-radius: 10px; background: var(--tcw-surface); box-shadow: 0 2px 12px rgba(31, 47, 70, .04); }
262
+ .tcw-home-section-title { display: flex; align-items: center; gap: 8px; margin: 0 0 7px; color: #10151e; font-size: 18px; line-height: 1.35; }
263
+ .tcw-home-section-title > i { color: #ef2340; font-size: 20px; font-weight: 400; }
264
+ .tcw-home-risk-matrix { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); min-height: 170px; padding: 4px 6px; border: 1px solid #ffdadd; border-radius: 9px; background: #fdf6f7; }
265
+ .tcw-home-risk-item { min-width: 0; min-height: 64px; padding: 6px 6px 4px; }
266
+ .tcw-home-risk-heading { display: flex; align-items: center; gap: 8px; color: #dc101c; }
267
+ .tcw-home-risk-heading > i { flex: 0 0 auto; font-size: 18px; }
268
+ .tcw-home-risk-heading h3 { min-width: 0; margin: 0; overflow-wrap: anywhere; font-size: 15px; line-height: 1.45; }
269
+ .tcw-home-risk-item > p { margin: 6px 0 0; color: #202631; font-size: 12px; line-height: 1.5; overflow-wrap: anywhere; }
270
+ .tcw-home-workflow-heading { display: flex; align-items: baseline; gap: 7px; margin: 8px 0 10px; }
271
+ .tcw-home-workflow-heading .tcw-home-section-title { margin: 0; }
272
+ .tcw-home-workflow-heading > p { margin: 0; color: #7c8492; font-size: 14px; }
273
+ .tcw-home-workflow { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); grid-template-areas: "step-1 step-2 step-3 step-4 step-5 step-6 step-7 step-8"; gap: 8px; padding: 0 0 4px; }
274
+ .tcw-home-workflow-step { --tcw-home-tone: #0878f9; position: relative; display: grid; align-content: start; justify-items: center; min-width: 0; width: 100%; height: 88px; padding: 8px 6px 4px; border: 1px solid #d7e7fb; border-radius: 7px; color: var(--tcw-home-tone); text-align: center; }
275
+ .tcw-home-workflow-step > i:not(.tcw-home-workflow-connector) { margin: 0 0 4px; font-size: 18px; }
276
+ .tcw-home-workflow-step h3 { display: grid; justify-items: center; margin: 0; font-size: 14px; line-height: 1.55; }
277
+ .tcw-home-step-title-line { display: block; max-width: 100%; white-space: nowrap; }
278
+ .tcw-home-workflow-step p { margin: 4px 0 0; color: #4b5565; font-size: 12px; line-height: 1.35; overflow-wrap: anywhere; }
279
+ .tcw-home-step-number { position: absolute; top: -20px; left: 50%; display: grid; width: 27px; height: 27px; place-items: center; border: 2px solid #fff; border-radius: 50%; color: #fff; background: var(--tcw-home-tone); font-size: 13px; transform: translateX(-50%); }
280
+ .tcw-home-workflow-step--green { --tcw-home-tone: #14945a; border-color: #d8ebe2; }
281
+ .tcw-home-workflow-step--violet { --tcw-home-tone: #6745ba; border-color: #e2daf3; }
282
+ .tcw-home-workflow-step--orange { --tcw-home-tone: #f0780b; border-color: #f8dfcd; }
283
+ .tcw-home-workflow-connector { position: absolute; color: #111923; font-size: 21px; }
284
+ .tcw-home-workflow-connector[data-desktop-direction="right"] { top: 50%; right: -23px; bottom: auto; left: auto; transform: translateY(-50%); }
285
+ .tcw-home-workflow-connector[data-desktop-direction="down"] { top: auto; right: 50%; bottom: -28px; left: auto; transform: translateX(50%) rotate(90deg); }
286
+ .tcw-home-workflow-connector[data-desktop-direction="left"] { top: 50%; right: auto; bottom: auto; left: -31px; transform: translateY(-50%) rotate(180deg); }
287
+ .tcw-home-footer-notice { display: flex; min-height: 47px; align-items: center; gap: 10px; padding: 8px 14px; border: 1px solid #cfe3ff; border-radius: 6px; color: #344054; background: #f7fbff; font-size: 13px; }
288
+ .tcw-home-footer-notice i { color: #0878f9; font-size: 18px; }
289
+
290
+ @media (max-width: 1180px) {
291
+ .tcw-home-workflow { grid-template-columns: repeat(4, minmax(0, 1fr)); grid-template-areas: "step-1 step-2 step-3 step-4" "step-8 step-7 step-6 step-5"; gap: 12px 14px; }
292
+ .tcw-home-workflow-step { height: auto; min-height: 88px; }
293
+ .tcw-home-risk-matrix { grid-template-columns: repeat(2, minmax(0, 1fr)); }
294
+ }
295
+
296
+ @media (max-width: 900px) {
297
+ .tcw-home-workflow { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-areas: "step-1 step-2" "step-4 step-3" "step-5 step-6" "step-8 step-7"; }
298
+ .tcw-home-workflow-connector[data-tablet-direction="right"] { top: 50%; right: -30px; bottom: auto; left: auto; transform: translateY(-50%); }
299
+ .tcw-home-workflow-connector[data-tablet-direction="down"] { top: auto; right: 50%; bottom: -28px; left: auto; transform: translateX(50%) rotate(90deg); }
300
+ .tcw-home-workflow-connector[data-tablet-direction="left"] { top: 50%; right: auto; bottom: auto; left: -30px; transform: translateY(-50%) rotate(180deg); }
301
+ }
302
+
303
+ @media (max-width: 620px) {
304
+ .tcw-home-page { gap: 16px; }
305
+ .tcw-home-section { padding: 17px 14px; }
306
+ .tcw-home-risk-matrix { grid-template-columns: 1fr; }
307
+ .tcw-home-risk-item { min-height: 0; }
308
+ .tcw-home-workflow-heading { display: block; }
309
+ .tcw-home-workflow-heading > p { margin-top: 7px; }
310
+ .tcw-home-workflow { grid-template-columns: 1fr; grid-template-areas: "step-1" "step-2" "step-3" "step-4" "step-5" "step-6" "step-7" "step-8"; }
311
+ .tcw-home-workflow-connector[data-mobile-direction="down"] { top: auto; right: 50%; bottom: -28px; left: auto; transform: translateX(50%) rotate(90deg); }
312
+ }
313
+
314
+ .tcw-catalog-import-failure { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 14px 16px; border: 1px solid #efbaba; border-left: 4px solid var(--tcw-danger); border-radius: 5px; color: #8f2929; background: var(--tcw-danger-soft); }
315
+ .tcw-catalog-import-failure p { margin: 5px 0 0; line-height: 1.6; }
316
+ .tcw-catalog-issue-toolbar { display: inline-flex; margin-bottom: 14px; border: 1px solid var(--tcw-border); border-radius: 4px; overflow: hidden; }
317
+ .tcw-catalog-issue-toolbar button { min-width: 88px; min-height: 34px; padding: 0 14px; border: 0; border-right: 1px solid var(--tcw-border); color: #455266; background: #fff; }
318
+ .tcw-catalog-issue-toolbar button:last-child { border-right: 0; }
319
+ .tcw-catalog-issue-toolbar button.is-active { color: #fff; background: var(--tcw-primary); }
320
+ .tcw-catalog-issue-toolbar button:disabled { cursor: not-allowed; opacity: .55; }
321
+ .tcw-catalog-issue-status { margin: 0; padding: 16px; color: var(--tcw-muted); text-align: center; }
322
+ .tcw-catalog-issue-error { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 16px; border: 1px solid #efbaba; border-radius: 4px; color: var(--tcw-danger); background: var(--tcw-danger-soft); }
323
+
324
+ @media (max-width: 620px) {
325
+ .tcw-catalog-import-failure { align-items: stretch; flex-direction: column; }
326
+ }
327
+
328
+ .tcw-procurement-page { display: grid; gap: 10px; min-width: 0; }
329
+ .tcw-procurement-toolbar { display: flex; justify-content: flex-end; min-height: 36px; }
330
+ .tcw-button:has(> .tcw-procurement-file-input) { position: relative; overflow: hidden; }
331
+ .tcw-procurement-file-input { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; color: transparent; font-size: 0; cursor: pointer; }
332
+ .tcw-procurement-import-failure { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 11px 14px; border: 1px solid #efb4b4; border-radius: 4px; color: #9d2929; background: #fff4f4; }
333
+ .tcw-procurement-link { padding: 2px 0; border: 0; color: var(--tcw-primary); background: transparent; }
334
+ .tcw-procurement-status { display: inline-flex; min-height: 25px; align-items: center; padding: 2px 8px; border-radius: 3px; font-size: 12px; font-weight: 650; }
335
+ .tcw-procurement-status--success { color: #167849; background: #e8f7ef; }
336
+ .tcw-procurement-status--warning { color: #9b6300; background: #fff3d6; }
337
+ .tcw-procurement-status--danger { color: #b52b2b; background: #fdeaea; }
338
+ .tcw-procurement-status--muted { color: #526174; background: #edf1f5; }
339
+ .tcw-procurement-context { display: grid; grid-template-columns: repeat(4, minmax(130px, 1fr)) auto; gap: 0; align-items: stretch; overflow: hidden; border: 1px solid var(--tcw-border); border-radius: 5px; background: var(--tcw-surface); }
340
+ .tcw-procurement-context > div:not(.tcw-procurement-context-actions) { display: grid; align-content: center; gap: 5px; min-height: 60px; padding: 8px 12px; border-right: 1px solid var(--tcw-border-soft); }
341
+ .tcw-procurement-context span { color: var(--tcw-muted); font-size: 12px; }
342
+ .tcw-procurement-context strong { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 14px; }
343
+ .tcw-procurement-context-actions { display: flex; align-items: center; justify-content: flex-end; gap: 8px; padding: 10px 12px; }
344
+ .tcw-procurement-metrics { display: grid; grid-template-columns: repeat(4, minmax(130px, .8fr)) minmax(260px, 1.5fr); gap: 10px; }
345
+ .tcw-procurement-metrics > div { display: grid; align-content: center; min-height: 68px; padding: 8px 10px; border: 1px solid var(--tcw-border); border-radius: 5px; background: var(--tcw-surface); }
346
+ .tcw-procurement-metrics > div > span { color: var(--tcw-muted); font-size: 13px; }
347
+ .tcw-procurement-metrics > div > strong { margin-top: 5px; font-size: 18px; font-weight: 700; }
348
+ .tcw-procurement-top ol { display: grid; gap: 5px; margin: 9px 0 0; padding: 0; list-style: none; counter-reset: procurement-top; }
349
+ .tcw-procurement-top li { display: flex; justify-content: space-between; gap: 12px; min-width: 0; counter-increment: procurement-top; }
350
+ .tcw-procurement-top li::before { display: inline-grid; flex: 0 0 18px; width: 18px; height: 18px; place-items: center; border-radius: 50%; color: #fff; background: var(--tcw-primary); font-size: 10px; content: counter(procurement-top); }
351
+ .tcw-procurement-top li span { flex: 1 1 auto; min-width: 0; overflow: hidden; color: var(--tcw-text); text-overflow: ellipsis; white-space: nowrap; }
352
+ .tcw-procurement-top li strong { flex: 0 0 auto; font-size: 12px; }
353
+ .tcw-procurement-top small { display: block; margin-top: 16px; color: var(--tcw-muted); }
354
+ .tcw-procurement-audit-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; margin-top: 18px; padding: 13px 15px; border: 1px solid var(--tcw-border-soft); background: #f8fafc; }
355
+ .tcw-procurement-source-label { display: inline-flex; margin-bottom: 15px; padding: 5px 9px; border: 1px solid var(--tcw-border); border-radius: 3px; color: var(--tcw-muted); background: #f8fafc; font-size: 12px; }
356
+ .tcw-procurement-inline-field { display: grid; grid-template-columns: minmax(0, 1fr) auto; }
357
+ .tcw-procurement-inline-field input { border-radius: 4px 0 0 4px; }
358
+ .tcw-procurement-inline-field button { border-left: 0; border-radius: 0 4px 4px 0; }
359
+ .tcw-modal:has(.tcw-procurement-review-compact) { width: min(980px, calc(100vw - 32px)); height: min(600px, calc(100vh - 32px)); max-height: none; }
360
+ .tcw-modal:has(.tcw-procurement-review-compact) > .tcw-modal-body { padding: 0; overflow: hidden; }
361
+ .tcw-procurement-review-editor { display: grid; gap: 12px; }
362
+ .tcw-procurement-review-section { min-width: 0; padding-bottom: 16px; border-bottom: 1px solid var(--tcw-border); }
363
+ .tcw-procurement-review-section:last-child { padding-bottom: 0; border-bottom: 0; }
364
+ .tcw-procurement-review-section > h3 { margin: 0 0 12px; font-size: 15px; }
365
+ .tcw-procurement-review-lines { display: grid; gap: 10px; }
366
+ .tcw-procurement-review-line { padding: 10px; border: 1px solid var(--tcw-border); border-radius: 5px; background: #fbfcfe; }
367
+ .tcw-procurement-review-line h4 { display: flex; align-items: center; gap: 8px; margin: 0 0 10px; font-size: 14px; }
368
+ .tcw-procurement-review-compact { display: grid; grid-template-columns: minmax(0, 62fr) minmax(310px, 38fr); min-height: 0; height: 100%; }
369
+ .tcw-procurement-review-editor-pane, .tcw-procurement-review-source-pane { min-width: 0; min-height: 0; padding: 12px 14px; overflow: auto; }
370
+ .tcw-procurement-review-source-pane { display: grid; grid-template-rows: auto minmax(0, 1fr); gap: 8px; border-left: 1px solid var(--tcw-border); background: #f5f7fa; }
371
+ .tcw-procurement-review-editor-pane > h3, .tcw-procurement-review-source-pane > h3 { margin: 0 0 10px; font-size: 14px; }
372
+ .tcw-procurement-review-compact .tcw-procurement-review-editor { gap: 10px; }
373
+ .tcw-procurement-review-compact .tcw-procurement-review-section { padding-bottom: 12px; }
374
+ .tcw-procurement-review-compact .tcw-procurement-review-section > h3 { margin-bottom: 8px; font-size: 14px; }
375
+ .tcw-procurement-review-compact .tcw-field-grid { gap: 8px 10px; }
376
+ .tcw-procurement-review-compact .tcw-form-field { gap: 5px; }
377
+ .tcw-procurement-review-compact .tcw-form-field > span { font-size: 12px; }
378
+ .tcw-procurement-review-compact input, .tcw-procurement-review-compact select { min-height: 32px; }
379
+ .tcw-procurement-review-compact .tcw-procurement-review-line { padding: 10px; }
380
+ .tcw-procurement-review-compact .tcw-procurement-review-line h4 { margin-bottom: 8px; }
381
+ .tcw-procurement-review-more { grid-column: 1 / -1; margin-top: 10px; padding-top: 10px; border-top: 1px dashed var(--tcw-border); }
382
+ .tcw-procurement-review-more summary { cursor: pointer; color: var(--tcw-primary); font-size: 13px; font-weight: 650; }
383
+ .tcw-procurement-review-more .tcw-field-grid { margin-top: 10px; }
384
+ .tcw-procurement-source { display: grid; grid-template-rows: auto minmax(360px, 1fr); gap: 12px; height: 100%; }
385
+ .tcw-procurement-source iframe, .tcw-procurement-source pre { width: 100%; min-height: 420px; margin: 0; border: 1px solid var(--tcw-border); background: #f7f8fa; }
386
+ .tcw-procurement-source iframe { height: 100%; }
387
+ .tcw-procurement-source pre { padding: 18px; overflow: auto; white-space: pre-wrap; }
388
+ .tcw-procurement-review-source-pane .tcw-procurement-source { grid-template-rows: auto minmax(0, 1fr); min-height: 0; }
389
+ .tcw-procurement-review-source-pane .tcw-procurement-source iframe,
390
+ .tcw-procurement-review-source-pane .tcw-procurement-source pre { min-height: 0; height: 100%; background: #fff; }
391
+ .tcw-procurement-checkbox { display: flex; align-items: center; gap: 8px; min-height: var(--tcw-control-height); }
392
+ .tcw-procurement-checkbox input { width: 16px; height: 16px; }
393
+ .tcw-procurement-delete-summary { display: grid; gap: 8px; width: 100%; }
394
+ .tcw-procurement-delete-summary > strong { font-size: 15px; }
395
+ .tcw-procurement-delete-summary > span { color: #4d5b70; }
396
+ .tcw-procurement-delete-summary > b { margin-top: 5px; padding: 10px; color: #9e3030; background: var(--tcw-danger-soft); line-height: 1.6; }
397
+
398
+ @media (max-width: 1320px) {
399
+ .tcw-procurement-context { grid-template-columns: repeat(2, minmax(160px, 1fr)); }
400
+ .tcw-procurement-context-actions { grid-column: 1 / -1; border-top: 1px solid var(--tcw-border-soft); }
401
+ .tcw-procurement-metrics { grid-template-columns: repeat(2, minmax(160px, 1fr)); }
402
+ .tcw-procurement-top { grid-column: 1 / -1; }
403
+ }
404
+
405
+ @media (max-width: 980px) {
406
+ .tcw-procurement-review-compact { grid-template-columns: 1fr; }
407
+ .tcw-procurement-review-source-pane { min-height: 360px; border-left: 0; border-top: 1px solid var(--tcw-border); }
408
+ }
409
+
410
+ @media (max-width: 760px) {
411
+ .tcw-procurement-toolbar { justify-content: flex-start; }
412
+ .tcw-procurement-context, .tcw-procurement-metrics { grid-template-columns: 1fr; }
413
+ .tcw-procurement-context-actions, .tcw-procurement-top { grid-column: auto; }
414
+ .tcw-procurement-context-actions { align-items: stretch; flex-direction: column; }
415
+ .tcw-procurement-context > div:not(.tcw-procurement-context-actions) { border-right: 0; border-bottom: 1px solid var(--tcw-border-soft); }
416
+ .tcw-procurement-inline-field { grid-template-columns: 1fr; gap: 7px; }
417
+ .tcw-procurement-inline-field input, .tcw-procurement-inline-field button { border: 1px solid var(--tcw-border); border-radius: 4px; }
418
+ }
419
+
420
+ .tcw-contract-page { min-width: 0; }
421
+ .tcw-contract-page .tcw-modal--wide { width: min(1040px, calc(100vw - 64px)); max-height: min(720px, calc(100vh - 64px)); }
422
+ .tcw-contract-toolbar { display: flex; justify-content: flex-end; margin-bottom: 10px; }
423
+ .tcw-contract-customer-code { display: block; margin-top: 3px; color: var(--tcw-muted); font-weight: 400; }
424
+ .tcw-contract-import-status, .tcw-contract-page-error, .tcw-contract-dialog-error { margin: 0 0 14px; padding: 12px 14px; border: 1px solid #bcd6f2; border-radius: 4px; color: #285c91; background: #f0f7ff; }
425
+ .tcw-contract-page-error, .tcw-contract-dialog-error { border-color: #efbaba; color: var(--tcw-danger); background: var(--tcw-danger-soft); }
426
+ .tcw-contract-selected-file { margin: 14px 0 0; }
427
+ .tcw-contract-review-header { display: grid; grid-template-columns: minmax(150px, .7fr) minmax(0, 1.8fr) auto auto; align-items: end; gap: 12px; padding: 12px 14px; border: 1px solid var(--tcw-border); border-radius: 5px; background: #f8fafc; }
428
+ .tcw-contract-summary-customer { display: grid; align-self: stretch; align-content: center; min-width: 0; padding-right: 12px; border-right: 1px solid var(--tcw-border-soft); }
429
+ .tcw-contract-summary-customer span, .tcw-contract-summary-customer small { color: var(--tcw-muted); font-size: 12px; }
430
+ .tcw-contract-summary-customer strong { margin: 5px 0 2px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
431
+ .tcw-contract-customer-master { margin-top: 14px; border: 1px solid var(--tcw-border); border-radius: 5px; }
432
+ .tcw-contract-customer-master summary { padding: 13px 15px; cursor: pointer; font-weight: 650; }
433
+ .tcw-contract-customer-master > .tcw-field-grid { padding: 2px 15px 16px; }
434
+ .tcw-contract-review-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 44px; margin-top: 8px; }
435
+ .tcw-contract-review-layout { display: grid; grid-template-columns: 136px minmax(276px, .95fr) minmax(320px, 1.05fr); min-height: 360px; border: 1px solid var(--tcw-border); border-radius: 5px; overflow: hidden; }
436
+ .tcw-contract-clause-tabs { padding: 10px 0; border-right: 1px solid var(--tcw-border); background: #f8fafc; }
437
+ .tcw-contract-clause-tabs button { display: grid; width: 100%; min-height: 34px; align-content: center; gap: 2px; padding: 5px 9px; border: 0; border-left: 3px solid transparent; color: #3e4b60; background: transparent; text-align: left; }
438
+ .tcw-contract-clause-tabs button.is-active { border-left-color: var(--tcw-primary); color: var(--tcw-primary); background: var(--tcw-primary-soft); font-weight: 650; }
439
+ .tcw-contract-clause-tabs small { color: var(--tcw-muted); font-size: 11px; font-weight: 400; }
440
+ .tcw-contract-clause-editor, .tcw-contract-source-preview { min-width: 0; padding: 10px; }
441
+ .tcw-contract-clause-editor { display: grid; align-content: start; gap: 10px; border-right: 1px solid var(--tcw-border); }
442
+ .tcw-contract-clause-editor > h3, .tcw-contract-source-preview > h3 { margin: 0 0 2px; font-size: 15px; }
443
+ .tcw-contract-clause-status { max-width: 148px; }
444
+ .tcw-contract-analysis { padding: 12px; border: 1px solid var(--tcw-border); border-left: 3px solid var(--tcw-primary); background: #f8fafc; }
445
+ .tcw-contract-analysis h4 { margin: 0 0 8px; font-size: 14px; }
446
+ .tcw-contract-analysis dl { margin: 8px 0 0; }
447
+ .tcw-contract-analysis dt { margin-top: 8px; color: var(--tcw-muted); font-size: 12px; font-weight: 650; }
448
+ .tcw-contract-analysis dd { margin: 3px 0 0; line-height: 1.55; white-space: normal; }
449
+ .tcw-contract-source-preview { display: grid; grid-template-rows: auto minmax(0, 1fr); background: #f3f5f8; }
450
+ .tcw-contract-source-preview iframe { width: 100%; min-height: 260px; border: 1px solid var(--tcw-border); background: #fff; }
451
+ .tcw-contract-source-preview pre { min-height: 260px; margin: 0; padding: 10px; overflow: auto; border: 1px solid var(--tcw-border); background: #fff; font: inherit; line-height: 1.55; white-space: pre-wrap; }
452
+ .tcw-contract-preview-unavailable { display: grid; min-height: 260px; place-items: center; align-content: center; padding: 12px; border: 1px dashed #aab6c5; color: var(--tcw-muted); background: #fff; text-align: center; }
453
+ .tcw-contract-preview-unavailable i { font-size: 18px; }
454
+ .tcw-contract-preview-unavailable p { margin: 12px 0 5px; color: #46546a; }
455
+ .tcw-contract-risk, .tcw-contract-sanction { display: inline-flex; align-items: center; min-height: 24px; padding: 2px 8px; border: 1px solid; border-radius: 3px; font-size: 12px; white-space: nowrap; }
456
+ .tcw-contract-risk--high, .tcw-contract-sanction--hit { border-color: #efbaba; color: var(--tcw-danger); background: var(--tcw-danger-soft); }
457
+ .tcw-contract-risk--medium, .tcw-contract-sanction--unchecked { border-color: #e7c786; color: #9b650e; background: #fff8e8; }
458
+ .tcw-contract-risk--low, .tcw-contract-sanction--clear { border-color: #add6bf; color: var(--tcw-success); background: #f0faf4; }
459
+
460
+ @media (max-width: 1180px) {
461
+ .tcw-contract-review-header { grid-template-columns: minmax(150px, .6fr) minmax(0, 1.4fr) auto auto; }
462
+ .tcw-contract-review-layout { grid-template-columns: 150px minmax(340px, 1fr); }
463
+ .tcw-contract-source-preview { grid-column: 1 / -1; border-top: 1px solid var(--tcw-border); }
464
+ }
465
+
466
+ @media (max-width: 760px) {
467
+ .tcw-contract-page .tcw-modal--wide { width: calc(100vw - 12px); max-height: calc(100vh - 12px); }
468
+ .tcw-contract-review-header { grid-template-columns: 1fr; align-items: start; }
469
+ .tcw-contract-review-layout { grid-template-columns: 1fr; }
470
+ .tcw-contract-clause-tabs { display: flex; overflow-x: auto; border-right: 0; border-bottom: 1px solid var(--tcw-border); }
471
+ .tcw-contract-clause-tabs button { flex: 0 0 128px; border-bottom: 3px solid transparent; border-left: 0; }
472
+ .tcw-contract-clause-tabs button.is-active { border-bottom-color: var(--tcw-primary); border-left: 0; }
473
+ .tcw-contract-clause-editor { border-right: 0; }
474
+ .tcw-contract-source-preview { grid-column: auto; }
475
+ }
476
+
477
+ .tcw-page-analytics .tcw-content { padding: 14px 16px 18px; }
478
+ .tcw-analytics-page { display: grid; min-width: 0; gap: 8px; }
479
+ .tcw-analytics-overview-header { display: flex; min-width: 0; align-items: flex-end; justify-content: space-between; gap: 12px; }
480
+ .tcw-analytics-overview-header .tcw-page-tabs { min-width: 0; flex: 1 1 auto; }
481
+ .tcw-analytics-summary, .tcw-analytics-query { display: grid; min-width: 0; gap: 8px; }
482
+ .tcw-analytics-query .tcw-filter-panel { margin-bottom: 0; }
483
+ .tcw-page-tabs { display: flex; min-height: 34px; gap: 12px; border-bottom: 1px solid var(--tcw-border); }
484
+ .tcw-page-tabs button { position: relative; padding: 0 2px 8px; border: 0; color: var(--tcw-muted); background: transparent; font-size: 14px; font-weight: 650; }
485
+ .tcw-page-tabs button[aria-selected="true"] { color: var(--tcw-primary); }
486
+ .tcw-page-tabs button[aria-selected="true"]::after { position: absolute; right: 0; bottom: -1px; left: 0; height: 2px; background: var(--tcw-primary); content: ""; }
487
+ .tcw-analytics-year { color: var(--tcw-muted); font-size: 12px; font-weight: 650; }
488
+ .tcw-analytics-toolbar { display: flex; min-width: 0; min-height: 36px; align-items: center; gap: 8px; }
489
+ .tcw-analytics-toolbar > .tcw-button { margin-left: auto; }
490
+ .tcw-segmented-control { display: inline-flex; flex: 0 0 auto; overflow: hidden; border: 1px solid var(--tcw-border); border-radius: 4px; }
491
+ .tcw-segmented-control button { min-width: 90px; min-height: 34px; padding: 0 13px; border: 0; border-right: 1px solid var(--tcw-border); color: #4b586b; background: #fff; }
492
+ .tcw-segmented-control button:last-child { border-right: 0; }
493
+ .tcw-segmented-control button[aria-pressed="true"] { color: var(--tcw-primary); background: var(--tcw-primary-soft); font-weight: 650; }
494
+ .tcw-analytics-switches { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
495
+ .tcw-toggle { display: inline-flex; min-height: 32px; align-items: center; gap: 7px; color: #46546a; font-size: 13px; }
496
+ .tcw-toggle input { width: 16px; height: 16px; margin: 0; accent-color: var(--tcw-primary); }
497
+ .tcw-inline-loading { display: flex; min-height: 42px; align-items: center; justify-content: center; gap: 9px; border: 1px solid #bcd6f2; color: #285c91; background: #f0f7ff; }
498
+ .tcw-analytics-page .tcw-metric-grid { display: grid; grid-template-columns: repeat(5, minmax(136px, 1fr)); gap: 8px; min-width: 0; margin-bottom: 0; overflow-x: auto; }
499
+ .tcw-analytics-page .tcw-metric-grid article { display: grid; min-width: 136px; min-height: 64px; align-content: center; gap: 3px; padding: 7px 10px; border: 1px solid var(--tcw-border); border-left: 1px solid var(--tcw-border); border-radius: 5px; background: var(--tcw-surface); }
500
+ .tcw-analytics-page .tcw-metric-grid span { color: var(--tcw-muted); font-size: 12px; }
501
+ .tcw-analytics-page .tcw-metric-grid strong { min-width: 0; overflow: hidden; color: #202b3c; font-size: 17px; text-overflow: ellipsis; white-space: nowrap; }
502
+ .tcw-analytics-page .tcw-sales-top { display: grid; min-width: 0; gap: 6px; margin-bottom: 0; padding: 8px 10px; border: 0; border-top: 1px solid var(--tcw-border); border-bottom: 1px solid var(--tcw-border); border-radius: 0; background: #fbfcfe; }
503
+ .tcw-analytics-page .tcw-sales-top > strong { font-size: 13px; }
504
+ .tcw-analytics-page .tcw-sales-top ol { display: grid; grid-template-columns: repeat(5, minmax(140px, 1fr)); gap: 0; margin: 0; padding: 0; overflow-x: auto; list-style: none; counter-reset: analytics-top; }
505
+ .tcw-analytics-page .tcw-sales-top li { display: grid; min-width: 140px; grid-template-columns: 22px minmax(0, 1fr); gap: 2px 7px; padding: 2px 8px; border-left: 0; border-right: 1px solid var(--tcw-border-soft); counter-increment: analytics-top; }
506
+ .tcw-analytics-page .tcw-sales-top li::before { grid-row: 1 / 3; align-self: center; color: var(--tcw-primary); font-weight: 700; content: counter(analytics-top); }
507
+ .tcw-analytics-page .tcw-sales-top li span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; }
508
+ .tcw-analytics-page .tcw-sales-top li b { color: #263448; font-size: 12px; font-weight: 650; }
509
+ .tcw-analytics-page .tcw-sales-top small { color: var(--tcw-muted); }
510
+
511
+ .tcw-settings-page { display: grid; min-width: 0; grid-template-columns: 218px minmax(0, 1fr); min-height: 520px; border: 1px solid var(--tcw-border); background: var(--tcw-surface); }
512
+ .tcw-settings-navigation { padding: 8px 0; border-right: 1px solid var(--tcw-border); background: #f8fafc; }
513
+ .tcw-settings-navigation button { display: grid; width: 100%; min-height: 46px; grid-template-columns: 22px minmax(0, 1fr); align-items: center; gap: 8px; padding: 7px 12px; border: 0; border-left: 3px solid transparent; color: #3e4b60; background: transparent; text-align: left; }
514
+ .tcw-settings-navigation button:hover { background: #f0f3f7; }
515
+ .tcw-settings-navigation button.is-active { border-left-color: var(--tcw-primary); color: var(--tcw-primary); background: var(--tcw-primary-soft); font-weight: 650; }
516
+ .tcw-settings-navigation i { font-size: 17px; }
517
+ .tcw-settings-navigation span { min-width: 0; overflow-wrap: anywhere; }
518
+ .tcw-settings-navigation small { display: block; margin-top: 3px; overflow: hidden; color: var(--tcw-muted); text-overflow: ellipsis; white-space: nowrap; font-size: 10px; font-weight: 400; }
519
+ .tcw-settings-content { min-width: 0; padding: 12px 14px 16px; }
520
+ .tcw-settings-panel { display: grid; min-width: 0; gap: 12px; }
521
+ .tcw-settings-panel > header { display: flex; min-height: 40px; align-items: center; justify-content: space-between; gap: 16px; padding-bottom: 12px; border-bottom: 1px solid var(--tcw-border); }
522
+ .tcw-settings-panel > header > div:first-child { display: flex; min-width: 0; flex-wrap: wrap; align-items: center; gap: 8px; }
523
+ .tcw-settings-panel h2 { margin: 0; font-size: 17px; }
524
+ .tcw-settings-panel header small { color: var(--tcw-muted); font-size: 11px; }
525
+ .tcw-field-error { display: block; margin-top: 5px; color: var(--tcw-danger); }
526
+
527
+ @media (max-width: 900px) {
528
+ .tcw-page-analytics .tcw-analytics-query .tcw-filter-panel {
529
+ min-width: 0;
530
+ max-width: 100%;
531
+ box-sizing: border-box;
532
+ }
533
+ .tcw-page-analytics .tcw-analytics-query .tcw-filter-grid {
534
+ grid-template-columns: repeat(2, minmax(0, 1fr));
535
+ width: 100%;
536
+ min-width: 0;
537
+ max-width: 100%;
538
+ box-sizing: border-box;
539
+ }
540
+ .tcw-page-analytics .tcw-analytics-query .tcw-filter-control {
541
+ width: 100%;
542
+ min-width: 0;
543
+ max-width: 100%;
544
+ box-sizing: border-box;
545
+ }
546
+ .tcw-page-analytics .tcw-filter-control--range > div {
547
+ grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
548
+ min-width: 0;
549
+ }
550
+ .tcw-page-analytics .tcw-analytics-query .tcw-filter-control input {
551
+ width: 100%;
552
+ min-width: 0;
553
+ max-width: 100%;
554
+ box-sizing: border-box;
555
+ }
556
+ .tcw-page-analytics .tcw-analytics-toolbar {
557
+ display: grid;
558
+ grid-template-columns: minmax(0, 1fr);
559
+ align-items: start;
560
+ }
561
+ .tcw-page-analytics .tcw-analytics-toolbar > *,
562
+ .tcw-page-analytics .tcw-analytics-switches,
563
+ .tcw-page-analytics .tcw-segmented-control {
564
+ min-width: 0;
565
+ max-width: 100%;
566
+ }
567
+ .tcw-page-analytics .tcw-analytics-toolbar > .tcw-button {
568
+ margin-left: 0;
569
+ max-width: 100%;
570
+ justify-self: start;
571
+ }
572
+ .tcw-analytics-page .tcw-metric-grid { grid-template-columns: repeat(3, minmax(136px, 1fr)); }
573
+ .tcw-settings-page { grid-template-columns: 190px minmax(0, 1fr); }
574
+ }
575
+
576
+ @media (max-width: 680px) {
577
+ .tcw-page-analytics .tcw-analytics-query .tcw-filter-grid { grid-template-columns: minmax(0, 1fr); }
578
+ .tcw-analytics-toolbar { align-items: flex-start; flex-direction: column; }
579
+ .tcw-analytics-toolbar > .tcw-button { margin-left: 0; }
580
+ .tcw-analytics-page .tcw-metric-grid { grid-template-columns: repeat(2, minmax(136px, 1fr)); }
581
+ .tcw-settings-page { grid-template-columns: 1fr; }
582
+ .tcw-settings-navigation { display: flex; overflow-x: auto; border-right: 0; border-bottom: 1px solid var(--tcw-border); }
583
+ .tcw-settings-navigation button { flex: 0 0 155px; border-bottom: 2px solid transparent; border-left: 0; }
584
+ .tcw-settings-navigation button.is-active { border-bottom-color: var(--tcw-primary); border-left: 0; }
585
+ .tcw-settings-content { padding: 15px; }
586
+ .tcw-settings-panel > header { align-items: flex-start; flex-direction: column; }
587
+ .tcw-settings-panel .tcw-page-commands { width: 100%; flex-wrap: wrap; }
588
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"sales-file.service.d.ts","sourceRoot":"","sources":["../../src/lib/sales-file.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAc,MAAM,SAAS,CAAA;AAMhD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACpC,OAAO,EAA4F,kBAAkB,EAAiF,MAAM,qBAAqB,CAAA;AACjO,OAAO,EAAE,+BAA+B,EAAE,MAAM,wBAAwB,CAAA;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAA;AACxE,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAA;AAGvE,OAAO,EAAuD,KAAK,yBAAyB,EAAE,KAAK,YAAY,EAAE,KAAK,wBAAwB,EAAE,KAAK,wBAAwB,EAAE,KAAK,2BAA2B,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAA;AAMvP,eAAO,MAAM,yBAAyB,QAAmB,CAAA;AACzD,eAAO,MAAM,+BAA+B,OAAO,CAAA;AACnD,eAAO,MAAM,0CAA0C,QAAoB,CAAA;AAC3E,eAAO,MAAM,+BAA+B,QAAS,CAAA;AASrD,KAAK,wBAAwB,GAAG,kBAAkB,GAAG;IAAE,mBAAmB,EAAE,2BAA2B,EAAE,CAAA;CAAE,CAAA;AAC3G,KAAK,8BAA8B,GAAG;IAAE,KAAK,EAAE,wBAAwB,EAAE,CAAA;CAAE,CAAA;AAE3E,qBACa,gBAAgB;IAEL,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC/C,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,UAAU;gBAHU,UAAU,EAAE,UAAU,EAC1C,SAAS,EAAE,+BAA+B,EAC1C,OAAO,EAAE,0BAA0B,EACnC,UAAU,EAAE,mBAAmB;IAG5C,SAAS,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,wBAAwB,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAWlG,QAAQ,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,wBAAwB,GAAG;QAAE,QAAQ,EAAE,UAAU,CAAA;KAAE,GAAG,OAAO,CAAC,8BAA8B,CAAC;IAClI,QAAQ,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,wBAAwB,GAAG;QAAE,QAAQ,EAAE,aAAa,CAAA;KAAE,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAC/H,QAAQ,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,wBAAwB,GAAG,OAAO,CAAC,wBAAwB,GAAG,8BAA8B,CAAC;YAsD1H,QAAQ;IAyDhB,QAAQ,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM;;;;IAKxC,kBAAkB,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,qBAAqB,EAAE,MAAM,CAAA;KAAE;IAqB1I,OAAO,CAAC,sBAAsB;YAKhB,sBAAsB;YAetB,YAAY;YAIZ,eAAe;YAKf,QAAQ;CAKvB;AA6BD,wBAAgB,sBAAsB,CAAC,eAAe,EAAE,KAAK,CAAC;IAAE,SAAS,EAAE,OAAO,CAAA;CAAE,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC;IAAE,mBAAmB,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,yBAAyB,EAAE,CAE7L;AA4DD,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAaxG"}
1
+ {"version":3,"file":"sales-file.service.d.ts","sourceRoot":"","sources":["../../src/lib/sales-file.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAc,MAAM,SAAS,CAAA;AAMhD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACpC,OAAO,EAA4F,kBAAkB,EAAiF,MAAM,qBAAqB,CAAA;AACjO,OAAO,EAAE,+BAA+B,EAAE,MAAM,wBAAwB,CAAA;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAA;AACxE,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAA;AAGvE,OAAO,EAAuD,KAAK,yBAAyB,EAAE,KAAK,YAAY,EAAE,KAAK,wBAAwB,EAAE,KAAK,wBAAwB,EAAE,KAAK,2BAA2B,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAA;AAMvP,eAAO,MAAM,yBAAyB,QAAmB,CAAA;AACzD,eAAO,MAAM,+BAA+B,OAAO,CAAA;AACnD,eAAO,MAAM,0CAA0C,QAAoB,CAAA;AAC3E,eAAO,MAAM,+BAA+B,QAAS,CAAA;AAerD,KAAK,wBAAwB,GAAG,kBAAkB,GAAG;IAAE,mBAAmB,EAAE,2BAA2B,EAAE,CAAA;CAAE,CAAA;AAC3G,KAAK,8BAA8B,GAAG;IAAE,KAAK,EAAE,wBAAwB,EAAE,CAAA;CAAE,CAAA;AAE3E,qBACa,gBAAgB;IAEL,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC/C,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,UAAU;gBAHU,UAAU,EAAE,UAAU,EAC1C,SAAS,EAAE,+BAA+B,EAC1C,OAAO,EAAE,0BAA0B,EACnC,UAAU,EAAE,mBAAmB;IAG5C,SAAS,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,wBAAwB,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAWlG,QAAQ,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,wBAAwB,GAAG;QAAE,QAAQ,EAAE,UAAU,CAAA;KAAE,GAAG,OAAO,CAAC,8BAA8B,CAAC;IAClI,QAAQ,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,wBAAwB,GAAG;QAAE,QAAQ,EAAE,aAAa,CAAA;KAAE,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAC/H,QAAQ,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,wBAAwB,GAAG,OAAO,CAAC,wBAAwB,GAAG,8BAA8B,CAAC;YAsD1H,QAAQ;IAyDhB,QAAQ,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM;;;;IAKxC,kBAAkB,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,qBAAqB,EAAE,MAAM,CAAA;KAAE;IAsB1I,OAAO,CAAC,sBAAsB;YAKhB,sBAAsB;YAetB,YAAY;YAIZ,eAAe;YAKf,QAAQ;CAKvB;AA0CD,wBAAgB,sBAAsB,CAAC,eAAe,EAAE,KAAK,CAAC;IAAE,SAAS,EAAE,OAAO,CAAA;CAAE,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC;IAAE,mBAAmB,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,yBAAyB,EAAE,CAE7L;AA4DD,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAaxG"}