@e-llm-studio/instant-learning 0.1.1-alpha.34 → 0.1.1-alpha.36

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 (55) hide show
  1. package/dist/ThinkingBulbIcon-3OP7E5JZ.gif +0 -0
  2. package/dist/cjs/features/IL-OTJ/ValueTypeWrappers/TeachMeWrapper.js +1 -1
  3. package/dist/cjs/features/LearningManagement/LearningManagement.js +1 -1
  4. package/dist/cjs/features/LearningManagement/RuleContent/RuleContent.js +1 -1
  5. package/dist/cjs/features/LearningManagement/apis/apiConfig.js +1 -1
  6. package/dist/cjs/features/LearningManagement/apis/scopeApis.js +1 -1
  7. package/dist/cjs/features/LearningManagement/components/CreateRuleSetLegacyModal.js +2 -0
  8. package/dist/cjs/features/LearningManagement/components/CreateRuleSetLegacyModal.js.map +1 -0
  9. package/dist/cjs/features/LearningManagement/components/InstantLearningModal.js +1 -1
  10. package/dist/cjs/features/LearningManagement/components/ScopeTree/TreeNode.js +1 -1
  11. package/dist/cjs/features/LearningManagement/components/ScopeTree/TreeSidebar.js +1 -1
  12. package/dist/cjs/features/LearningManagement/components/StationOnboarding/StationOnboardModal.js +1 -1
  13. package/dist/cjs/features/LearningManagement/store/useLearningTemplateStore.js +1 -1
  14. package/dist/cjs/features/LearningManagement/styles/ScopeTree.module.css.js +1 -1
  15. package/dist/cjs/plugins/ValueTypes/Default/DefaultTeachMeRenderer.js +1 -1
  16. package/dist/cjs/plugins/ValueTypes/Guidelines/GuidelinesTeachMeRenderer.js +2 -0
  17. package/dist/cjs/plugins/ValueTypes/Guidelines/GuidelinesTeachMeRenderer.js.map +1 -0
  18. package/dist/features/IL-OTJ/ValueTypeWrappers/TeachMeWrapper.js +1 -1
  19. package/dist/features/LearningManagement/LearningManagement.js +1 -1
  20. package/dist/features/LearningManagement/RuleContent/RuleContent.js +1 -1
  21. package/dist/features/LearningManagement/apis/apiConfig.js +1 -1
  22. package/dist/features/LearningManagement/apis/scopeApis.js +1 -1
  23. package/dist/features/LearningManagement/components/CreateRuleSetLegacyModal.js +2 -0
  24. package/dist/features/LearningManagement/components/CreateRuleSetLegacyModal.js.map +1 -0
  25. package/dist/features/LearningManagement/components/InstantLearningModal.js +1 -1
  26. package/dist/features/LearningManagement/components/ScopeTree/TreeNode.js +1 -1
  27. package/dist/features/LearningManagement/components/ScopeTree/TreeSidebar.js +1 -1
  28. package/dist/features/LearningManagement/components/StationOnboarding/StationOnboardModal.js +1 -1
  29. package/dist/features/LearningManagement/store/useLearningTemplateStore.js +1 -1
  30. package/dist/features/LearningManagement/styles/ScopeTree.module.css.js +1 -1
  31. package/dist/index.css +5038 -0
  32. package/dist/index.css.map +1 -0
  33. package/dist/index.mjs +141951 -0
  34. package/dist/index.mjs.map +1 -0
  35. package/dist/plugins/ValueTypes/Default/DefaultTeachMeRenderer.js +1 -1
  36. package/dist/plugins/ValueTypes/Guidelines/GuidelinesTeachMeRenderer.js +2 -0
  37. package/dist/plugins/ValueTypes/Guidelines/GuidelinesTeachMeRenderer.js.map +1 -0
  38. package/dist/types/src/features/IL-OTJ/ValueTypeWrappers/TeachMeWrapper.d.ts +1 -1
  39. package/dist/types/src/features/IL-OTJ/ValueTypeWrappers/TeachMeWrapper.d.ts.map +1 -1
  40. package/dist/types/src/features/LearningManagement/LearningManagement.d.ts +3 -2
  41. package/dist/types/src/features/LearningManagement/LearningManagement.d.ts.map +1 -1
  42. package/dist/types/src/features/LearningManagement/RuleContent/RuleContent.d.ts.map +1 -1
  43. package/dist/types/src/features/LearningManagement/apis/apiConfig.d.ts +8 -0
  44. package/dist/types/src/features/LearningManagement/apis/apiConfig.d.ts.map +1 -1
  45. package/dist/types/src/features/LearningManagement/apis/scopeApis.d.ts +25 -1
  46. package/dist/types/src/features/LearningManagement/apis/scopeApis.d.ts.map +1 -1
  47. package/dist/types/src/features/LearningManagement/components/CreateRuleSetLegacyModal.d.ts +10 -0
  48. package/dist/types/src/features/LearningManagement/components/CreateRuleSetLegacyModal.d.ts.map +1 -0
  49. package/dist/types/src/features/LearningManagement/components/InstantLearningModal.d.ts.map +1 -1
  50. package/dist/types/src/features/LearningManagement/components/ScopeTree/TreeNode.d.ts.map +1 -1
  51. package/dist/types/src/features/LearningManagement/components/ScopeTree/TreeSidebar.d.ts.map +1 -1
  52. package/dist/types/src/features/LearningManagement/components/StationOnboarding/StationOnboardModal.d.ts.map +1 -1
  53. package/dist/types/src/features/LearningManagement/store/useLearningTemplateStore.d.ts +2 -0
  54. package/dist/types/src/features/LearningManagement/store/useLearningTemplateStore.d.ts.map +1 -1
  55. package/package.json +6 -3
package/dist/index.css ADDED
@@ -0,0 +1,5038 @@
1
+ @import "https://fonts.googleapis.com/css2?family=Inter:wght@400..900&display=swap";
2
+ @import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;700&display=swap";
3
+
4
+ /* src/features/InstantLearning/InstantLearning.module.css */
5
+ .customFont {
6
+ font-family: "Plus Jakarta Sans", sans-serif;
7
+ }
8
+
9
+ /* src/features/InstantLearning/_components/ChatComponent.css */
10
+ .welcome-message {
11
+ display: fixed;
12
+ align-items: flex-start;
13
+ padding: 1rem;
14
+ max-width: 100%;
15
+ font-size: 1rem;
16
+ line-height: 1.75rem;
17
+ border-radius: 0.5rem;
18
+ overflow-wrap: break-word;
19
+ word-break: break-word;
20
+ white-space: pre-wrap;
21
+ color: #333;
22
+ opacity: 0;
23
+ transform: translateY(10px);
24
+ animation: fadeSlideIn 1.2s ease-out forwards;
25
+ }
26
+ @keyframes fadeSlideIn {
27
+ to {
28
+ opacity: 1;
29
+ transform: translateY(0);
30
+ }
31
+ }
32
+
33
+ /* src/features/WtaWnta/WtaWnta.module.css */
34
+ :global(body) {
35
+ font-family: "Inter", sans-serif;
36
+ }
37
+ :global(body) {
38
+ font-family: "Inter", sans-serif;
39
+ }
40
+ .parentContainer {
41
+ display: flex;
42
+ flex-direction: column;
43
+ align-items: center;
44
+ gap: 24px;
45
+ width: 100%;
46
+ }
47
+
48
+ /* src/features/DocumentLearning/InstantLearning.module.css */
49
+ .customFont {
50
+ font-family: "Plus Jakarta Sans", sans-serif;
51
+ }
52
+
53
+ /* src/features/DocumentLearning/_components/ChatComponent.css */
54
+ .welcome-message {
55
+ display: fixed;
56
+ align-items: flex-start;
57
+ padding: 1rem;
58
+ max-width: 100%;
59
+ font-size: 1rem;
60
+ line-height: 1.75rem;
61
+ border-radius: 0.5rem;
62
+ overflow-wrap: break-word;
63
+ word-break: break-word;
64
+ white-space: pre-wrap;
65
+ color: #333;
66
+ opacity: 0;
67
+ transform: translateY(10px);
68
+ animation: fadeSlideIn 1.2s ease-out forwards;
69
+ }
70
+ @keyframes fadeSlideIn {
71
+ to {
72
+ opacity: 1;
73
+ transform: translateY(0);
74
+ }
75
+ }
76
+
77
+ /* src/features/IL-OTJ/_components/ChatComponents/ChatHeader.module.css */
78
+ .chat-header-container {
79
+ width: 100%;
80
+ padding: 0.65rem 1rem;
81
+ display: flex;
82
+ align-items: center;
83
+ justify-content: space-between;
84
+ background-color: #fff;
85
+ border-bottom: 1px solid #e5e7eb;
86
+ position: relative;
87
+ box-sizing: border-box;
88
+ }
89
+ .chat-header-title-wrapper {
90
+ display: flex;
91
+ align-items: center;
92
+ gap: 10px;
93
+ flex: 1;
94
+ min-width: 0;
95
+ }
96
+ .chat-header-icon-container {
97
+ display: flex;
98
+ align-items: center;
99
+ justify-content: center;
100
+ flex-shrink: 0;
101
+ }
102
+ .chat-header-title {
103
+ font-size: 1.125rem;
104
+ font-weight: 500;
105
+ color: #111827;
106
+ white-space: nowrap;
107
+ overflow: hidden;
108
+ text-overflow: ellipsis;
109
+ margin: 0;
110
+ }
111
+ .chat-header-actions {
112
+ display: flex;
113
+ align-items: center;
114
+ gap: 12px;
115
+ padding-left: 1rem;
116
+ }
117
+ .resize-container {
118
+ position: relative;
119
+ display: flex;
120
+ align-items: center;
121
+ }
122
+ .resize-trigger {
123
+ height: 2rem;
124
+ width: 2rem;
125
+ cursor: pointer;
126
+ display: flex;
127
+ align-items: center;
128
+ justify-content: center;
129
+ transition: transform 0.3s ease;
130
+ }
131
+ .resize-dropdown {
132
+ position: absolute;
133
+ top: 35px;
134
+ right: 0;
135
+ background-color: white;
136
+ box-shadow: 0px 8px 20px rgba(0, 0, 0, 0.12);
137
+ border: 1px solid #e5e7eb;
138
+ border-radius: 10px;
139
+ padding: 8px;
140
+ display: flex;
141
+ gap: 6px;
142
+ z-index: 1000;
143
+ white-space: nowrap;
144
+ }
145
+ .resize-option {
146
+ padding: 4px 8px;
147
+ border-radius: 6px;
148
+ cursor: pointer;
149
+ display: flex;
150
+ flex-direction: column;
151
+ align-items: center;
152
+ gap: 2px;
153
+ transition: all 0.2s ease;
154
+ border: 1px solid #f3f4f6;
155
+ background-color: transparent;
156
+ }
157
+ .resize-option.selected {
158
+ background-color: #f0f0ff;
159
+ border: 1px solid #512ced;
160
+ }
161
+ .new-chat-trigger {
162
+ height: 2rem;
163
+ width: 2rem;
164
+ display: flex;
165
+ align-items: center;
166
+ justify-content: center;
167
+ }
168
+ .new-chat-trigger.enabled {
169
+ cursor: pointer;
170
+ opacity: 1;
171
+ }
172
+ .new-chat-trigger.disabled {
173
+ cursor: not-allowed;
174
+ opacity: 0.5;
175
+ }
176
+
177
+ /* src/features/IL-OTJ/_components/atoms/SkeletonLoader/SkeletonLoader.module.css */
178
+ .skeleton {
179
+ background:
180
+ linear-gradient(
181
+ 90deg,
182
+ #e0e0e0 25%,
183
+ #f0f0f0 37%,
184
+ #e0e0e0 63%);
185
+ background-size: 400% 100%;
186
+ animation: skeleton-loading 1.4s ease infinite;
187
+ border-radius: 4px;
188
+ display: inline-flex;
189
+ margin: 0px;
190
+ }
191
+ .skeleton-text {
192
+ height: 14px;
193
+ width: 100%;
194
+ }
195
+ .skeleton-title {
196
+ height: 20px;
197
+ width: 60%;
198
+ }
199
+ .skeleton-avatar {
200
+ width: 48px;
201
+ height: 48px;
202
+ border-radius: 50%;
203
+ }
204
+ .skeleton-image {
205
+ width: 100%;
206
+ height: 180px;
207
+ border-radius: 8px;
208
+ }
209
+ @keyframes skeleton-loading {
210
+ 0% {
211
+ background-position: 100% 0;
212
+ }
213
+ 100% {
214
+ background-position: 0 0;
215
+ }
216
+ }
217
+
218
+ /* src/features/IL-OTJ/_components/ChatComponents/ChatComponent.module.css */
219
+ .welcome-message {
220
+ display: fixed;
221
+ align-items: flex-start;
222
+ padding: 1rem;
223
+ max-width: 100%;
224
+ font-size: 1rem;
225
+ line-height: 1.75rem;
226
+ border-radius: 0.5rem;
227
+ overflow-wrap: break-word;
228
+ word-break: break-word;
229
+ white-space: pre-wrap;
230
+ color: #333;
231
+ opacity: 0;
232
+ transform: translateY(10px);
233
+ animation: fadeSlideIn 1.2s ease-out forwards;
234
+ }
235
+ @keyframes fadeSlideIn {
236
+ to {
237
+ opacity: 1;
238
+ transform: translateY(0);
239
+ }
240
+ }
241
+ .thinkingIndicatorContainer {
242
+ position: relative;
243
+ display: flex;
244
+ align-items: center;
245
+ gap: 8px;
246
+ padding: 8px 12px;
247
+ background-color: transparent;
248
+ border-radius: 4px;
249
+ width: 100%;
250
+ font-family: "Plus Jakarta Sans", sans-serif;
251
+ font-size: 0.875rem;
252
+ color: #6b7280;
253
+ }
254
+ .thinkingText {
255
+ font-size: 0.875rem;
256
+ color: #6b7280;
257
+ font-weight: 500;
258
+ white-space: nowrap;
259
+ }
260
+ .thinkingDot {
261
+ display: inline-block;
262
+ width: 5px;
263
+ height: 5px;
264
+ border-radius: 50%;
265
+ background-color: #6b7280;
266
+ animation: thinkingBounce 1.4s infinite ease-in-out;
267
+ animation-fill-mode: both;
268
+ }
269
+ .thinkingDot:nth-child(2) {
270
+ animation-delay: -0.32s;
271
+ }
272
+ .thinkingDot:nth-child(3) {
273
+ animation-delay: -0.16s;
274
+ }
275
+ .thinkingDot:nth-child(4) {
276
+ animation-delay: 0s;
277
+ }
278
+ @keyframes thinkingBounce {
279
+ 0%, 80%, 100% {
280
+ transform: scale(0);
281
+ }
282
+ 40% {
283
+ transform: scale(1.0);
284
+ }
285
+ }
286
+ .chatContainer {
287
+ height: 100%;
288
+ width: 100%;
289
+ display: flex;
290
+ flex-direction: column;
291
+ align-items: center;
292
+ justify-content: center;
293
+ font-family: "Plus Jakarta Sans", sans-serif;
294
+ background-color: #fbfaff;
295
+ border: 1px solid #d1d5db;
296
+ overflow: hidden;
297
+ }
298
+ .scrollWrapper {
299
+ width: 100%;
300
+ height: 100%;
301
+ background-color: #fbfaff;
302
+ max-width: 100%;
303
+ overflow: auto;
304
+ }
305
+ .stickyHeader {
306
+ position: sticky;
307
+ top: 0;
308
+ z-index: 99;
309
+ background-color: #fbfaff;
310
+ }
311
+ .messagesList {
312
+ flex: 1;
313
+ overflow-y: auto;
314
+ background-color: #fbfaff;
315
+ display: flex;
316
+ flex-direction: column;
317
+ overflow-x: hidden;
318
+ }
319
+ .initialMessageRow {
320
+ display: flex;
321
+ flex-direction: row;
322
+ font-family: inherit;
323
+ padding: 16px 10px 0px 16px;
324
+ }
325
+ .iconWrapper {
326
+ max-height: 32px;
327
+ max-width: 32px;
328
+ margin-top: 0.3rem;
329
+ }
330
+ .welcomeTextWrapper {
331
+ display: flex;
332
+ flex-direction: column;
333
+ font-weight: 400;
334
+ color: #000;
335
+ }
336
+ .welcomeMarkdownWrapper {
337
+ display: inline-flex;
338
+ flex-direction: column;
339
+ align-items: flex-start;
340
+ padding-left: 1rem;
341
+ padding-right: 1rem;
342
+ width: 100%;
343
+ max-width: 100%;
344
+ font-size: 1rem;
345
+ line-height: 1.75rem;
346
+ margin-bottom: 1rem;
347
+ border-radius: 0.5rem;
348
+ overflow-wrap: break-word;
349
+ word-break: break-word;
350
+ white-space: pre-wrap;
351
+ color: #333;
352
+ }
353
+ .messageRow {
354
+ display: flex;
355
+ padding: 0.5rem 1.25rem 0.5rem 1.15rem;
356
+ width: 100%;
357
+ box-sizing: border-box;
358
+ }
359
+ .assistantIconContainer {
360
+ min-width: 32px;
361
+ max-width: 32px;
362
+ margin-top: 0.5rem;
363
+ margin-right: 0.7rem;
364
+ }
365
+ .userSpacer {
366
+ min-width: 32px;
367
+ margin-right: 1rem;
368
+ }
369
+ .messageContent {
370
+ flex: 1;
371
+ min-width: 0;
372
+ }
373
+ .timestamp {
374
+ color: #BFBFBF;
375
+ font-size: 0.75rem;
376
+ margin-top: 4px;
377
+ }
378
+ .userMessageWrapper {
379
+ display: flex;
380
+ flex-direction: column;
381
+ align-items: flex-end;
382
+ }
383
+ .userMessageBubble {
384
+ display: flex;
385
+ align-items: center;
386
+ justify-content: center;
387
+ gap: 3px;
388
+ background-color: #8694A10D;
389
+ padding: 0rem 1rem 0.5rem 1rem;
390
+ border-radius: 8px;
391
+ max-width: 80%;
392
+ }
393
+ .userTimestamp {
394
+ color: #BFBFBF;
395
+ font-size: 0.75rem;
396
+ margin-top: 8px;
397
+ padding-right: 16px;
398
+ }
399
+ .loadingRow {
400
+ display: flex;
401
+ padding: 16px 16px 0px 16px;
402
+ }
403
+ .loadingTextWrapper {
404
+ display: inline-flex;
405
+ align-items: flex-start;
406
+ padding-left: 1rem;
407
+ padding-right: 1rem;
408
+ padding-bottom: 1rem;
409
+ width: 100%;
410
+ max-width: 100%;
411
+ font-size: 1rem;
412
+ line-height: 1.75rem;
413
+ margin-bottom: 1rem;
414
+ border-radius: 0.5rem;
415
+ overflow-wrap: break-word;
416
+ word-break: break-word;
417
+ white-space: pre-wrap;
418
+ color: #333;
419
+ }
420
+ .inputAreaWrapper {
421
+ width: 95%;
422
+ height: fit-content;
423
+ background-color: #fbfaff;
424
+ display: flex;
425
+ flex-direction: column;
426
+ align-items: center;
427
+ justify-content: flex-end;
428
+ position: relative;
429
+ }
430
+ .inputBoxContainer {
431
+ width: 100%;
432
+ background-color: #fff;
433
+ display: flex;
434
+ align-items: flex-end;
435
+ gap: 0.5rem;
436
+ border: 1px solid #E5E7EB;
437
+ border-radius: 8px;
438
+ position: relative;
439
+ }
440
+ .inputBoxContainer.disabled {
441
+ cursor: not-allowed;
442
+ }
443
+ .scrollToBottomBtn {
444
+ position: absolute;
445
+ top: -34px;
446
+ left: 50%;
447
+ display: flex;
448
+ align-items: center;
449
+ justify-content: center;
450
+ cursor: pointer;
451
+ background-color: #ffffff;
452
+ border-radius: 50%;
453
+ width: 24px;
454
+ height: 24px;
455
+ z-index: 10;
456
+ box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
457
+ }
458
+ .chatTextarea {
459
+ flex-grow: 1;
460
+ padding: 12px;
461
+ border-radius: 0.5rem;
462
+ border: none;
463
+ font-size: 1rem;
464
+ line-height: 1.5rem;
465
+ resize: none;
466
+ background-color: #fff;
467
+ color: inherit;
468
+ overflow-y: auto;
469
+ font-family: inherit;
470
+ outline: none;
471
+ transition: min-height 0.3s ease, background-color 0.3s ease;
472
+ box-sizing: border-box;
473
+ }
474
+ .chatTextarea:disabled {
475
+ cursor: not-allowed;
476
+ }
477
+ .sendButtonWrapper {
478
+ display: flex;
479
+ flex-direction: column;
480
+ justify-content: flex-end;
481
+ align-items: flex-end;
482
+ }
483
+ .sendButton {
484
+ padding: 0.5rem 0.75rem;
485
+ border-radius: 0.475rem;
486
+ border: none;
487
+ background-color: white;
488
+ font-weight: bold;
489
+ font-size: 1rem;
490
+ height: 50px;
491
+ transition: background-color 0.3s, color 0.3s;
492
+ }
493
+ .sendButton.active {
494
+ color: #5928ed;
495
+ cursor: pointer;
496
+ }
497
+ .sendButton.disabled {
498
+ color: #d1d5db;
499
+ cursor: not-allowed;
500
+ }
501
+ .footerTools {
502
+ width: 95%;
503
+ display: flex;
504
+ gap: 0.25rem;
505
+ flex-direction: row;
506
+ }
507
+ .footerToolItem {
508
+ width: 50%;
509
+ }
510
+
511
+ /* src/features/IL-OTJ/InstantLearning.module.css */
512
+ .customFont {
513
+ font-family: "Plus Jakarta Sans", sans-serif;
514
+ }
515
+
516
+ /* src/features/LearningManagement/styles/LearningTemplateManagement.module.css */
517
+ .learningManagementContainer {
518
+ font-family: sans-serif;
519
+ }
520
+ .backBtn {
521
+ border-radius: 0.25rem;
522
+ padding: 0.25rem;
523
+ border: none;
524
+ background: transparent;
525
+ cursor: pointer;
526
+ display: inline-flex;
527
+ align-items: center;
528
+ justify-content: center;
529
+ transition: background-color 0.2s;
530
+ }
531
+ .backBtn:hover {
532
+ background-color: #f3f4f6;
533
+ }
534
+ .backIcon {
535
+ height: 1.25rem;
536
+ width: 1.25rem;
537
+ color: #4b5563;
538
+ }
539
+ .mainWrapper {
540
+ width: 100%;
541
+ display: flex;
542
+ justify-content: center;
543
+ align-items: center;
544
+ height: calc(100vh - 140px);
545
+ background-color: #ffffff;
546
+ }
547
+ .errorContainer {
548
+ display: flex;
549
+ flex-direction: column;
550
+ align-items: center;
551
+ justify-content: center;
552
+ text-align: center;
553
+ padding: 2rem;
554
+ background-color: #fef2f2;
555
+ border-radius: 0.5rem;
556
+ border: 1px solid #fecaca;
557
+ max-width: 480px;
558
+ }
559
+ .errorTitle {
560
+ color: #ef4444;
561
+ font-size: 1.125rem;
562
+ font-weight: 600;
563
+ margin-bottom: 0.5rem;
564
+ }
565
+ .errorDesc {
566
+ color: #4b5563;
567
+ margin-bottom: 1rem;
568
+ font-size: 0.875rem;
569
+ }
570
+ .tryAgainBtn {
571
+ padding: 0.5rem 1rem;
572
+ background-color: #ffffff;
573
+ border: 1px solid #d1d5db;
574
+ border-radius: 0.25rem;
575
+ font-size: 0.875rem;
576
+ font-weight: 500;
577
+ color: #374151;
578
+ cursor: pointer;
579
+ transition: background-color 0.2s;
580
+ }
581
+ .tryAgainBtn:hover {
582
+ background-color: #f9fafb;
583
+ }
584
+ .highlight {
585
+ font-weight: 500;
586
+ color: #111827;
587
+ }
588
+
589
+ /* src/features/LearningManagement/styles/EmptyRuleState.module.css */
590
+ .container {
591
+ flex: 1;
592
+ display: flex;
593
+ flex-direction: column;
594
+ align-items: center;
595
+ justify-content: center;
596
+ padding: 2.5rem;
597
+ }
598
+ .card {
599
+ text-align: center;
600
+ width: 100%;
601
+ max-width: 600px;
602
+ padding: 4rem 2.5rem;
603
+ border: 1px solid #f3f4f6;
604
+ border-radius: 1rem;
605
+ background-color: #ffffff;
606
+ box-shadow: 0 4px 30px rgba(0, 0, 0, 0.03);
607
+ display: flex;
608
+ flex-direction: column;
609
+ align-items: center;
610
+ }
611
+ .iconContainer {
612
+ width: 5rem;
613
+ height: 5rem;
614
+ background-color: #f9fafb;
615
+ border-radius: 9999px;
616
+ display: flex;
617
+ align-items: center;
618
+ justify-content: center;
619
+ margin-bottom: 1.5rem;
620
+ position: relative;
621
+ }
622
+ .iconLines {
623
+ display: flex;
624
+ flex-direction: column;
625
+ gap: 0.375rem;
626
+ opacity: 0.2;
627
+ transform: scale(1.1);
628
+ }
629
+ .iconLine {
630
+ height: 0.375rem;
631
+ background-color: #60a5fa;
632
+ border-radius: 9999px;
633
+ }
634
+ .iconLineLong {
635
+ width: 2.5rem;
636
+ }
637
+ .iconLineShort {
638
+ width: 1.75rem;
639
+ }
640
+ .iconBadge {
641
+ position: absolute;
642
+ right: -0.25rem;
643
+ bottom: -0.25rem;
644
+ background-color: #ffffff;
645
+ border-radius: 9999px;
646
+ padding: 0.375rem;
647
+ box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
648
+ border: 1px solid #f9fafb;
649
+ }
650
+ .iconBadge svg {
651
+ color: #d1d5db;
652
+ }
653
+ .title {
654
+ font-size: 1.125rem;
655
+ font-weight: 700;
656
+ color: #111827;
657
+ margin-bottom: 0.5rem;
658
+ }
659
+ .description {
660
+ color: #6b7280;
661
+ margin-bottom: 2rem;
662
+ font-size: 0.875rem;
663
+ }
664
+ .createButton {
665
+ display: flex;
666
+ align-items: center;
667
+ gap: 0.5rem;
668
+ background-color: #2563EB;
669
+ color: #ffffff;
670
+ padding: 0.625rem 1.5rem;
671
+ border-radius: 0.375rem;
672
+ font-size: 0.875rem;
673
+ font-weight: 500;
674
+ border: none;
675
+ cursor: pointer;
676
+ transition: background-color 0.2s, box-shadow 0.2s;
677
+ box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
678
+ }
679
+ .createButton:hover {
680
+ background-color: #1d4ed8;
681
+ box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
682
+ }
683
+
684
+ /* src/features/LearningManagement/styles/LearningContentSkeleton.module.css */
685
+ .content {
686
+ flex: 1;
687
+ display: flex;
688
+ flex-direction: column;
689
+ height: calc(100vh - 140px);
690
+ overflow: hidden;
691
+ background-color: #ffffff;
692
+ }
693
+ .contentHeader {
694
+ padding: 1.5rem 2rem;
695
+ border-bottom: 1px solid #f3f4f6;
696
+ }
697
+ .headerGap {
698
+ display: flex;
699
+ flex-direction: column;
700
+ gap: 1rem;
701
+ }
702
+ .headerRow {
703
+ display: flex;
704
+ justify-content: space-between;
705
+ align-items: flex-start;
706
+ }
707
+ .headerInfo {
708
+ display: flex;
709
+ align-items: center;
710
+ gap: 0.75rem;
711
+ }
712
+ .headerTextGroup {
713
+ display: flex;
714
+ flex-direction: column;
715
+ gap: 0.5rem;
716
+ }
717
+ .headerActions {
718
+ display: flex;
719
+ gap: 0.5rem;
720
+ }
721
+ .tabsRow {
722
+ margin-top: 1rem;
723
+ display: flex;
724
+ gap: 1.5rem;
725
+ border-bottom: 1px solid #e5e7eb;
726
+ }
727
+ .tabItem {
728
+ padding-bottom: 0.75rem;
729
+ padding-left: 0.25rem;
730
+ padding-right: 0.25rem;
731
+ }
732
+ .rulesWrapper {
733
+ flex: 1;
734
+ padding: 1.5rem;
735
+ background-color: rgba(249, 250, 251, 0.5);
736
+ overflow-y: auto;
737
+ }
738
+ .rulesList {
739
+ display: flex;
740
+ flex-direction: column;
741
+ gap: 1.5rem;
742
+ }
743
+ .tierContainer {
744
+ display: flex;
745
+ flex-direction: column;
746
+ gap: 1rem;
747
+ }
748
+ .tierHeaderRow {
749
+ display: flex;
750
+ align-items: center;
751
+ justify-content: space-between;
752
+ }
753
+ .ruleItemCard {
754
+ background-color: #ffffff;
755
+ border-radius: 0.5rem;
756
+ border: 1px solid #e5e7eb;
757
+ padding: 1rem;
758
+ }
759
+ .ruleCardRow {
760
+ display: flex;
761
+ justify-content: space-between;
762
+ align-items: flex-start;
763
+ margin-bottom: 1rem;
764
+ }
765
+ .ruleCardInfo {
766
+ display: flex;
767
+ flex-direction: column;
768
+ gap: 0.5rem;
769
+ }
770
+ .ruleTitleRow {
771
+ display: flex;
772
+ align-items: center;
773
+ gap: 0.5rem;
774
+ }
775
+ .ruleCardFooter {
776
+ display: flex;
777
+ gap: 1rem;
778
+ width: 100%;
779
+ }
780
+
781
+ /* src/features/LearningManagement/styles/skeleton.module.css */
782
+ @keyframes pulse {
783
+ 0%, 100% {
784
+ opacity: 1;
785
+ }
786
+ 50% {
787
+ opacity: 0.5;
788
+ }
789
+ }
790
+ .skeleton {
791
+ background-color: #e5e7eb;
792
+ border-radius: 0.375rem;
793
+ animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
794
+ display: block;
795
+ width: 100%;
796
+ }
797
+
798
+ /* src/features/LearningManagement/styles/RuleHeader.module.css */
799
+ .container {
800
+ display: flex;
801
+ align-items: center;
802
+ justify-content: space-between;
803
+ padding: 1.5rem 2rem;
804
+ border-bottom: 1px solid transparent;
805
+ }
806
+ .info h1 {
807
+ font-size: 1rem;
808
+ font-weight: 600;
809
+ color: #19213D;
810
+ margin-bottom: 0.25rem;
811
+ }
812
+ .description {
813
+ font-size: 0.875rem;
814
+ color: #666F8D;
815
+ font-weight: 400;
816
+ }
817
+ .actions {
818
+ display: flex;
819
+ align-items: center;
820
+ gap: 0.75rem;
821
+ }
822
+ .exemptionButton {
823
+ display: flex;
824
+ align-items: center;
825
+ gap: 0.5rem;
826
+ padding: 0.5rem 1rem;
827
+ font-size: 0.75rem;
828
+ font-weight: 500;
829
+ color: #2563EB;
830
+ background-color: #ffffff;
831
+ border: 1px solid #2563EB;
832
+ border-radius: 0.375rem;
833
+ cursor: pointer;
834
+ transition: background-color 0.2s, color 0.2s;
835
+ white-space: nowrap;
836
+ }
837
+ .exemptionButton:hover {
838
+ background-color: rgba(37, 99, 235, 0.1);
839
+ }
840
+ .addRuleButton {
841
+ display: flex;
842
+ align-items: center;
843
+ gap: 0.5rem;
844
+ padding: 0.5rem 1rem;
845
+ font-size: 0.75rem;
846
+ font-weight: 500;
847
+ color: #ffffff;
848
+ background-color: #2563EB;
849
+ border: none;
850
+ border-radius: 0.375rem;
851
+ cursor: pointer;
852
+ transition: background-color 0.2s;
853
+ white-space: nowrap;
854
+ box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
855
+ }
856
+ .addRuleButton:hover {
857
+ background-color: #1D4ED8;
858
+ }
859
+ .exportButton {
860
+ display: flex;
861
+ align-items: center;
862
+ gap: 0.5rem;
863
+ padding: 0.5rem 1rem;
864
+ font-size: 0.75rem;
865
+ font-weight: 500;
866
+ color: #19213D;
867
+ background-color: #ffffff;
868
+ border: 1px solid #E2E8F0;
869
+ border-radius: 0.375rem;
870
+ cursor: pointer;
871
+ transition: all 0.2s ease;
872
+ white-space: nowrap;
873
+ box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
874
+ }
875
+ .exportButton:hover:not(:disabled) {
876
+ background-color: #F8FAFC;
877
+ border-color: #CBD5E1;
878
+ }
879
+ .exportButton:disabled {
880
+ cursor: not-allowed;
881
+ opacity: 0.7;
882
+ }
883
+
884
+ /* src/features/LearningManagement/styles/RuleAccordion.module.css */
885
+ .accordion {
886
+ border: 1px solid #E3E6EA;
887
+ border-radius: 0.5rem;
888
+ box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
889
+ background-color: #ffffff;
890
+ margin-bottom: 1rem;
891
+ overflow: hidden;
892
+ transition: all 0.2s ease;
893
+ }
894
+ .accordionOpen {
895
+ border-color: #2563EB;
896
+ border-width: 1.5px;
897
+ }
898
+ .accordionHeader {
899
+ display: flex;
900
+ align-items: flex-start;
901
+ justify-content: space-between;
902
+ padding: 1rem;
903
+ cursor: pointer;
904
+ transition: background-color 0.2s ease;
905
+ user-select: none;
906
+ background-color: #ffffff;
907
+ }
908
+ .accordionHeader:hover {
909
+ background-color: #FAFCFF;
910
+ }
911
+ .headerContent {
912
+ display: flex;
913
+ flex-direction: column;
914
+ gap: 0.5rem;
915
+ width: 100%;
916
+ }
917
+ .headerTopRow {
918
+ display: flex;
919
+ justify-content: space-between;
920
+ align-items: flex-start;
921
+ gap: 0.75rem;
922
+ }
923
+ .titleSection {
924
+ display: flex;
925
+ flex-direction: column;
926
+ gap: 0.375rem;
927
+ width: 100%;
928
+ }
929
+ .titleRow {
930
+ display: flex;
931
+ align-items: center;
932
+ gap: 0.5rem;
933
+ }
934
+ .dragHandle {
935
+ margin-right: 0.75rem;
936
+ color: #94a3b8;
937
+ cursor: grab;
938
+ transition: color 0.15s ease-in-out;
939
+ }
940
+ .dragHandle:hover {
941
+ color: #475569;
942
+ }
943
+ .dragHandle:active {
944
+ cursor: grabbing;
945
+ }
946
+ .overriddenTag {
947
+ font-family: sans-serif;
948
+ padding: 2px 8px;
949
+ color: #19213D;
950
+ font-size: 11px;
951
+ font-weight: 500;
952
+ line-height: 16px;
953
+ border-radius: 200px;
954
+ border: 1px solid #F1F5F9;
955
+ background: #F8FAFC;
956
+ }
957
+ .ruleTitle {
958
+ font-size: 0.875rem;
959
+ font-weight: 500;
960
+ color: #19213D;
961
+ }
962
+ .dataSourceTag {
963
+ padding: 0.125rem 0.5rem;
964
+ background-color: #F7F8FA;
965
+ color: #666F8D;
966
+ font-size: 0.75rem;
967
+ font-weight: 500;
968
+ border-radius: 1.5rem;
969
+ border: 1px solid #F3F2F2;
970
+ }
971
+ .learningDisabledPill {
972
+ background-color: #FFF7ED;
973
+ color: #C2410C;
974
+ border: 1px solid #FFEDD5;
975
+ padding: 2px 8px;
976
+ border-radius: 12px;
977
+ font-size: 12px;
978
+ font-weight: 500;
979
+ }
980
+ .headerActions {
981
+ display: flex;
982
+ align-items: center;
983
+ gap: 1rem;
984
+ min-width: fit-content;
985
+ }
986
+ .chevronIcon {
987
+ color: #000000;
988
+ }
989
+ .divider {
990
+ background-color: #F0F2F5;
991
+ height: 1px;
992
+ width: 100%;
993
+ }
994
+ .footerRow {
995
+ display: flex;
996
+ justify-content: space-between;
997
+ width: 100%;
998
+ margin-top: 0.25rem;
999
+ }
1000
+ .headerButtonGroup {
1001
+ display: flex;
1002
+ align-items: center;
1003
+ gap: 1rem;
1004
+ margin-left: auto;
1005
+ }
1006
+ .toggleLearningButton {
1007
+ background: none;
1008
+ border: none;
1009
+ padding: 0;
1010
+ color: #64748B;
1011
+ font-size: 12px;
1012
+ font-weight: 500;
1013
+ cursor: pointer;
1014
+ transition: opacity 0.2s ease;
1015
+ }
1016
+ .toggleLearningButton:disabled {
1017
+ cursor: wait;
1018
+ opacity: 0.6;
1019
+ }
1020
+ .deleteButton {
1021
+ font-size: 0.75rem;
1022
+ font-weight: 500;
1023
+ color: #EF4444;
1024
+ background: none;
1025
+ border: none;
1026
+ cursor: pointer;
1027
+ transition: color 0.2s ease;
1028
+ }
1029
+ .deleteButton:hover {
1030
+ color: #DC2626;
1031
+ }
1032
+ .inheritanceBreadcrumb {
1033
+ display: flex;
1034
+ align-items: center;
1035
+ gap: 0.5rem;
1036
+ font-size: 0.75rem;
1037
+ color: #666F8D;
1038
+ }
1039
+ .inheritanceIcon {
1040
+ color: #0F172A;
1041
+ }
1042
+ .inheritanceLabel {
1043
+ color: #0F172A;
1044
+ font-weight: 400;
1045
+ font-size: 12px;
1046
+ line-height: 150%;
1047
+ }
1048
+ .inheritanceItems {
1049
+ display: flex;
1050
+ align-items: center;
1051
+ gap: 0.25rem;
1052
+ }
1053
+ .inheritanceItem {
1054
+ font-weight: 500;
1055
+ font-size: 11px;
1056
+ border: 1px solid;
1057
+ padding: 4px 6px;
1058
+ border-radius: 9999px;
1059
+ margin-top: 2px;
1060
+ }
1061
+ .inheritanceItemDefault {
1062
+ color: #19213D;
1063
+ background-color: #ffffff;
1064
+ border-color: #F1F5F9;
1065
+ }
1066
+ .inheritanceItemCurrent {
1067
+ color: #2563EB;
1068
+ background-color: #EFF6FF;
1069
+ border-color: #DBEAFE;
1070
+ }
1071
+ .inheritanceArrow {
1072
+ color: #B1B4C0;
1073
+ }
1074
+ .accordionContent {
1075
+ padding: 1rem;
1076
+ background-color: #ffffff;
1077
+ display: flex;
1078
+ flex-direction: column;
1079
+ gap: 1rem;
1080
+ }
1081
+ .contentInner {
1082
+ padding: 1rem;
1083
+ background-color: #FAFCFF;
1084
+ display: flex;
1085
+ flex-direction: column;
1086
+ gap: 1rem;
1087
+ border-radius: 0.5rem;
1088
+ border: 1px solid #E3E6EA;
1089
+ }
1090
+ .contentHeader {
1091
+ display: flex;
1092
+ justify-content: space-between;
1093
+ align-items: center;
1094
+ margin-bottom: 1rem;
1095
+ }
1096
+ .variantChipWrapper {
1097
+ width: 100%;
1098
+ }
1099
+ .variantChip {
1100
+ padding: 0.25rem 0.5rem;
1101
+ background-color: #ffffff;
1102
+ border: 1px solid #F0F2F5;
1103
+ color: #19213D;
1104
+ font-size: 0.75rem;
1105
+ font-weight: 500;
1106
+ border-radius: 0.25rem;
1107
+ }
1108
+ .contentActions {
1109
+ display: flex;
1110
+ align-items: center;
1111
+ gap: 0.75rem;
1112
+ }
1113
+ .overrideButton {
1114
+ font-size: 0.75rem;
1115
+ font-weight: 500;
1116
+ color: #64748B;
1117
+ background: none;
1118
+ border: none;
1119
+ cursor: pointer;
1120
+ display: flex;
1121
+ align-items: center;
1122
+ gap: 0.25rem;
1123
+ transition: color 0.2s ease;
1124
+ text-wrap: nowrap;
1125
+ }
1126
+ .overrideButton:hover {
1127
+ color: #19213D;
1128
+ }
1129
+ .actionDivider {
1130
+ color: #D1D5DB;
1131
+ }
1132
+ .editButton {
1133
+ font-size: 0.75rem;
1134
+ font-weight: 500;
1135
+ color: #2563EB;
1136
+ background: none;
1137
+ border: none;
1138
+ cursor: pointer;
1139
+ transition: color 0.2s ease;
1140
+ }
1141
+ .editButton:hover {
1142
+ color: #1D4ED8;
1143
+ }
1144
+ .descriptionBox {
1145
+ position: relative;
1146
+ z-index: 10;
1147
+ }
1148
+ .descriptionContainer {
1149
+ font-size: 0.9375rem;
1150
+ color: #0F172A;
1151
+ border: 1px solid #E3E6EA;
1152
+ border-radius: 0.5rem;
1153
+ padding: 0.75rem;
1154
+ background-color: #ffffff;
1155
+ box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
1156
+ display: flex;
1157
+ flex-direction: column;
1158
+ align-items: flex-start;
1159
+ gap: 0.5rem;
1160
+ }
1161
+ .descriptionContainerWithHistory {
1162
+ border-color: #E3E6EA;
1163
+ box-shadow: 0 0 0 1px rgba(59, 130, 246, 0.1);
1164
+ }
1165
+ .footerInfoRow {
1166
+ display: flex;
1167
+ align-items: center;
1168
+ justify-content: space-between;
1169
+ flex-wrap: wrap;
1170
+ gap: 0.375rem;
1171
+ }
1172
+ .warningContainer {
1173
+ display: flex;
1174
+ align-items: center;
1175
+ margin-top: 0.5rem;
1176
+ margin-left: 0.5rem;
1177
+ }
1178
+ .warningText {
1179
+ color: #EF4444;
1180
+ font-size: 0.75rem;
1181
+ font-weight: 500;
1182
+ line-height: 120%;
1183
+ margin-left: 0.25rem;
1184
+ }
1185
+ .metadataGroup {
1186
+ display: flex;
1187
+ align-items: center;
1188
+ gap: 0.25rem;
1189
+ }
1190
+ .metadataText {
1191
+ font-size: 0.75rem;
1192
+ font-weight: 500;
1193
+ line-height: 120%;
1194
+ }
1195
+ .descriptionHeader {
1196
+ display: flex;
1197
+ justify-content: space-between;
1198
+ width: 100%;
1199
+ }
1200
+ .descriptionText {
1201
+ line-height: 1.4;
1202
+ font-weight: 500;
1203
+ }
1204
+ .treeContainer {
1205
+ padding-left: 1.5rem;
1206
+ position: relative;
1207
+ padding-top: 0.5rem;
1208
+ }
1209
+ .conditionBlock {
1210
+ position: relative;
1211
+ }
1212
+ .conditionBlockApply .verticalLine {
1213
+ position: absolute;
1214
+ left: 8px;
1215
+ top: -12px;
1216
+ bottom: 0;
1217
+ width: 1px;
1218
+ background-color: #CFD4DC;
1219
+ }
1220
+ .conditionBlockApply .horizontalLine {
1221
+ position: absolute;
1222
+ left: 8px;
1223
+ top: 11px;
1224
+ width: 1.25rem;
1225
+ height: 1.5px;
1226
+ background-color: #CFD4DC;
1227
+ border-radius: 2px;
1228
+ }
1229
+ .conditionBlockNotApply .curvedLine {
1230
+ position: absolute;
1231
+ left: 8px;
1232
+ top: -23px;
1233
+ height: 36px;
1234
+ width: 1.25rem;
1235
+ border-left: 1.5px solid #CFD4DC;
1236
+ border-bottom: 1.5px solid #CFD4DC;
1237
+ border-bottom-left-radius: 0.75rem;
1238
+ }
1239
+ .conditionContent {
1240
+ margin-left: 1.75rem;
1241
+ border-radius: 0.5rem;
1242
+ padding-left: 0px;
1243
+ }
1244
+ .conditionHeader {
1245
+ display: flex;
1246
+ align-items: center;
1247
+ gap: 0.5rem;
1248
+ font-size: 0.875rem;
1249
+ font-weight: 500;
1250
+ color: #6B7280;
1251
+ cursor: pointer;
1252
+ user-select: none;
1253
+ }
1254
+ .conditionHeader:hover .conditionLabel {
1255
+ color: #000000;
1256
+ }
1257
+ .conditionIconWrapper {
1258
+ display: flex;
1259
+ align-items: center;
1260
+ gap: 0.5rem;
1261
+ }
1262
+ .conditionIconApply {
1263
+ background-color: #4AD562;
1264
+ color: #ffffff;
1265
+ border-radius: 9999px;
1266
+ padding: 0.125rem;
1267
+ z-index: 10;
1268
+ box-shadow: 0 0 0 4px #ffffff;
1269
+ position: relative;
1270
+ }
1271
+ .conditionIconNotApply {
1272
+ background-color: #FF6058;
1273
+ color: #ffffff;
1274
+ border-radius: 9999px;
1275
+ padding: 0.125rem;
1276
+ z-index: 10;
1277
+ box-shadow: 0 0 0 4px #ffffff;
1278
+ position: relative;
1279
+ }
1280
+ .conditionLabel {
1281
+ color: #19213D;
1282
+ font-size: 0.875rem;
1283
+ font-weight: 400;
1284
+ transition: color 0.2s ease;
1285
+ }
1286
+ .conditionToggleButton {
1287
+ color: #666F8D;
1288
+ background: none;
1289
+ border: none;
1290
+ cursor: pointer;
1291
+ margin-left: 0.25rem;
1292
+ transition: color 0.2s ease;
1293
+ }
1294
+ .conditionToggleButton:hover {
1295
+ color: #666F8D;
1296
+ }
1297
+ .chevronOpen {
1298
+ }
1299
+ .chevronClosed {
1300
+ transform: rotate(180deg);
1301
+ }
1302
+ .conditionItems {
1303
+ padding-left: 1.25rem;
1304
+ display: flex;
1305
+ flex-direction: column;
1306
+ gap: 0.5rem;
1307
+ }
1308
+ .conditionItemContainer {
1309
+ display: flex;
1310
+ flex-direction: column;
1311
+ font-size: 0.875rem;
1312
+ color: #19213D;
1313
+ padding: 0.75rem;
1314
+ padding-bottom: 0;
1315
+ padding-left: 0;
1316
+ border-radius: 0.375rem;
1317
+ transition: background-color 0.2s ease;
1318
+ }
1319
+ .conditionItemHeader {
1320
+ display: flex;
1321
+ align-items: flex-start;
1322
+ justify-content: space-between;
1323
+ }
1324
+ .conditionItemContent {
1325
+ display: flex;
1326
+ align-items: flex-start;
1327
+ gap: 0.5rem;
1328
+ }
1329
+ .conditionList {
1330
+ list-style-type: decimal;
1331
+ list-style-position: outside;
1332
+ margin: 0;
1333
+ padding-left: 1.25rem;
1334
+ }
1335
+ .conditionListItem {
1336
+ margin-bottom: 0.35rem;
1337
+ color: #000000;
1338
+ font-size: 0.875rem;
1339
+ font-weight: 500;
1340
+ }
1341
+ .conditionItemText {
1342
+ color: #000000;
1343
+ font-size: 0.875rem;
1344
+ font-weight: 500;
1345
+ }
1346
+ .conditionItemText > div {
1347
+ margin-bottom: 0.35rem;
1348
+ }
1349
+ .noConditions {
1350
+ font-size: 0.75rem;
1351
+ color: #98A2B3;
1352
+ margin-top: 0.375rem;
1353
+ }
1354
+ .collapsedPadding {
1355
+ padding-bottom: 0;
1356
+ }
1357
+ .errorMessage {
1358
+ display: flex;
1359
+ align-items: center;
1360
+ gap: 0.5rem;
1361
+ color: #EF4444;
1362
+ font-size: 0.75rem;
1363
+ margin-top: 0.5rem;
1364
+ }
1365
+ .spinner {
1366
+ animation: spin 1s linear infinite;
1367
+ }
1368
+ @keyframes spin {
1369
+ from {
1370
+ transform: rotate(0deg);
1371
+ }
1372
+ to {
1373
+ transform: rotate(360deg);
1374
+ }
1375
+ }
1376
+
1377
+ /* src/features/LearningManagement/styles/CustomTooltip.module.css */
1378
+ .tooltipContent {
1379
+ font-family: sans-serif;
1380
+ background-color: #2A3547;
1381
+ color: #ffffff;
1382
+ position: relative;
1383
+ z-index: 50;
1384
+ width: auto;
1385
+ max-width: 90vw;
1386
+ padding: 0.75rem 1rem;
1387
+ border-radius: 0.375rem;
1388
+ font-size: 0.875rem;
1389
+ box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
1390
+ }
1391
+ @media (min-width: 640px) {
1392
+ .tooltipContent {
1393
+ max-width: 32rem;
1394
+ }
1395
+ }
1396
+ .arrow {
1397
+ position: absolute;
1398
+ fill: #2A3547;
1399
+ }
1400
+ .arrow_top {
1401
+ bottom: 0;
1402
+ left: 50%;
1403
+ transform: translate(-50%, 100%);
1404
+ }
1405
+ .arrow_bottom {
1406
+ top: 0;
1407
+ left: 50%;
1408
+ transform: translate(-50%, -100%) rotate(180deg);
1409
+ }
1410
+ .arrow_left {
1411
+ right: 0;
1412
+ top: 50%;
1413
+ transform: translate(100%, -50%) rotate(-90deg);
1414
+ }
1415
+ .arrow_right {
1416
+ left: 0;
1417
+ top: 50%;
1418
+ transform: translate(-100%, -50%) rotate(90deg);
1419
+ }
1420
+ .customTooltip {
1421
+ background-color: #2A3547;
1422
+ color: #ffffff;
1423
+ padding: 8px 16px;
1424
+ border-radius: 12px;
1425
+ }
1426
+
1427
+ /* src/features/LearningManagement/styles/ConfirmationModal.module.css */
1428
+ @keyframes spin {
1429
+ from {
1430
+ transform: rotate(0deg);
1431
+ }
1432
+ to {
1433
+ transform: rotate(360deg);
1434
+ }
1435
+ }
1436
+ .overlay {
1437
+ position: absolute;
1438
+ top: 0;
1439
+ left: 0;
1440
+ right: 0;
1441
+ bottom: 0;
1442
+ z-index: 9999;
1443
+ display: flex;
1444
+ align-items: center;
1445
+ justify-content: center;
1446
+ background-color: rgba(0, 0, 0, 0.3);
1447
+ }
1448
+ .modal {
1449
+ position: relative;
1450
+ width: 680px;
1451
+ max-width: 90%;
1452
+ border-radius: 0.75rem;
1453
+ background-color: #ffffff;
1454
+ padding: 1.5rem;
1455
+ box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
1456
+ display: flex;
1457
+ flex-direction: column;
1458
+ }
1459
+ .header {
1460
+ margin-bottom: 1.5rem;
1461
+ display: flex;
1462
+ align-items: flex-start;
1463
+ justify-content: space-between;
1464
+ gap: 1rem;
1465
+ }
1466
+ .headerContent {
1467
+ flex: 1;
1468
+ }
1469
+ .title {
1470
+ font-size: 1.125rem;
1471
+ font-weight: 600;
1472
+ color: #19213D;
1473
+ margin: 0;
1474
+ }
1475
+ .description {
1476
+ margin-top: 0.5rem;
1477
+ font-size: 0.875rem;
1478
+ font-weight: 400;
1479
+ color: #4B5563;
1480
+ line-height: 1.5;
1481
+ }
1482
+ .warning {
1483
+ margin-top: 0.5rem;
1484
+ font-size: 0.875rem;
1485
+ font-weight: 500;
1486
+ color: #EA580C;
1487
+ }
1488
+ .closeBtn {
1489
+ color: #9CA3AF;
1490
+ cursor: pointer;
1491
+ border: none;
1492
+ background: transparent;
1493
+ padding: 0.25rem;
1494
+ display: flex;
1495
+ align-items: center;
1496
+ justify-content: center;
1497
+ border-radius: 0.375rem;
1498
+ transition: color 0.2s, background-color 0.2s;
1499
+ }
1500
+ .closeBtn:hover {
1501
+ color: #4B5563;
1502
+ background-color: #F3F4F6;
1503
+ }
1504
+ .closeBtn:focus {
1505
+ outline: none;
1506
+ }
1507
+ .footer {
1508
+ display: flex;
1509
+ justify-content: flex-end;
1510
+ gap: 0.75rem;
1511
+ margin-top: 1.5rem;
1512
+ }
1513
+ .cancelBtn {
1514
+ border-radius: 0.375rem;
1515
+ border: none;
1516
+ padding: 0.5rem 1rem;
1517
+ font-size: 0.875rem;
1518
+ font-weight: 500;
1519
+ color: #4B5563;
1520
+ background-color: transparent;
1521
+ cursor: pointer;
1522
+ transition: color 0.2s, background-color 0.2s;
1523
+ }
1524
+ .cancelBtn:hover:not(:disabled) {
1525
+ color: #1F2937;
1526
+ background-color: #F3F4F6;
1527
+ }
1528
+ .cancelBtn:disabled {
1529
+ opacity: 0.5;
1530
+ cursor: not-allowed;
1531
+ }
1532
+ .confirmBtn {
1533
+ display: inline-flex;
1534
+ align-items: center;
1535
+ justify-content: center;
1536
+ border-radius: 0.375rem;
1537
+ padding: 0.5rem 1rem;
1538
+ font-size: 0.875rem;
1539
+ font-weight: 500;
1540
+ color: #ffffff;
1541
+ border: none;
1542
+ cursor: pointer;
1543
+ transition: filter 0.2s;
1544
+ }
1545
+ .confirmBtn:hover:not(:disabled) {
1546
+ filter: brightness(0.9);
1547
+ }
1548
+ .confirmBtn:disabled {
1549
+ opacity: 0.5;
1550
+ cursor: not-allowed;
1551
+ }
1552
+ .spinner {
1553
+ margin-right: 0.5rem;
1554
+ height: 1rem;
1555
+ width: 1rem;
1556
+ animation: spin 1s linear infinite;
1557
+ color: #ffffff;
1558
+ }
1559
+
1560
+ /* src/features/LearningManagement/styles/ToolTip.module.css */
1561
+ @keyframes fadeIn {
1562
+ from {
1563
+ opacity: 0;
1564
+ transform: scale(0.95);
1565
+ }
1566
+ to {
1567
+ opacity: 1;
1568
+ transform: scale(1);
1569
+ }
1570
+ }
1571
+ @keyframes fadeOut {
1572
+ from {
1573
+ opacity: 1;
1574
+ transform: scale(1);
1575
+ }
1576
+ to {
1577
+ opacity: 0;
1578
+ transform: scale(0.95);
1579
+ }
1580
+ }
1581
+ .tooltipContent {
1582
+ background-color: #1E293B;
1583
+ color: #F8FAFC;
1584
+ transform-origin: var(--radix-tooltip-content-transform-origin);
1585
+ z-index: 50;
1586
+ overflow: hidden;
1587
+ border-radius: 0.375rem;
1588
+ padding: 0.375rem 0.75rem;
1589
+ font-size: 0.75rem;
1590
+ font-family: sans-serif;
1591
+ box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
1592
+ }
1593
+ .tooltipContent[data-state=delayed-open],
1594
+ .tooltipContent[data-state=instant-open] {
1595
+ animation: fadeIn 0.15s cubic-bezier(0.16, 1, 0.3, 1);
1596
+ }
1597
+ .tooltipContent[data-state=closed] {
1598
+ animation: fadeOut 0.15s cubic-bezier(0.16, 1, 0.3, 1);
1599
+ }
1600
+
1601
+ /* src/features/LearningManagement/styles/common.module.css */
1602
+ @keyframes pulse {
1603
+ 0%, 100% {
1604
+ opacity: 1;
1605
+ }
1606
+ 50% {
1607
+ opacity: 0.5;
1608
+ }
1609
+ }
1610
+ .pulse {
1611
+ animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
1612
+ }
1613
+ .historyContainer {
1614
+ margin-top: 1.25rem;
1615
+ margin-bottom: 0.5rem;
1616
+ padding-left: 0.5rem;
1617
+ }
1618
+ .historyHeader {
1619
+ display: flex;
1620
+ align-items: center;
1621
+ gap: 0.5rem;
1622
+ margin-bottom: 1rem;
1623
+ }
1624
+ .historyHeaderIcon {
1625
+ height: 1rem;
1626
+ width: 1rem;
1627
+ background-color: #e5e7eb;
1628
+ border-radius: 9999px;
1629
+ }
1630
+ .historyHeaderText {
1631
+ height: 0.75rem;
1632
+ width: 7rem;
1633
+ background-color: #e5e7eb;
1634
+ border-radius: 0.25rem;
1635
+ }
1636
+ .historyTimeline {
1637
+ position: relative;
1638
+ }
1639
+ .historyRow {
1640
+ display: flex;
1641
+ min-height: 32px;
1642
+ }
1643
+ .historyLeftColumn {
1644
+ width: 60px;
1645
+ text-align: right;
1646
+ padding-right: 1rem;
1647
+ padding-top: 3px;
1648
+ flex-shrink: 0;
1649
+ display: flex;
1650
+ justify-content: flex-end;
1651
+ }
1652
+ .historyMiddleColumn {
1653
+ position: relative;
1654
+ width: 1rem;
1655
+ flex-shrink: 0;
1656
+ display: flex;
1657
+ flex-direction: column;
1658
+ align-items: center;
1659
+ }
1660
+ .historyVerticalLine {
1661
+ position: absolute;
1662
+ top: 8px;
1663
+ bottom: -8px;
1664
+ width: 1px;
1665
+ background-color: #e5e7eb;
1666
+ left: 50%;
1667
+ margin-left: -0.5px;
1668
+ }
1669
+ .historyDot {
1670
+ position: relative;
1671
+ z-index: 10;
1672
+ top: 6px;
1673
+ width: 0.625rem;
1674
+ height: 0.625rem;
1675
+ border-radius: 9999px;
1676
+ background-color: #e5e7eb;
1677
+ box-shadow: 0 0 0 4px #ffffff;
1678
+ }
1679
+ .historyRightColumn {
1680
+ flex: 1;
1681
+ padding-left: 0.25rem;
1682
+ padding-bottom: 1.5rem;
1683
+ }
1684
+ .historyContentPlaceholder {
1685
+ margin-top: 3px;
1686
+ height: 0.75rem;
1687
+ width: 6rem;
1688
+ background-color: #f3f4f6;
1689
+ border-radius: 0.25rem;
1690
+ }
1691
+ .historyLabelPlaceholder {
1692
+ height: 0.75rem;
1693
+ width: 2.5rem;
1694
+ background-color: #e5e7eb;
1695
+ border-radius: 0.25rem;
1696
+ }
1697
+ .historyLeafLeftColumn {
1698
+ width: 60px;
1699
+ text-align: right;
1700
+ padding-right: 1rem;
1701
+ padding-top: 0.25rem;
1702
+ flex-shrink: 0;
1703
+ display: flex;
1704
+ justify-content: flex-end;
1705
+ }
1706
+ .historyLeafLabel {
1707
+ margin-top: 1rem;
1708
+ height: 0.5rem;
1709
+ width: 2rem;
1710
+ background-color: #e5e7eb;
1711
+ border-radius: 0.25rem;
1712
+ }
1713
+ .historyLeafConnector {
1714
+ position: absolute;
1715
+ top: -8px;
1716
+ height: 33px;
1717
+ width: 24px;
1718
+ border-left: 1px solid #e5e7eb;
1719
+ border-bottom: 1px solid #e5e7eb;
1720
+ border-bottom-left-radius: 0.75rem;
1721
+ left: 50%;
1722
+ margin-left: -0.5px;
1723
+ }
1724
+ .historyLeafRightColumn {
1725
+ flex: 1;
1726
+ padding-left: 0;
1727
+ padding-bottom: 1.5rem;
1728
+ position: relative;
1729
+ }
1730
+ .historyLeafDot {
1731
+ position: absolute;
1732
+ left: 11.5px;
1733
+ top: 21px;
1734
+ width: 0.5rem;
1735
+ height: 0.5rem;
1736
+ border-radius: 9999px;
1737
+ background-color: #e5e7eb;
1738
+ }
1739
+ .historyLeafCard {
1740
+ background-color: #ffffff;
1741
+ border: 1px solid #f3f4f6;
1742
+ border-radius: 0.375rem;
1743
+ padding: 0.75rem 1rem;
1744
+ margin-left: 28px;
1745
+ margin-top: 3px;
1746
+ }
1747
+ .historyLeafCardContent {
1748
+ height: 1rem;
1749
+ width: 100%;
1750
+ max-width: 200px;
1751
+ background-color: #f3f4f6;
1752
+ border-radius: 0.25rem;
1753
+ }
1754
+ .ruleContentContainer {
1755
+ display: flex;
1756
+ flex: 1;
1757
+ flex-direction: column;
1758
+ background-color: #ffffff;
1759
+ padding: 0 2rem 2rem 2rem;
1760
+ }
1761
+ .ruleContentHeader {
1762
+ padding: 1.5rem 0;
1763
+ border-bottom: 1px solid #f3f4f6;
1764
+ margin-bottom: 1.5rem;
1765
+ }
1766
+ .ruleContentHeaderInner {
1767
+ display: flex;
1768
+ justify-content: space-between;
1769
+ align-items: center;
1770
+ }
1771
+ .ruleContentTitleGroup {
1772
+ display: flex;
1773
+ flex-direction: column;
1774
+ gap: 0.5rem;
1775
+ }
1776
+ .ruleContentTitle {
1777
+ height: 1.5rem;
1778
+ width: 10rem;
1779
+ background-color: #f3f4f6;
1780
+ border-radius: 0.375rem;
1781
+ }
1782
+ .ruleContentSubtitle {
1783
+ height: 1rem;
1784
+ width: 16rem;
1785
+ background-color: #f3f4f6;
1786
+ border-radius: 0.25rem;
1787
+ }
1788
+ .ruleContentButtons {
1789
+ display: flex;
1790
+ gap: 0.75rem;
1791
+ }
1792
+ .ruleContentButton {
1793
+ height: 2.5rem;
1794
+ width: 8rem;
1795
+ background-color: #f3f4f6;
1796
+ border-radius: 0.375rem;
1797
+ }
1798
+ .ruleContentCards {
1799
+ display: flex;
1800
+ flex-direction: column;
1801
+ gap: 1rem;
1802
+ }
1803
+ .ruleContentCard {
1804
+ border: 1px solid #f3f4f6;
1805
+ border-radius: 0.5rem;
1806
+ padding: 1rem;
1807
+ }
1808
+ .ruleContentCardHeader {
1809
+ display: flex;
1810
+ justify-content: space-between;
1811
+ align-items: center;
1812
+ margin-bottom: 0.75rem;
1813
+ }
1814
+ .ruleContentCardTitle {
1815
+ height: 1.25rem;
1816
+ width: 8rem;
1817
+ background-color: #f3f4f6;
1818
+ border-radius: 0.25rem;
1819
+ }
1820
+ .ruleContentCardChevron {
1821
+ height: 1.25rem;
1822
+ width: 1.25rem;
1823
+ background-color: #f3f4f6;
1824
+ border-radius: 0.25rem;
1825
+ }
1826
+ .ruleContentCardAccordion {
1827
+ border: 1px solid #f3f4f6;
1828
+ border-radius: 0.375rem;
1829
+ padding: 1rem;
1830
+ display: flex;
1831
+ flex-direction: column;
1832
+ gap: 0.5rem;
1833
+ }
1834
+ .ruleContentCardAccordionLine {
1835
+ height: 1rem;
1836
+ background-color: #f3f4f6;
1837
+ border-radius: 0.25rem;
1838
+ }
1839
+ .ruleContentCardAccordionLineWide {
1840
+ width: 75%;
1841
+ }
1842
+ .ruleContentCardAccordionLineMedium {
1843
+ width: 50%;
1844
+ }
1845
+
1846
+ /* src/features/LearningManagement/styles/OverrideTimeline.module.css */
1847
+ .container {
1848
+ padding: 0.75rem 1rem;
1849
+ margin-top: 0.5rem;
1850
+ background-color: rgba(255, 247, 237, 0.3);
1851
+ border: 1px solid #F3EEE7;
1852
+ border-radius: 0.375rem;
1853
+ width: 100%;
1854
+ }
1855
+ .header {
1856
+ display: flex;
1857
+ align-items: center;
1858
+ gap: 0.5rem;
1859
+ margin-bottom: 0.5rem;
1860
+ color: #666F8D;
1861
+ user-select: none;
1862
+ }
1863
+ .headerIcon {
1864
+ color: #475569;
1865
+ }
1866
+ .headerText {
1867
+ font-size: 13px;
1868
+ font-weight: 500;
1869
+ color: #475569;
1870
+ }
1871
+ .timeline {
1872
+ position: relative;
1873
+ }
1874
+ .timelineItem {
1875
+ display: flex;
1876
+ min-height: 32px;
1877
+ }
1878
+ .leftColumn {
1879
+ width: 100px;
1880
+ text-align: right;
1881
+ padding-right: 1rem;
1882
+ padding-top: 2px;
1883
+ flex-shrink: 0;
1884
+ position: relative;
1885
+ overflow: hidden;
1886
+ text-overflow: ellipsis;
1887
+ }
1888
+ .scopeLabel {
1889
+ font-size: 0.875rem;
1890
+ font-weight: 500;
1891
+ color: #19213D;
1892
+ white-space: nowrap;
1893
+ }
1894
+ .leafLabel {
1895
+ font-size: 10px;
1896
+ font-style: italic;
1897
+ color: #4f5e73;
1898
+ display: block;
1899
+ padding-top: 1rem;
1900
+ padding-right: 0;
1901
+ }
1902
+ .middleColumn {
1903
+ position: relative;
1904
+ width: 1rem;
1905
+ flex-shrink: 0;
1906
+ display: flex;
1907
+ flex-direction: column;
1908
+ align-items: center;
1909
+ }
1910
+ .verticalLine {
1911
+ position: absolute;
1912
+ top: 8px;
1913
+ bottom: -8px;
1914
+ width: 1px;
1915
+ background-color: #CBD5E1;
1916
+ left: 50%;
1917
+ margin-left: -0.5px;
1918
+ }
1919
+ .leafConnector {
1920
+ position: absolute;
1921
+ top: -8px;
1922
+ height: 33px;
1923
+ width: 24px;
1924
+ border-left: 1.5px solid #CBD5E1;
1925
+ border-bottom: 1.5px solid #CBD5E1;
1926
+ left: 50%;
1927
+ margin-left: -0.5px;
1928
+ }
1929
+ .dot {
1930
+ position: relative;
1931
+ z-index: 10;
1932
+ top: 6px;
1933
+ width: 0.875rem;
1934
+ height: 0.875rem;
1935
+ border-radius: 9999px;
1936
+ box-shadow: 0 0 0 4px #ffffff;
1937
+ border-width: 2px;
1938
+ border-style: solid;
1939
+ }
1940
+ .dotGlobal {
1941
+ background-color: #2563EB;
1942
+ border-color: #E3EAFB;
1943
+ }
1944
+ .dotOther {
1945
+ background-color: #FD8E1E;
1946
+ border-color: #FFEDD6;
1947
+ }
1948
+ .rightColumn {
1949
+ flex: 1;
1950
+ }
1951
+ .leafCard {
1952
+ position: relative;
1953
+ }
1954
+ .leafDot {
1955
+ position: absolute;
1956
+ left: 11.5px;
1957
+ top: 17px;
1958
+ width: 0.625rem;
1959
+ height: 0.625rem;
1960
+ border-radius: 9999px;
1961
+ background-color: #FD8E1E;
1962
+ border: 1px solid #FFEDD6;
1963
+ }
1964
+ .leafContent {
1965
+ background-color: #ffffff;
1966
+ border: 1px solid #E2E8F0;
1967
+ border-radius: 0.375rem;
1968
+ padding: 0.5rem 0.75rem;
1969
+ font-weight: 500;
1970
+ font-size: 0.875rem;
1971
+ color: #1E293B;
1972
+ box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
1973
+ margin-left: 28px;
1974
+ margin-top: 3px;
1975
+ }
1976
+ .normalContent {
1977
+ padding-top: 5px;
1978
+ padding-left: 0.875rem;
1979
+ font-size: 0.75rem;
1980
+ color: #515667;
1981
+ }
1982
+ .strikethrough {
1983
+ text-decoration: line-through;
1984
+ color: #EF4444;
1985
+ text-decoration-color: #EF4444;
1986
+ margin-right: 0.25rem;
1987
+ opacity: 0.6;
1988
+ }
1989
+
1990
+ /* src/features/LearningManagement/styles/VariantCard.module.css */
1991
+ .variantCard {
1992
+ background-color: #FAFCFF;
1993
+ border: 1px solid #E3E6EA;
1994
+ border-radius: 0.5rem;
1995
+ padding: 1rem;
1996
+ margin-bottom: 0.75rem;
1997
+ position: relative;
1998
+ }
1999
+ .overriddenTag {
2000
+ font-family: sans-serif;
2001
+ padding: 2px 8px;
2002
+ color: #19213D;
2003
+ font-size: 11px;
2004
+ font-weight: 500;
2005
+ line-height: 16px;
2006
+ border-radius: 200px;
2007
+ border: 0.6px solid #E3E6EA;
2008
+ background: #FAFCFF;
2009
+ }
2010
+ @keyframes spinGradientFade {
2011
+ 0% {
2012
+ transform: translate(-50%, -50%) rotate(0deg);
2013
+ opacity: 1;
2014
+ }
2015
+ 85% {
2016
+ opacity: 0.8;
2017
+ }
2018
+ 100% {
2019
+ transform: translate(-50%, -50%) rotate(1080deg);
2020
+ opacity: 0;
2021
+ }
2022
+ }
2023
+ @keyframes innerMaskFade {
2024
+ 0% {
2025
+ background-color: rgba(250, 252, 255, 0.95);
2026
+ }
2027
+ 100% {
2028
+ background-color: #FAFCFF;
2029
+ }
2030
+ }
2031
+ @keyframes borderRestore {
2032
+ 0%, 99% {
2033
+ border-color: transparent;
2034
+ box-shadow: 0 0 20px 4px rgba(56, 189, 248, 0.35);
2035
+ }
2036
+ 100% {
2037
+ border-color: #E3E6EA;
2038
+ box-shadow: none;
2039
+ }
2040
+ }
2041
+ .variantHighlight {
2042
+ position: relative;
2043
+ overflow: hidden;
2044
+ border-color: transparent !important;
2045
+ animation: borderRestore 10s forwards;
2046
+ }
2047
+ .variantHighlight::before {
2048
+ content: "";
2049
+ position: absolute;
2050
+ top: 50%;
2051
+ left: 50%;
2052
+ width: 5000px;
2053
+ height: 5000px;
2054
+ background:
2055
+ conic-gradient(
2056
+ from 180deg at 50% 50%,
2057
+ rgba(37, 99, 235, 0.05) 0deg,
2058
+ #0ea5e9 90deg,
2059
+ #3b82f6 180deg,
2060
+ #8b5cf6 270deg,
2061
+ rgba(37, 99, 235, 0.05) 360deg);
2062
+ animation: spinGradientFade 10s linear forwards;
2063
+ z-index: 0;
2064
+ pointer-events: none;
2065
+ }
2066
+ .variantHighlight::after {
2067
+ content: "";
2068
+ position: absolute;
2069
+ inset: 1.5px;
2070
+ background: #FAFCFF;
2071
+ border-radius: calc(0.5rem - 1.5px);
2072
+ z-index: 0;
2073
+ pointer-events: none;
2074
+ animation: innerMaskFade 10s forwards;
2075
+ }
2076
+ .variantHighlight > * {
2077
+ position: relative;
2078
+ z-index: 1;
2079
+ }
2080
+ .crossTierBanner {
2081
+ display: flex;
2082
+ align-items: center;
2083
+ gap: 0.375rem;
2084
+ padding: 0.5rem 0.75rem;
2085
+ margin-bottom: 0.5rem;
2086
+ background-color: #FFFBEB;
2087
+ border: 1px solid #FCD34D;
2088
+ border-radius: 0.375rem;
2089
+ font-size: 0.8125rem;
2090
+ color: #92400E;
2091
+ animation: bannerFadeIn 0.3s ease-out;
2092
+ }
2093
+ @keyframes bannerFadeIn {
2094
+ from {
2095
+ opacity: 0;
2096
+ transform: translateY(-4px);
2097
+ }
2098
+ to {
2099
+ opacity: 1;
2100
+ transform: translateY(0);
2101
+ }
2102
+ }
2103
+ .crossTierBannerIcon {
2104
+ flex-shrink: 0;
2105
+ width: 1rem;
2106
+ height: 1rem;
2107
+ color: #D97706;
2108
+ }
2109
+ .crossTierBannerText {
2110
+ flex: 1;
2111
+ line-height: 1.3;
2112
+ }
2113
+ .crossTierBannerLink {
2114
+ color: #B45309;
2115
+ font-weight: 600;
2116
+ cursor: pointer;
2117
+ text-decoration: none;
2118
+ white-space: nowrap;
2119
+ }
2120
+ .crossTierBannerLink:hover {
2121
+ text-decoration: underline;
2122
+ color: #92400E;
2123
+ }
2124
+ .variantCard:last-child {
2125
+ margin-bottom: 0;
2126
+ }
2127
+ .variantHeader {
2128
+ display: flex;
2129
+ justify-content: space-between;
2130
+ align-items: center;
2131
+ margin-bottom: 0.75rem;
2132
+ }
2133
+ .variantLabelSection {
2134
+ display: flex;
2135
+ align-items: center;
2136
+ gap: 0.5rem;
2137
+ }
2138
+ .variantLabel {
2139
+ font-size: 12px;
2140
+ font-weight: 500;
2141
+ color: #19213D;
2142
+ background-color: #fff;
2143
+ padding: 0.25rem 0.5rem;
2144
+ border-radius: 0.25rem;
2145
+ border: 1px solid #F0F2F5;
2146
+ }
2147
+ .defaultBadge {
2148
+ font-size: 0.625rem;
2149
+ font-weight: 500;
2150
+ color: #10B981;
2151
+ background-color: #ECFDF5;
2152
+ padding: 0.125rem 0.375rem;
2153
+ border-radius: 0.25rem;
2154
+ border: 1px solid #A7F3D0;
2155
+ }
2156
+ .actionChip {
2157
+ font-size: 0.625rem;
2158
+ font-weight: 600;
2159
+ padding: 0.125rem 0.375rem;
2160
+ border-radius: 0.25rem;
2161
+ text-transform: uppercase;
2162
+ }
2163
+ .actionChipNew {
2164
+ color: #10B981;
2165
+ background-color: #ECFDF5;
2166
+ border: 1px solid #A7F3D0;
2167
+ }
2168
+ .actionChipUpdated {
2169
+ color: #3B82F6;
2170
+ background-color: #EFF6FF;
2171
+ border: 1px solid #BFDBFE;
2172
+ }
2173
+ .variantActions {
2174
+ display: flex;
2175
+ align-items: center;
2176
+ gap: 1rem;
2177
+ }
2178
+ .viewOverrideButton {
2179
+ font-size: 0.75rem;
2180
+ font-weight: 500;
2181
+ color: #64748B;
2182
+ background: none;
2183
+ border: none;
2184
+ cursor: pointer;
2185
+ transition: color 0.2s ease;
2186
+ padding: 0;
2187
+ }
2188
+ .viewOverrideButton:hover {
2189
+ color: #19213D;
2190
+ }
2191
+ .viewOverrideButton:disabled {
2192
+ cursor: not-allowed;
2193
+ opacity: 0.6;
2194
+ }
2195
+ .editButton {
2196
+ font-size: 0.75rem;
2197
+ font-weight: 500;
2198
+ color: #2563EB;
2199
+ background: none;
2200
+ border: none;
2201
+ cursor: pointer;
2202
+ transition: color 0.2s ease;
2203
+ padding: 0;
2204
+ }
2205
+ .editButton:hover {
2206
+ color: #1D4ED8;
2207
+ }
2208
+ .deleteButton {
2209
+ font-size: 0.75rem;
2210
+ font-weight: 500;
2211
+ color: #EF4444;
2212
+ background: none;
2213
+ border: none;
2214
+ cursor: pointer;
2215
+ transition: color 0.2s ease;
2216
+ padding: 0;
2217
+ }
2218
+ .deleteButton:hover {
2219
+ color: #DC2626;
2220
+ }
2221
+ .menuWrapper {
2222
+ position: relative;
2223
+ }
2224
+ .menuTrigger {
2225
+ background: none;
2226
+ border: 1px solid #E2E8F0;
2227
+ border-radius: 6px;
2228
+ padding: 4px;
2229
+ cursor: pointer;
2230
+ display: flex;
2231
+ align-items: center;
2232
+ justify-content: center;
2233
+ color: #64748B;
2234
+ background-color: transparent;
2235
+ }
2236
+ .menuTriggerActive {
2237
+ background-color: #F8FAFC;
2238
+ }
2239
+ .menuDropdown {
2240
+ position: absolute;
2241
+ top: 100%;
2242
+ right: 0;
2243
+ margin-top: 4px;
2244
+ background-color: #fff;
2245
+ border: 1px solid #E2E8F0;
2246
+ border-radius: 8px;
2247
+ box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
2248
+ z-index: 50;
2249
+ min-width: 200px;
2250
+ padding: 4px;
2251
+ }
2252
+ .menuItem {
2253
+ display: flex;
2254
+ align-items: center;
2255
+ gap: 10px;
2256
+ width: 100%;
2257
+ padding: 8px 12px;
2258
+ font-size: 13px;
2259
+ color: #334155;
2260
+ background: none;
2261
+ border: none;
2262
+ cursor: pointer;
2263
+ text-align: left;
2264
+ border-radius: 4px;
2265
+ }
2266
+ .menuItem:hover {
2267
+ background-color: #F8FAFC;
2268
+ }
2269
+ .menuItemDisabled {
2270
+ cursor: wait;
2271
+ opacity: 0.7;
2272
+ }
2273
+ .variantLabelSection {
2274
+ display: flex;
2275
+ align-items: center;
2276
+ gap: 8px;
2277
+ }
2278
+ .defaultTag {
2279
+ background-color: #f0f4f8;
2280
+ color: #475569;
2281
+ font-size: 11px;
2282
+ font-weight: 600;
2283
+ padding: 2px 8px;
2284
+ border-radius: 4px;
2285
+ text-transform: uppercase;
2286
+ border: 1px solid #cbd5e1;
2287
+ }
2288
+ .learningDisabledPill {
2289
+ background-color: #FFF7ED;
2290
+ color: #C2410C;
2291
+ border: 1px solid #FFEDD5;
2292
+ padding: 2px 8px;
2293
+ border-radius: 12px;
2294
+ font-size: 12px;
2295
+ font-weight: 500;
2296
+ }
2297
+ .descriptionBox {
2298
+ background-color: #FFFFFF;
2299
+ border: 1px solid #E3E6EA;
2300
+ border-radius: 0.5rem;
2301
+ padding: 0.75rem;
2302
+ margin-bottom: 0.75rem;
2303
+ }
2304
+ .descriptionText {
2305
+ font-size: 0.875rem;
2306
+ font-weight: 500;
2307
+ color: #19213D;
2308
+ line-height: 1.5;
2309
+ margin: 0;
2310
+ }
2311
+ .conditionsContainer {
2312
+ display: flex;
2313
+ flex-direction: column;
2314
+ gap: 0.5rem;
2315
+ }
2316
+ .historySection {
2317
+ margin-top: 0.75rem;
2318
+ padding-top: 0.75rem;
2319
+ border-top: 1px solid #F0F2F5;
2320
+ }
2321
+ .errorText {
2322
+ font-size: 0.75rem;
2323
+ color: #EF4444;
2324
+ margin: 0;
2325
+ }
2326
+ .noHistoryText {
2327
+ font-size: 0.75rem;
2328
+ color: #64748B;
2329
+ margin: 0;
2330
+ font-style: italic;
2331
+ }
2332
+ .variantCardWithConnector {
2333
+ position: relative;
2334
+ }
2335
+ .variantCardWithConnector::before {
2336
+ content: "";
2337
+ position: absolute;
2338
+ left: 1.5rem;
2339
+ top: -0.75rem;
2340
+ width: 2px;
2341
+ height: 0.75rem;
2342
+ background-color: #CFD4DC;
2343
+ }
2344
+ .variantFooter {
2345
+ display: flex;
2346
+ justify-content: space-between;
2347
+ align-items: center;
2348
+ color: #666F8D;
2349
+ font-size: 12px;
2350
+ font-weight: 400;
2351
+ margin-top: 4px;
2352
+ flex-wrap: wrap;
2353
+ }
2354
+ .resolveGaps {
2355
+ display: flex;
2356
+ align-items: center;
2357
+ }
2358
+ .resolveGapsText {
2359
+ color: #EF4444;
2360
+ font-size: 12px;
2361
+ font-weight: 500;
2362
+ line-height: 120%;
2363
+ margin-left: 4px;
2364
+ }
2365
+ .resolveButton {
2366
+ background-color: transparent;
2367
+ border: none;
2368
+ cursor: pointer;
2369
+ color: #2563EB;
2370
+ font-size: 12.25px;
2371
+ font-weight: 500;
2372
+ line-height: normal;
2373
+ margin-left: 8px;
2374
+ }
2375
+ .variantFooterContent {
2376
+ margin-left: auto;
2377
+ }
2378
+ .variantFooterItem {
2379
+ cursor: default;
2380
+ position: relative;
2381
+ }
2382
+ .variantFooterItem:hover {
2383
+ color: #19213D;
2384
+ }
2385
+ .variantFooterSeparator {
2386
+ margin: 0 0.375rem;
2387
+ }
2388
+
2389
+ /* src/features/LearningManagement/styles/VariantList.module.css */
2390
+ .variantList {
2391
+ display: flex;
2392
+ flex-direction: column;
2393
+ gap: 0;
2394
+ }
2395
+ .variantWrapper {
2396
+ position: relative;
2397
+ }
2398
+ .variantWithConnector {
2399
+ margin-top: 0.75rem;
2400
+ }
2401
+ .connectorLine {
2402
+ position: absolute;
2403
+ left: 1.5rem;
2404
+ top: -0.75rem;
2405
+ width: 2px;
2406
+ height: 0.75rem;
2407
+ background-color: #CFD4DC;
2408
+ }
2409
+ .emptyState {
2410
+ display: flex;
2411
+ align-items: center;
2412
+ justify-content: center;
2413
+ padding: 2rem;
2414
+ background-color: #F9FAFB;
2415
+ border: 1px dashed #E3E6EA;
2416
+ border-radius: 0.5rem;
2417
+ }
2418
+ .emptyText {
2419
+ font-size: 0.875rem;
2420
+ color: #666F8D;
2421
+ margin: 0;
2422
+ }
2423
+ .linkedVariantSection {
2424
+ margin-top: 0.75rem;
2425
+ margin-bottom: 0.75rem;
2426
+ }
2427
+ .linkedVariantMessage {
2428
+ display: flex;
2429
+ justify-content: flex-start;
2430
+ align-items: center;
2431
+ gap: 0.25rem;
2432
+ margin-bottom: 0.75rem;
2433
+ }
2434
+ .linkedVariantText {
2435
+ font-size: 0.875rem;
2436
+ font-weight: 500;
2437
+ color: #666F8D;
2438
+ margin: 0;
2439
+ }
2440
+ .viewDetailsButton {
2441
+ font-size: 0.75rem;
2442
+ font-weight: 600;
2443
+ color: #2563EB;
2444
+ background: none;
2445
+ border: none;
2446
+ padding: 0.375rem 0.75rem;
2447
+ cursor: pointer;
2448
+ transition: all 0.2s ease;
2449
+ white-space: nowrap;
2450
+ display: flex;
2451
+ align-items: center;
2452
+ gap: 0.25rem;
2453
+ }
2454
+ .chevronIcon {
2455
+ transition: transform 0.2s ease;
2456
+ }
2457
+ .chevronIconOpen {
2458
+ transform: rotate(180deg);
2459
+ }
2460
+ .linkedVariantContainer {
2461
+ border: 1px solid #E3E6EA;
2462
+ border-radius: 0.5rem;
2463
+ padding: 0.75rem;
2464
+ }
2465
+ .linkedTierName {
2466
+ font-size: 12px;
2467
+ font-weight: 600;
2468
+ color: #0F172A;
2469
+ margin: 0 0 0.75rem 0;
2470
+ padding: 6px;
2471
+ border: 1px solid #F0F2F5;
2472
+ border-radius: 4px;
2473
+ background-color: #FFFFFF;
2474
+ box-shadow: 0 1px 2px 0 rgba(25, 33, 61, 0.1);
2475
+ max-width: fit-content;
2476
+ }
2477
+ .linkedVariantCard {
2478
+ background-color: #FFFFFF;
2479
+ border: 1px solid #E3E6EA;
2480
+ border-radius: 0.5rem;
2481
+ padding: 0.75rem;
2482
+ }
2483
+
2484
+ /* src/features/LearningManagement/styles/TierCard.module.css */
2485
+ .tierCard {
2486
+ border: 1px solid #BFDBFE;
2487
+ border-radius: 0.5rem;
2488
+ overflow: hidden;
2489
+ background-color: #ffffff;
2490
+ box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
2491
+ transition: all 0.2s ease;
2492
+ }
2493
+ .tierCardOpen {
2494
+ border-color: #2563EB;
2495
+ border-width: 1.5px;
2496
+ }
2497
+ .tierButtonGroup {
2498
+ display: flex;
2499
+ align-items: center;
2500
+ gap: 1rem;
2501
+ margin-left: auto;
2502
+ }
2503
+ .deleteButton {
2504
+ font-size: 0.75rem;
2505
+ font-weight: 500;
2506
+ color: #EF4444;
2507
+ background: none;
2508
+ border: none;
2509
+ cursor: pointer;
2510
+ transition: color 0.2s ease;
2511
+ }
2512
+ .tierHeader {
2513
+ display: flex;
2514
+ align-items: flex-start;
2515
+ justify-content: space-between;
2516
+ padding: 1.25rem;
2517
+ cursor: pointer;
2518
+ transition: background-color 0.2s ease;
2519
+ user-select: none;
2520
+ }
2521
+ .tierHeader:hover {
2522
+ background-color: #F9FAFB;
2523
+ }
2524
+ .tierInfo h3 {
2525
+ font-size: 0.875rem;
2526
+ font-weight: 600;
2527
+ color: #19213D;
2528
+ margin-bottom: 0.25rem;
2529
+ }
2530
+ .tierInfo h3 span {
2531
+ color: #19213D;
2532
+ font-weight: 400;
2533
+ }
2534
+ .tierDescription {
2535
+ font-size: 0.875rem;
2536
+ font-weight: 400;
2537
+ color: #666F8D;
2538
+ max-width: 36rem;
2539
+ }
2540
+ .chevronIcon {
2541
+ color: #000000;
2542
+ transition: transform 0.2s ease;
2543
+ }
2544
+ .chevronIconClosed {
2545
+ transform: rotate(180deg);
2546
+ }
2547
+ .tierContent {
2548
+ padding-left: 1.25rem;
2549
+ padding-right: 1.25rem;
2550
+ padding-bottom: 1.25rem;
2551
+ }
2552
+ .emptyRules {
2553
+ color: #6B7280;
2554
+ font-size: 0.875rem;
2555
+ text-align: center;
2556
+ margin-top: 1.25rem;
2557
+ }
2558
+ .rulesList {
2559
+ display: flex;
2560
+ flex-direction: column;
2561
+ gap: 0.75rem;
2562
+ list-style: none;
2563
+ margin: 0;
2564
+ padding: 0;
2565
+ }
2566
+
2567
+ /* src/features/LearningManagement/styles/ToastContent.module.css */
2568
+ .wrapper {
2569
+ display: flex;
2570
+ width: 100%;
2571
+ flex-direction: column;
2572
+ gap: 0.25rem;
2573
+ }
2574
+ .header {
2575
+ display: flex;
2576
+ align-items: center;
2577
+ justify-content: space-between;
2578
+ }
2579
+ .headerLeft {
2580
+ display: flex;
2581
+ align-items: center;
2582
+ gap: 0.5rem;
2583
+ }
2584
+ .iconRed {
2585
+ color: #EF4444;
2586
+ }
2587
+ .iconGreen {
2588
+ color: #10B981;
2589
+ }
2590
+ .titleRed {
2591
+ font-weight: 700;
2592
+ color: #EF4444;
2593
+ }
2594
+ .titleGreen {
2595
+ font-weight: 700;
2596
+ color: #10B981;
2597
+ }
2598
+ .messageRed {
2599
+ margin: 0;
2600
+ color: #EF4444;
2601
+ }
2602
+ .messageGreen {
2603
+ margin: 0;
2604
+ color: #10B981;
2605
+ }
2606
+
2607
+ /* src/features/LearningManagement/styles/RuleTierList.module.css */
2608
+ .container {
2609
+ flex: 1;
2610
+ overflow-y: auto;
2611
+ padding-left: 2rem;
2612
+ padding-right: 2rem;
2613
+ padding-bottom: 2.5rem;
2614
+ }
2615
+ .tiersList {
2616
+ display: flex;
2617
+ flex-direction: column;
2618
+ gap: 1rem;
2619
+ }
2620
+
2621
+ /* src/features/LearningManagement/styles/ErrorStateDisplay.module.css */
2622
+ .container {
2623
+ display: flex;
2624
+ flex-direction: column;
2625
+ align-items: center;
2626
+ justify-content: center;
2627
+ height: 100%;
2628
+ width: 100%;
2629
+ }
2630
+ .card {
2631
+ box-sizing: border-box;
2632
+ background-color: #ffffff;
2633
+ border: 1px solid #EF4444;
2634
+ border-radius: 0.375rem;
2635
+ padding: 1rem;
2636
+ display: flex;
2637
+ flex-direction: column;
2638
+ align-items: center;
2639
+ max-width: 24rem;
2640
+ text-align: center;
2641
+ }
2642
+ .titleRow {
2643
+ color: #EF4444;
2644
+ font-size: 1.125rem;
2645
+ font-weight: 600;
2646
+ margin-bottom: 0.5rem;
2647
+ display: flex;
2648
+ align-items: center;
2649
+ gap: 0.5rem;
2650
+ }
2651
+ .icon {
2652
+ width: 1.25rem;
2653
+ height: 1.25rem;
2654
+ }
2655
+ .message {
2656
+ color: #4B5563;
2657
+ margin-bottom: 1rem;
2658
+ margin-top: 0;
2659
+ font-size: 0.875rem;
2660
+ line-height: 1.25rem;
2661
+ }
2662
+ .retryBtn {
2663
+ box-sizing: border-box;
2664
+ padding: 0.5rem 1rem;
2665
+ background-color: #2563EB;
2666
+ color: #ffffff;
2667
+ border: none;
2668
+ border-radius: 0.375rem;
2669
+ font-size: 0.875rem;
2670
+ font-weight: 500;
2671
+ cursor: pointer;
2672
+ transition: background-color 0.15s ease-in-out;
2673
+ }
2674
+ .retryBtn:hover {
2675
+ background-color: #1D4ED8;
2676
+ }
2677
+
2678
+ /* src/features/LearningManagement/styles/LearningContent.module.css */
2679
+ .container {
2680
+ flex: 1;
2681
+ height: calc(100vh - 140px);
2682
+ display: flex;
2683
+ flex-direction: column;
2684
+ background-color: #ffffff;
2685
+ overflow: hidden;
2686
+ }
2687
+ .successToast {
2688
+ border-radius: 0.25rem !important;
2689
+ border: 1px solid #C6F6D5 !important;
2690
+ background-color: #F0FDF4 !important;
2691
+ box-shadow: none !important;
2692
+ }
2693
+ .errorToast {
2694
+ border-radius: 0.25rem !important;
2695
+ border: 1px solid #FEB2B2 !important;
2696
+ background-color: #FEF2F2 !important;
2697
+ box-shadow: none !important;
2698
+ }
2699
+ .semibold {
2700
+ font-weight: 600;
2701
+ }
2702
+
2703
+ /* src/features/LearningManagement/styles/InstantLearningModal.module.css */
2704
+ .container {
2705
+ margin-top: 0rem;
2706
+ }
2707
+ .mainHeader {
2708
+ display: flex;
2709
+ align-items: center;
2710
+ gap: 5px;
2711
+ cursor: pointer;
2712
+ padding: 0.5rem 0;
2713
+ user-select: none;
2714
+ }
2715
+ .mainHeaderIcon {
2716
+ color: #16A34A;
2717
+ flex-shrink: 0;
2718
+ }
2719
+ .mainHeaderTitle {
2720
+ font-size: 14px;
2721
+ font-weight: 600;
2722
+ color: #1A847C;
2723
+ line-height: 1.4;
2724
+ }
2725
+ .mainHeaderChevron {
2726
+ color: #19213D;
2727
+ transition: transform 0.2s ease;
2728
+ margin-left: 0.25rem;
2729
+ }
2730
+ .mainHeaderChevronClosed {
2731
+ transform: rotate(180deg);
2732
+ }
2733
+ .contentBox {
2734
+ border: 1px solid #CDEFED;
2735
+ border-radius: 8px;
2736
+ padding: 1rem;
2737
+ margin-top: 0.5rem;
2738
+ background-color: #CDEFED05;
2739
+ margin-bottom: 0.5rem;
2740
+ }
2741
+ .contentBox .contentBox {
2742
+ padding: 0.75rem;
2743
+ margin-top: 0.25rem;
2744
+ }
2745
+ .subtitle {
2746
+ font-size: 14px;
2747
+ color: #62687D;
2748
+ margin-bottom: 1rem;
2749
+ font-weight: 400;
2750
+ line-height: 1.5;
2751
+ }
2752
+ .rulesList {
2753
+ display: flex;
2754
+ flex-direction: column;
2755
+ gap: 0.5rem;
2756
+ }
2757
+ .ruleAccordion {
2758
+ border: 1px solid #E3E6EA;
2759
+ border-radius: 8px;
2760
+ background-color: #fff;
2761
+ overflow: hidden;
2762
+ }
2763
+ .ruleHeaderWrapper {
2764
+ display: flex;
2765
+ flex-direction: column;
2766
+ }
2767
+ .variantBrief {
2768
+ padding: 0 1rem 0.75rem;
2769
+ color: #999;
2770
+ }
2771
+ .summaryWrapper {
2772
+ display: flex;
2773
+ gap: 0.25rem;
2774
+ }
2775
+ .summaryCard {
2776
+ border: 1px solid #eee;
2777
+ padding: 5px;
2778
+ background: rgb(245 245 245);
2779
+ width: calc(100% / 5);
2780
+ text-align: center;
2781
+ }
2782
+ .summaryCard__blue {
2783
+ border: 1px solid #eee;
2784
+ background: aliceblue;
2785
+ }
2786
+ .summaryCard__green {
2787
+ background-color: #F0FDF4;
2788
+ border: 1px solid #DCFCE7;
2789
+ color: #008615;
2790
+ }
2791
+ .summaryCard__red {
2792
+ background-color: rgb(254 242 242 / var(--tw-bg-opacity, 1));
2793
+ border-color: rgb(254 226 226 / var(--tw-border-opacity, 1));
2794
+ color: rgb(220 38 38 / var(--tw-text-opacity, 1));
2795
+ }
2796
+ .summaryCard__orange {
2797
+ background-color: #FFF7ED;
2798
+ border: 1px solid #FFEDD5;
2799
+ color: #EA580C;
2800
+ }
2801
+ .ruleHeader {
2802
+ display: flex;
2803
+ align-items: center;
2804
+ justify-content: space-between;
2805
+ padding: 0.75rem 1rem;
2806
+ cursor: pointer;
2807
+ user-select: none;
2808
+ }
2809
+ .ruleHeaderLeft {
2810
+ display: flex;
2811
+ align-items: center;
2812
+ gap: 0.5rem;
2813
+ }
2814
+ .ruleNumber {
2815
+ font-size: 14px;
2816
+ font-weight: 500;
2817
+ color: #19213D;
2818
+ }
2819
+ .ruleTitle {
2820
+ font-size: 14px;
2821
+ font-weight: 500;
2822
+ color: #19213D;
2823
+ }
2824
+ .badgeApplied {
2825
+ display: inline-flex;
2826
+ align-items: center;
2827
+ gap: 0.25rem;
2828
+ padding: 0.25rem 0.5rem;
2829
+ background-color: #F0FDF4;
2830
+ border: 1px solid #DCFCE7;
2831
+ border-radius: 200px;
2832
+ font-size: 12px;
2833
+ font-weight: 500;
2834
+ color: #008615;
2835
+ }
2836
+ .badgeNotApplied {
2837
+ display: inline-flex;
2838
+ align-items: center;
2839
+ gap: 0.25rem;
2840
+ padding: 0.25rem 0.5rem;
2841
+ background-color: #FFF7ED;
2842
+ border: 1px solid #FFEDD5;
2843
+ border-radius: 200px;
2844
+ font-size: 12px;
2845
+ font-weight: 500;
2846
+ color: #EA580C;
2847
+ }
2848
+ .contextScore {
2849
+ font-size: 12px;
2850
+ font-weight: 500;
2851
+ color: #19213D;
2852
+ background-color: #E0F2FE;
2853
+ border: 1px solid #BAE6FD;
2854
+ border-radius: 200px;
2855
+ padding: 0.25rem 0.5rem;
2856
+ }
2857
+ .defaultChip {
2858
+ font-size: 12px;
2859
+ font-weight: 500;
2860
+ color: #19213D;
2861
+ background-color: #efefef;
2862
+ border: 1px solid #BAE6FD;
2863
+ border-radius: 200px;
2864
+ padding: 0.25rem 0.5rem;
2865
+ }
2866
+ .ruleChevron {
2867
+ color: #666F8D;
2868
+ transition: transform 0.2s ease;
2869
+ flex-shrink: 0;
2870
+ }
2871
+ .ruleChevronOpen {
2872
+ transform: rotate(180deg);
2873
+ }
2874
+ .ruleContent {
2875
+ padding: 0 1rem 1rem 1rem;
2876
+ }
2877
+ .showNotAppliedToggle {
2878
+ display: flex;
2879
+ align-items: center;
2880
+ gap: 0.25rem;
2881
+ padding: 0.75rem 0;
2882
+ cursor: pointer;
2883
+ user-select: none;
2884
+ margin-top: 0.5rem;
2885
+ }
2886
+ .showNotAppliedText {
2887
+ font-size: 14px;
2888
+ font-weight: 500;
2889
+ color: #19213D;
2890
+ }
2891
+ .showNotAppliedChevron {
2892
+ color: #19213D;
2893
+ transition: transform 0.2s ease;
2894
+ }
2895
+ .showNotAppliedChevronClosed {
2896
+ transform: rotate(180deg);
2897
+ }
2898
+ .showNotAppliedChevronOpen {
2899
+ transform: rotate(180deg);
2900
+ }
2901
+ .variantBadgesContainer {
2902
+ display: flex;
2903
+ gap: 0.5rem;
2904
+ }
2905
+ .variantBadge {
2906
+ padding: 0.25rem 0.5rem;
2907
+ background-color: #ffffff;
2908
+ border: 1px solid #F0F2F5;
2909
+ color: #19213D;
2910
+ font-size: 0.75rem;
2911
+ font-weight: 500;
2912
+ border-radius: 0.25rem;
2913
+ }
2914
+ .descriptionBox {
2915
+ background-color: #F8FAFC;
2916
+ border: 1px solid #E3E6EA;
2917
+ border-radius: 8px;
2918
+ padding: 1rem;
2919
+ margin-bottom: 1rem;
2920
+ }
2921
+ .descriptionText {
2922
+ font-size: 14px;
2923
+ font-weight: 500;
2924
+ color: #19213D;
2925
+ line-height: 1.5;
2926
+ margin: 0;
2927
+ }
2928
+ .conditionsContainer {
2929
+ border-left: 2px solid #E3E6EA;
2930
+ margin-left: 0.5rem;
2931
+ padding-left: 1rem;
2932
+ }
2933
+ .conditionBlock {
2934
+ margin-bottom: 1rem;
2935
+ }
2936
+ .conditionBlock:last-child {
2937
+ margin-bottom: 0;
2938
+ }
2939
+ .conditionHeader {
2940
+ display: flex;
2941
+ align-items: center;
2942
+ gap: 0.5rem;
2943
+ cursor: pointer;
2944
+ padding: 0.5rem 0;
2945
+ user-select: none;
2946
+ }
2947
+ .conditionIconApply {
2948
+ color: #16A34A;
2949
+ flex-shrink: 0;
2950
+ }
2951
+ .conditionIconNotApply {
2952
+ color: #EF4444;
2953
+ flex-shrink: 0;
2954
+ }
2955
+ .conditionLabel {
2956
+ font-size: 14px;
2957
+ font-weight: 500;
2958
+ color: #19213D;
2959
+ }
2960
+ .conditionChevron {
2961
+ color: #666F8D;
2962
+ transition: transform 0.2s ease;
2963
+ }
2964
+ .conditionChevronOpen {
2965
+ transform: rotate(180deg);
2966
+ }
2967
+ .conditionContent {
2968
+ padding-left: 1.5rem;
2969
+ padding-top: 0.25rem;
2970
+ }
2971
+ .conditionItem {
2972
+ font-size: 14px;
2973
+ color: #19213D;
2974
+ line-height: 1.5;
2975
+ margin-bottom: 0.25rem;
2976
+ }
2977
+ .noConditions {
2978
+ font-size: 14px;
2979
+ color: #666F8D;
2980
+ font-style: italic;
2981
+ }
2982
+ .whyRuleContainer {
2983
+ margin-top: 1rem;
2984
+ }
2985
+ .whyRuleAccordion {
2986
+ border: 1px solid #E3E6EA;
2987
+ border-radius: 8px;
2988
+ background-color: #fff;
2989
+ overflow: hidden;
2990
+ }
2991
+ .whyRuleHeader {
2992
+ display: flex;
2993
+ align-items: center;
2994
+ justify-content: space-between;
2995
+ padding: 0.75rem 1rem;
2996
+ cursor: pointer;
2997
+ user-select: none;
2998
+ }
2999
+ .whyRuleHeaderLeft {
3000
+ display: flex;
3001
+ align-items: center;
3002
+ gap: 0.5rem;
3003
+ }
3004
+ .whyRuleIcon {
3005
+ color: #6D28D9;
3006
+ flex-shrink: 0;
3007
+ }
3008
+ .whyRuleTitle {
3009
+ font-size: 12px;
3010
+ font-weight: 500;
3011
+ color: #1E293B;
3012
+ line-height: 20px;
3013
+ }
3014
+ .whyRuleHeaderRight {
3015
+ display: flex;
3016
+ align-items: center;
3017
+ gap: 0.5rem;
3018
+ }
3019
+ .strengthBadge {
3020
+ display: inline-flex;
3021
+ align-items: center;
3022
+ gap: 0.25rem;
3023
+ padding: 0.25rem 0.5rem;
3024
+ background-color: #ffffff;
3025
+ border: 1px solid #C4B5FD;
3026
+ border-radius: 16px;
3027
+ font-size: 10px;
3028
+ font-weight: 600;
3029
+ color: #1E293B;
3030
+ }
3031
+ .whyRuleChevron {
3032
+ color: #19213D;
3033
+ transition: transform 0.2s ease;
3034
+ }
3035
+ .whyRuleChevronOpen {
3036
+ transform: rotate(180deg);
3037
+ }
3038
+ .whyRuleContent {
3039
+ padding: 0 1rem 1rem 1rem;
3040
+ }
3041
+ .whyRuleSection {
3042
+ margin-bottom: 1rem;
3043
+ }
3044
+ .whyRuleSection:last-child {
3045
+ margin-bottom: 0;
3046
+ }
3047
+ .sectionTitle {
3048
+ font-size: 12px;
3049
+ font-weight: 500;
3050
+ color: #19213D;
3051
+ line-height: 130%;
3052
+ margin-bottom: 0.5rem;
3053
+ }
3054
+ .sectionSubtitle {
3055
+ font-size: 12px;
3056
+ font-weight: 400;
3057
+ color: #1E293B;
3058
+ line-height: 150%;
3059
+ margin-bottom: 0.5rem;
3060
+ }
3061
+ .reasoningList {
3062
+ padding-left: 1.25rem;
3063
+ }
3064
+ .reasoningItem {
3065
+ font-size: 12px;
3066
+ font-weight: 400;
3067
+ color: #666F8D;
3068
+ line-height: 150%;
3069
+ margin-bottom: 0.25rem;
3070
+ list-style: decimal;
3071
+ }
3072
+ .cognitiveCardWrapper {
3073
+ margin: 0 1rem 1rem 1rem;
3074
+ }
3075
+ .summarySectionHeader {
3076
+ display: flex;
3077
+ justify-content: space-between;
3078
+ align-items: center;
3079
+ cursor: pointer;
3080
+ user-select: none;
3081
+ transition: opacity 0.2s;
3082
+ }
3083
+ .summarySectionHeader:hover {
3084
+ opacity: 0.8;
3085
+ }
3086
+ .ruleHeaderRight {
3087
+ display: flex;
3088
+ align-items: center;
3089
+ gap: 1rem;
3090
+ flex-shrink: 0;
3091
+ }
3092
+ .adIdLabel {
3093
+ font-family:
3094
+ ui-monospace,
3095
+ SFMono-Regular,
3096
+ Menlo,
3097
+ Monaco,
3098
+ Consolas,
3099
+ monospace;
3100
+ font-size: 10px;
3101
+ color: #94A3B8;
3102
+ background: #F8FAFC;
3103
+ padding: 2px 6px;
3104
+ border-radius: 4px;
3105
+ border: 1px solid #F1F5F9;
3106
+ }
3107
+ .revenueBadge {
3108
+ font-size: 12px;
3109
+ font-weight: 600;
3110
+ color: #059669;
3111
+ background-color: #ECFDF5;
3112
+ border: 1px solid #D1FAE5;
3113
+ border-radius: 200px;
3114
+ padding: 0.25rem 0.6rem;
3115
+ }
3116
+ .ruleHeaderLeft .variantBadge {
3117
+ background-color: #F3F4F6;
3118
+ border-color: #E5E7EB;
3119
+ color: #4B5563;
3120
+ line-height: 1;
3121
+ display: flex;
3122
+ align-items: center;
3123
+ height: 24px;
3124
+ }
3125
+ .ruleHeaderLeft .revenueBadge {
3126
+ display: flex;
3127
+ align-items: center;
3128
+ height: 24px;
3129
+ line-height: 1;
3130
+ }
3131
+ .ruleTitle {
3132
+ font-size: 14px;
3133
+ font-weight: 600;
3134
+ color: #19213D;
3135
+ white-space: nowrap;
3136
+ overflow: hidden;
3137
+ text-overflow: ellipsis;
3138
+ max-width: 200px;
3139
+ }
3140
+
3141
+ /* src/features/LearningManagement/styles/StationsContent.module.css */
3142
+ .container {
3143
+ flex: 1;
3144
+ height: calc(100vh - 140px);
3145
+ display: flex;
3146
+ flex-direction: column;
3147
+ background-color: #ffffff;
3148
+ overflow: hidden;
3149
+ }
3150
+ .searchBarWrapper {
3151
+ padding-left: 1.5rem;
3152
+ padding-right: 1.5rem;
3153
+ padding-bottom: 0.5rem;
3154
+ margin-bottom: 0.5rem;
3155
+ display: flex;
3156
+ align-items: center;
3157
+ }
3158
+ .searchRelative {
3159
+ position: relative;
3160
+ width: 100%;
3161
+ max-width: 28rem;
3162
+ }
3163
+ .searchIconWrapper {
3164
+ position: absolute;
3165
+ top: 0;
3166
+ bottom: 0;
3167
+ left: 0;
3168
+ padding-left: 0.75rem;
3169
+ display: flex;
3170
+ align-items: center;
3171
+ pointer-events: none;
3172
+ }
3173
+ .searchIcon {
3174
+ height: 1rem;
3175
+ width: 1rem;
3176
+ color: #9CA3AF;
3177
+ }
3178
+ .searchInput {
3179
+ display: block;
3180
+ width: 100%;
3181
+ box-sizing: border-box;
3182
+ padding-top: 0.5rem;
3183
+ padding-bottom: 0.5rem;
3184
+ padding-left: 2.5rem;
3185
+ padding-right: 0.75rem;
3186
+ border: 1px solid #D1D5DB;
3187
+ border-radius: 0.375rem;
3188
+ line-height: 1.25rem;
3189
+ background-color: #ffffff;
3190
+ font-size: 14px;
3191
+ outline: none;
3192
+ transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
3193
+ }
3194
+ .searchInput::placeholder {
3195
+ color: #6B7280;
3196
+ }
3197
+ .searchInput:focus {
3198
+ border-color: #3B82F6;
3199
+ box-shadow: 0 0 0 1px #3B82F6;
3200
+ }
3201
+ .contentArea {
3202
+ flex: 1;
3203
+ overflow-y: auto;
3204
+ padding: 1.5rem;
3205
+ }
3206
+ .loadingWrapper {
3207
+ display: flex;
3208
+ justify-content: center;
3209
+ align-items: center;
3210
+ height: 100%;
3211
+ color: #6B7280;
3212
+ }
3213
+ .emptyWrapper {
3214
+ display: flex;
3215
+ flex-direction: column;
3216
+ align-items: center;
3217
+ justify-content: center;
3218
+ height: 100%;
3219
+ }
3220
+ .noResultsWrapper {
3221
+ display: flex;
3222
+ flex-direction: column;
3223
+ align-items: center;
3224
+ justify-content: center;
3225
+ height: 100%;
3226
+ color: #6B7280;
3227
+ }
3228
+ .stationList {
3229
+ display: flex;
3230
+ flex-direction: column;
3231
+ gap: 0.75rem;
3232
+ }
3233
+ .stationCard {
3234
+ box-sizing: border-box;
3235
+ display: flex;
3236
+ align-items: start;
3237
+ justify-content: space-between;
3238
+ padding: 1rem;
3239
+ background-color: #ffffff;
3240
+ border-radius: 0.5rem;
3241
+ border: 1px solid #E5E7EB;
3242
+ box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
3243
+ }
3244
+ .stationCardLeft {
3245
+ display: flex;
3246
+ align-items: center;
3247
+ gap: 1rem;
3248
+ }
3249
+ .stationIconWrapper {
3250
+ flex-shrink: 0;
3251
+ width: 2.5rem;
3252
+ height: 2.5rem;
3253
+ background-color: #EFF6FF;
3254
+ color: #3B82F6;
3255
+ border-radius: 50%;
3256
+ display: flex;
3257
+ align-items: center;
3258
+ justify-content: center;
3259
+ }
3260
+ .stationDetails {
3261
+ display: flex;
3262
+ flex-direction: column;
3263
+ }
3264
+ .stationHeaderRow {
3265
+ display: flex;
3266
+ align-items: center;
3267
+ gap: 0.5rem;
3268
+ }
3269
+ .stationNameText {
3270
+ font-size: 15px;
3271
+ font-weight: 500;
3272
+ color: #111827;
3273
+ }
3274
+ .learningsBadge {
3275
+ font-size: 11px;
3276
+ color: #374151;
3277
+ background-color: #F9FAFB;
3278
+ border: 1px solid #F3F4F6;
3279
+ padding-left: 0.5rem;
3280
+ padding-right: 0.5rem;
3281
+ padding-top: 0.125rem;
3282
+ padding-bottom: 0.125rem;
3283
+ border-radius: 9999px;
3284
+ font-weight: 500;
3285
+ }
3286
+ .stationDescText {
3287
+ font-size: 13px;
3288
+ color: #6B7280;
3289
+ margin-top: 0.125rem;
3290
+ }
3291
+ .actionButtonsWrapper {
3292
+ display: flex;
3293
+ align-items: center;
3294
+ gap: 1rem;
3295
+ padding-right: 0.5rem;
3296
+ }
3297
+ .deleteBtn {
3298
+ background: none;
3299
+ border: none;
3300
+ font-size: 0.875rem;
3301
+ font-weight: 500;
3302
+ color: #EF4444;
3303
+ cursor: pointer;
3304
+ transition: color 0.15s ease-in-out;
3305
+ }
3306
+ .deleteBtn:hover {
3307
+ color: #B91C1C;
3308
+ }
3309
+ .viewBtn {
3310
+ background: none;
3311
+ border: none;
3312
+ font-size: 0.875rem;
3313
+ font-weight: 500;
3314
+ color: #2563EB;
3315
+ cursor: pointer;
3316
+ transition: color 0.15s ease-in-out;
3317
+ }
3318
+ .viewBtn:hover {
3319
+ color: #1D4ED8;
3320
+ }
3321
+
3322
+ /* src/features/LearningManagement/styles/LearningTemplateLayout.module.css */
3323
+ .container {
3324
+ display: flex;
3325
+ height: 100%;
3326
+ width: 100%;
3327
+ background-color: #ffffff;
3328
+ }
3329
+ .content {
3330
+ flex: 1;
3331
+ overflow: hidden;
3332
+ }
3333
+ .emptyStateWrapper {
3334
+ display: flex;
3335
+ height: 100%;
3336
+ width: 100%;
3337
+ align-items: center;
3338
+ justify-content: center;
3339
+ }
3340
+
3341
+ /* src/features/LearningManagement/styles/Sidebar.module.css */
3342
+ .sidebar {
3343
+ width: 340px;
3344
+ background-color: #ffffff;
3345
+ border-right: 1px solid #E3E6EA;
3346
+ height: calc(100vh - 140px);
3347
+ display: flex;
3348
+ flex-direction: column;
3349
+ padding-top: 1.25rem;
3350
+ position: relative;
3351
+ overflow: hidden;
3352
+ }
3353
+ .tabsContainer {
3354
+ padding: 0 1.25rem;
3355
+ margin-bottom: 1.25rem;
3356
+ }
3357
+ .tabsWrapper {
3358
+ background-color: rgba(243, 244, 246, 0.8);
3359
+ padding: 0.25rem;
3360
+ border-radius: 0.5rem;
3361
+ display: grid;
3362
+ grid-template-columns: 1fr 1fr;
3363
+ gap: 0.25rem;
3364
+ }
3365
+ .tab {
3366
+ display: flex;
3367
+ align-items: center;
3368
+ justify-content: center;
3369
+ gap: 0.5rem;
3370
+ padding: 0.5rem 0.75rem;
3371
+ border-radius: 0.375rem;
3372
+ font-size: 0.875rem;
3373
+ font-weight: 600;
3374
+ transition: all 0.2s;
3375
+ border: none;
3376
+ cursor: pointer;
3377
+ background: transparent;
3378
+ color: #64748B;
3379
+ }
3380
+ .tab:hover {
3381
+ color: #2563EB;
3382
+ }
3383
+ .tabActive {
3384
+ background-color: #ffffff;
3385
+ color: #2563EB;
3386
+ box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
3387
+ font-weight: 700;
3388
+ }
3389
+ .searchContainer {
3390
+ padding: 0 1.25rem;
3391
+ margin-bottom: 1rem;
3392
+ }
3393
+ .searchWrapper {
3394
+ display: flex;
3395
+ gap: 0.5rem;
3396
+ }
3397
+ .searchInputWrapper {
3398
+ position: relative;
3399
+ display: flex;
3400
+ align-items: center;
3401
+ width: 100%;
3402
+ flex: 1;
3403
+ }
3404
+ .searchIcon {
3405
+ position: absolute;
3406
+ left: 0.75rem;
3407
+ top: 50%;
3408
+ transform: translateY(-50%);
3409
+ color: #9ca3af;
3410
+ }
3411
+ .searchInput {
3412
+ width: 100%;
3413
+ padding: 0.5rem 1rem 0.5rem 2.25rem;
3414
+ background-color: #ffffff;
3415
+ border: 1px solid #F0F2F5;
3416
+ border-radius: 0.5rem;
3417
+ font-size: 0.875rem;
3418
+ outline: none;
3419
+ transition: all 0.2s;
3420
+ box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
3421
+ }
3422
+ .searchInput:focus {
3423
+ border-color: #2563EB;
3424
+ box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.2);
3425
+ }
3426
+ .searchInput::placeholder {
3427
+ color: #9ca3af;
3428
+ }
3429
+ .searchRightContainer {
3430
+ position: absolute;
3431
+ right: 1rem;
3432
+ top: 50%;
3433
+ transform: translateY(-50%);
3434
+ display: flex;
3435
+ align-items: center;
3436
+ gap: 0.5rem;
3437
+ }
3438
+ .searchCountBadge {
3439
+ font-size: 0.75rem;
3440
+ font-weight: 500;
3441
+ background-color: #FDE047;
3442
+ padding: 0.125rem 0.375rem;
3443
+ border-radius: 0.25rem;
3444
+ color: #374151;
3445
+ }
3446
+ .searchClearButton {
3447
+ color: #9ca3af;
3448
+ background: transparent;
3449
+ border: none;
3450
+ padding: 0;
3451
+ margin: 0;
3452
+ display: flex;
3453
+ align-items: center;
3454
+ cursor: pointer;
3455
+ transition: color 0.2s ease;
3456
+ outline: none;
3457
+ }
3458
+ .searchClearButton:hover {
3459
+ color: #4b5563;
3460
+ }
3461
+ .filterButton {
3462
+ padding: 0.5rem;
3463
+ border: 1px solid #F0F2F5;
3464
+ border-radius: 0.5rem;
3465
+ background-color: #F7F8FA;
3466
+ cursor: pointer;
3467
+ transition: background-color 0.2s, border-color 0.2s;
3468
+ }
3469
+ .filterButton:hover {
3470
+ background-color: #F0F2F5;
3471
+ }
3472
+ .filterButton svg {
3473
+ color: #19213D;
3474
+ }
3475
+ .divider {
3476
+ height: 1.5px;
3477
+ margin: 0 1.25rem;
3478
+ width: 100%;
3479
+ background-color: #F0F2F5;
3480
+ margin-bottom: 1rem;
3481
+ }
3482
+ .content {
3483
+ flex: 1;
3484
+ overflow-y: auto;
3485
+ padding: 0 1.25rem;
3486
+ }
3487
+ .content::-webkit-scrollbar {
3488
+ width: 4px;
3489
+ }
3490
+ .content::-webkit-scrollbar-thumb {
3491
+ background-color: #e5e7eb;
3492
+ border-radius: 9999px;
3493
+ }
3494
+ .section {
3495
+ margin-bottom: 1.5rem;
3496
+ }
3497
+ .sectionTitle {
3498
+ font-size: 0.875rem;
3499
+ font-weight: 600;
3500
+ color: #19213D;
3501
+ margin-bottom: 0.75rem;
3502
+ }
3503
+ .sectionList {
3504
+ display: flex;
3505
+ flex-direction: column;
3506
+ gap: 0.75rem;
3507
+ }
3508
+ .createButtonContainer {
3509
+ position: absolute;
3510
+ bottom: 0;
3511
+ left: 0;
3512
+ width: 100%;
3513
+ background-color: #ffffff;
3514
+ border-top: 1px solid #e5e7eb;
3515
+ padding: 1rem;
3516
+ z-index: 50;
3517
+ box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.05);
3518
+ }
3519
+ .createButton {
3520
+ width: 100%;
3521
+ display: flex;
3522
+ align-items: center;
3523
+ justify-content: center;
3524
+ gap: 0.5rem;
3525
+ padding: 0.75rem;
3526
+ background-color: #F7F8FA;
3527
+ border: 1px solid #F0F2F5;
3528
+ border-radius: 0.5rem;
3529
+ font-size: 0.75rem;
3530
+ font-weight: 500;
3531
+ color: #19213D;
3532
+ cursor: pointer;
3533
+ transition: all 0.2s;
3534
+ }
3535
+ .createButton:hover {
3536
+ background-color: #f3f4f6;
3537
+ box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
3538
+ }
3539
+ .createButton:active {
3540
+ transform: scale(0.99);
3541
+ }
3542
+ .emptyContent {
3543
+ display: flex;
3544
+ flex-direction: column;
3545
+ align-items: center;
3546
+ justify-content: center;
3547
+ height: 10rem;
3548
+ color: #9ca3af;
3549
+ font-size: 0.875rem;
3550
+ }
3551
+
3552
+ /* src/features/LearningManagement/styles/ScopeTree.module.css */
3553
+ .treeContainer {
3554
+ display: flex;
3555
+ flex-direction: column;
3556
+ gap: 0.5rem;
3557
+ padding: 0 1.25rem;
3558
+ padding-bottom: 80px;
3559
+ flex: 1;
3560
+ overflow: auto;
3561
+ height: 100%;
3562
+ }
3563
+ .treeContainer::-webkit-scrollbar {
3564
+ width: 4px;
3565
+ height: 4px;
3566
+ }
3567
+ .treeContainer::-webkit-scrollbar-thumb {
3568
+ background-color: #e5e7eb;
3569
+ border-radius: 9999px;
3570
+ }
3571
+ .nodeWrapper {
3572
+ display: flex;
3573
+ flex-direction: column;
3574
+ position: relative;
3575
+ min-width: max-content;
3576
+ }
3577
+ .childrenWrapper {
3578
+ display: flex;
3579
+ flex-direction: column;
3580
+ gap: 0.5rem;
3581
+ margin-top: 0.5rem;
3582
+ margin-left: calc((var(--tree-depth, 0) * 0px) + 0.875rem);
3583
+ padding-left: 1rem;
3584
+ border-left: 1px solid #E3E6EA;
3585
+ min-width: max-content;
3586
+ }
3587
+ .nodeHeader {
3588
+ display: flex;
3589
+ align-items: center;
3590
+ gap: 0.5rem;
3591
+ padding: 0.5rem 0.5rem;
3592
+ border-radius: 0.375rem;
3593
+ cursor: pointer;
3594
+ transition: all 0.2s;
3595
+ color: #19213D;
3596
+ border: 1px solid transparent;
3597
+ min-width: max-content;
3598
+ }
3599
+ .nodeHeader:hover {
3600
+ background-color: #F7F8FA;
3601
+ }
3602
+ .nodeHeaderSelected {
3603
+ color: #2563EB;
3604
+ border-color: #2563EB;
3605
+ }
3606
+ .nodeHeaderAncestor {
3607
+ color: #2563EB;
3608
+ }
3609
+ .chevron {
3610
+ color: #9CA3AF;
3611
+ display: flex;
3612
+ align-items: center;
3613
+ justify-content: center;
3614
+ transition: transform 0.2s;
3615
+ flex-shrink: 0;
3616
+ }
3617
+ .chevronExpanded {
3618
+ transform: rotate(180deg);
3619
+ }
3620
+ .chevronHidden {
3621
+ visibility: hidden;
3622
+ width: 16px;
3623
+ }
3624
+ .folderIcon {
3625
+ display: flex;
3626
+ align-items: center;
3627
+ justify-content: center;
3628
+ color: inherit;
3629
+ flex-shrink: 0;
3630
+ }
3631
+ .nodeName {
3632
+ flex: 1;
3633
+ font-size: 0.875rem;
3634
+ font-weight: 500;
3635
+ white-space: nowrap;
3636
+ }
3637
+ .optionsButton {
3638
+ color: #64748B;
3639
+ display: flex;
3640
+ align-items: center;
3641
+ justify-content: center;
3642
+ padding: 0.25rem;
3643
+ border-radius: 0.25rem;
3644
+ transition: all 0.2s;
3645
+ background: transparent;
3646
+ border: none;
3647
+ cursor: pointer;
3648
+ }
3649
+ .optionsButton:hover {
3650
+ background-color: #E2E8F0;
3651
+ color: #19213D;
3652
+ }
3653
+ .pill {
3654
+ display: flex;
3655
+ align-items: center;
3656
+ gap: 0.5rem;
3657
+ padding: 0.5rem 1rem;
3658
+ border-radius: 0.5rem;
3659
+ cursor: pointer;
3660
+ transition: all 0.2s;
3661
+ border: 1px solid transparent;
3662
+ color: #64748B;
3663
+ }
3664
+ .pill:hover {
3665
+ background-color: #F7F8FA;
3666
+ color: #19213D;
3667
+ }
3668
+ .pillActive {
3669
+ background-color: #F0F5FF;
3670
+ border-color: #2563EB;
3671
+ color: #2563EB;
3672
+ }
3673
+ .pillActive:hover {
3674
+ background-color: #E0EBFF;
3675
+ color: #2563EB;
3676
+ }
3677
+ .pillIcon {
3678
+ display: flex;
3679
+ align-items: center;
3680
+ justify-content: center;
3681
+ }
3682
+ .pillLabel {
3683
+ font-size: 0.875rem;
3684
+ font-weight: 500;
3685
+ flex: 1;
3686
+ }
3687
+ .badge {
3688
+ display: inline-flex;
3689
+ align-items: center;
3690
+ justify-content: center;
3691
+ min-width: 1.25rem;
3692
+ height: 1.25rem;
3693
+ border-radius: 9999px;
3694
+ background-color: #F1F5F9;
3695
+ color: #475569;
3696
+ font-size: 0.625rem;
3697
+ font-weight: 600;
3698
+ padding: 0 0.375rem;
3699
+ }
3700
+ .badgeActive {
3701
+ background-color: #2563EB;
3702
+ color: #FFFFFF;
3703
+ }
3704
+ .addAction {
3705
+ display: flex;
3706
+ align-items: center;
3707
+ gap: 0.5rem;
3708
+ padding: 0.5rem 0.5rem;
3709
+ color: #2563EB;
3710
+ font-size: 0.875rem;
3711
+ font-weight: 500;
3712
+ cursor: pointer;
3713
+ background: transparent;
3714
+ border: none;
3715
+ border-radius: 0.375rem;
3716
+ transition: all 0.2s;
3717
+ margin-top: 0.25rem;
3718
+ width: fit-content;
3719
+ }
3720
+ .addAction:hover {
3721
+ background-color: #F0F5FF;
3722
+ }
3723
+ .addIcon {
3724
+ display: flex;
3725
+ align-items: center;
3726
+ justify-content: center;
3727
+ }
3728
+ .menuContainer {
3729
+ position: relative;
3730
+ display: inline-block;
3731
+ text-align: left;
3732
+ }
3733
+ .menuDropdown {
3734
+ position: absolute;
3735
+ z-index: 9999;
3736
+ width: 12rem;
3737
+ border-radius: 0.375rem;
3738
+ background-color: #ffffff;
3739
+ box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
3740
+ border: 1px solid rgba(0, 0, 0, 0.05);
3741
+ outline: none;
3742
+ padding: 0.25rem 0;
3743
+ display: flex;
3744
+ flex-direction: column;
3745
+ }
3746
+ .menuDropdownTop {
3747
+ bottom: 100%;
3748
+ margin-bottom: 0.25rem;
3749
+ right: 0;
3750
+ }
3751
+ .menuDropdownBottom {
3752
+ top: 100%;
3753
+ margin-top: 0.25rem;
3754
+ right: 0;
3755
+ }
3756
+ .menuOption {
3757
+ display: flex;
3758
+ width: 100%;
3759
+ align-items: center;
3760
+ padding: 0.5rem 1rem;
3761
+ text-align: left;
3762
+ font-size: 0.875rem;
3763
+ color: #374151;
3764
+ background: transparent;
3765
+ border: none;
3766
+ cursor: pointer;
3767
+ }
3768
+ .menuOption:not(:disabled):hover {
3769
+ background-color: #f3f4f6;
3770
+ color: #111827;
3771
+ }
3772
+ .menuOptionDisabled {
3773
+ color: #9ca3af;
3774
+ cursor: not-allowed;
3775
+ opacity: 0.6;
3776
+ }
3777
+ .menuOptionIcon {
3778
+ margin-right: 0.75rem;
3779
+ flex-shrink: 0;
3780
+ }
3781
+ .tooltipWrapper {
3782
+ width: 100%;
3783
+ position: relative;
3784
+ }
3785
+ .tooltipContent {
3786
+ font-family: sans-serif;
3787
+ z-index: 9999;
3788
+ background-color: #2A3547;
3789
+ color: #ffffff;
3790
+ border-radius: 0.375rem;
3791
+ padding: 0.5rem 0.75rem;
3792
+ font-size: 0.875rem;
3793
+ max-width: 280px;
3794
+ box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
3795
+ position: relative;
3796
+ animation: tooltipFadeIn 0.15s ease-out;
3797
+ }
3798
+ .tooltipArrow {
3799
+ position: absolute;
3800
+ fill: #2A3547;
3801
+ }
3802
+ @keyframes tooltipFadeIn {
3803
+ from {
3804
+ opacity: 0;
3805
+ transform: scale(0.95);
3806
+ }
3807
+ to {
3808
+ opacity: 1;
3809
+ transform: scale(1);
3810
+ }
3811
+ }
3812
+ .highlightText {
3813
+ background-color: #FDE047;
3814
+ border-radius: 0.125rem;
3815
+ color: #111827;
3816
+ }
3817
+
3818
+ /* src/features/LearningManagement/styles/StationAutocomplete.module.css */
3819
+ @keyframes spin {
3820
+ from {
3821
+ transform: rotate(0deg);
3822
+ }
3823
+ to {
3824
+ transform: rotate(360deg);
3825
+ }
3826
+ }
3827
+ .wrapper {
3828
+ position: relative;
3829
+ width: 100%;
3830
+ }
3831
+ .inputWrapper {
3832
+ position: relative;
3833
+ width: 100%;
3834
+ }
3835
+ .input {
3836
+ width: 100%;
3837
+ box-sizing: border-box;
3838
+ border-radius: 0.5rem;
3839
+ border: 1px solid #F0F2F5;
3840
+ padding: 0.5rem 2.5rem 0.5rem 1rem;
3841
+ font-size: 14px;
3842
+ outline: none;
3843
+ background-color: #ffffff;
3844
+ transition: all 0.2s ease-in-out;
3845
+ }
3846
+ .input:hover {
3847
+ border-color: #2563EB50;
3848
+ }
3849
+ .input:focus {
3850
+ border-color: #2563EB;
3851
+ box-shadow: 0 0 0 1px #2563EB;
3852
+ }
3853
+ .input::placeholder {
3854
+ color: #9CA3AF;
3855
+ }
3856
+ .spinnerWrapper {
3857
+ position: absolute;
3858
+ right: 0.75rem;
3859
+ top: 50%;
3860
+ transform: translateY(-50%);
3861
+ display: flex;
3862
+ align-items: center;
3863
+ justify-content: center;
3864
+ pointer-events: none;
3865
+ }
3866
+ .spinner {
3867
+ width: 1rem;
3868
+ height: 1rem;
3869
+ animation: spin 1s linear infinite;
3870
+ color: #9CA3AF;
3871
+ }
3872
+ .dropdown {
3873
+ position: absolute;
3874
+ top: 100%;
3875
+ left: 0;
3876
+ z-index: 100;
3877
+ margin-top: 0.25rem;
3878
+ max-height: 15rem;
3879
+ width: 100%;
3880
+ overflow-y: auto;
3881
+ border-radius: 0.375rem;
3882
+ border: 1px solid #E2E8F0;
3883
+ background-color: #ffffff;
3884
+ padding-top: 0.25rem;
3885
+ padding-bottom: 0.25rem;
3886
+ box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
3887
+ box-sizing: border-box;
3888
+ }
3889
+ .item {
3890
+ box-sizing: border-box;
3891
+ padding: 0.5rem 1rem;
3892
+ font-size: 0.875rem;
3893
+ display: flex;
3894
+ align-items: center;
3895
+ justify-content: space-between;
3896
+ transition: background-color 0.15s ease;
3897
+ }
3898
+ .itemOnboarded {
3899
+ cursor: not-allowed;
3900
+ background-color: #F9FAFB;
3901
+ opacity: 0.6;
3902
+ }
3903
+ .itemClickable {
3904
+ cursor: pointer;
3905
+ }
3906
+ .itemClickable:hover {
3907
+ background-color: #F3F4F6;
3908
+ }
3909
+ .itemLeft {
3910
+ display: flex;
3911
+ align-items: center;
3912
+ gap: 0.75rem;
3913
+ }
3914
+ .checkWrapper {
3915
+ display: flex;
3916
+ align-items: center;
3917
+ justify-content: center;
3918
+ width: 1.25rem;
3919
+ height: 1.25rem;
3920
+ border-radius: 50%;
3921
+ background-color: #DCFCE7;
3922
+ color: #16A34A;
3923
+ flex-shrink: 0;
3924
+ }
3925
+ .stationName {
3926
+ font-weight: 500;
3927
+ }
3928
+ .stationNameOnboarded {
3929
+ color: #6B7280;
3930
+ }
3931
+ .stationNameUnonboarded {
3932
+ color: #111827;
3933
+ }
3934
+ .market {
3935
+ font-size: 0.75rem;
3936
+ color: #6B7280;
3937
+ }
3938
+ .badge {
3939
+ font-size: 10px;
3940
+ font-weight: 500;
3941
+ text-transform: uppercase;
3942
+ letter-spacing: 0.05em;
3943
+ color: #9CA3AF;
3944
+ background-color: #F3F4F6;
3945
+ padding: 0.125rem 0.5rem;
3946
+ border-radius: 0.25rem;
3947
+ border: 1px solid #E5E7EB;
3948
+ }
3949
+ .noResults {
3950
+ padding: 0.5rem 1rem;
3951
+ text-align: center;
3952
+ font-size: 0.875rem;
3953
+ color: #6B7280;
3954
+ cursor: not-allowed;
3955
+ }
3956
+
3957
+ /* src/features/LearningManagement/styles/CardSkeleton.module.css */
3958
+ @keyframes pulse {
3959
+ 0%, 100% {
3960
+ opacity: 1;
3961
+ }
3962
+ 50% {
3963
+ opacity: .5;
3964
+ }
3965
+ }
3966
+ @keyframes spin {
3967
+ from {
3968
+ transform: rotate(0deg);
3969
+ }
3970
+ to {
3971
+ transform: rotate(360deg);
3972
+ }
3973
+ }
3974
+ .skeletonCard {
3975
+ box-sizing: border-box;
3976
+ display: flex;
3977
+ flex-direction: column;
3978
+ align-items: flex-start;
3979
+ padding: 1.5rem;
3980
+ gap: 1.5rem;
3981
+ width: 100%;
3982
+ background-color: #ffffff;
3983
+ border: 1px solid #F0F2F5;
3984
+ box-shadow: 0px 2px 4px rgba(25, 33, 61, 0.08);
3985
+ border-radius: 16px;
3986
+ }
3987
+ .contentWrapper {
3988
+ display: flex;
3989
+ flex-direction: column;
3990
+ gap: 1.5rem;
3991
+ width: 100%;
3992
+ animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
3993
+ }
3994
+ .paragraphGroup {
3995
+ display: flex;
3996
+ flex-direction: column;
3997
+ gap: 0.75rem;
3998
+ width: 100%;
3999
+ }
4000
+ .shimmerLine {
4001
+ height: 8px;
4002
+ background-color: #F0F2F5;
4003
+ border-radius: 9999px;
4004
+ }
4005
+ .analysisLoader {
4006
+ box-sizing: border-box;
4007
+ display: flex;
4008
+ flex-direction: column;
4009
+ align-items: flex-start;
4010
+ padding: 1.5rem;
4011
+ gap: 1.5rem;
4012
+ width: 100%;
4013
+ max-width: 48rem;
4014
+ margin-left: auto;
4015
+ margin-right: auto;
4016
+ background-color: #ffffff;
4017
+ border: 1px solid #F0F2F5;
4018
+ border-radius: 1rem;
4019
+ box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
4020
+ }
4021
+ .loaderHeader {
4022
+ display: flex;
4023
+ flex-direction: row;
4024
+ align-items: center;
4025
+ gap: 0.75rem;
4026
+ width: 100%;
4027
+ padding: 1rem 1.25rem;
4028
+ background-color: #F8FAFC;
4029
+ border-radius: 0.5rem;
4030
+ box-sizing: border-box;
4031
+ }
4032
+ .spinIcon {
4033
+ width: 1rem;
4034
+ height: 1rem;
4035
+ display: flex;
4036
+ align-items: center;
4037
+ justify-content: center;
4038
+ animation: spin 1s linear infinite;
4039
+ }
4040
+ .loaderText {
4041
+ font-size: 1rem;
4042
+ font-weight: 500;
4043
+ color: #19213D;
4044
+ line-height: 1.3;
4045
+ }
4046
+
4047
+ /* src/features/LearningManagement/styles/OnboardingLoader.module.css */
4048
+ @keyframes shimmer {
4049
+ 0% {
4050
+ background-position: -200px 0;
4051
+ }
4052
+ 100% {
4053
+ background-position: calc(200px + 100%) 0;
4054
+ }
4055
+ }
4056
+ .successIndicator {
4057
+ width: 18px;
4058
+ height: 18px;
4059
+ border-radius: 50%;
4060
+ background-color: #22C55E;
4061
+ display: flex;
4062
+ align-items: center;
4063
+ justify-content: center;
4064
+ }
4065
+ .progressIndicator {
4066
+ width: 18px;
4067
+ height: 18px;
4068
+ display: flex;
4069
+ align-items: center;
4070
+ justify-content: center;
4071
+ }
4072
+ .pendingIndicator {
4073
+ width: 16px;
4074
+ height: 16px;
4075
+ border-radius: 50%;
4076
+ border: 1.5px solid #CBD5E1;
4077
+ background-color: transparent;
4078
+ }
4079
+ .shimmerBar {
4080
+ background-color: #E2E8F0;
4081
+ border-radius: 4px;
4082
+ background-image:
4083
+ linear-gradient(
4084
+ 90deg,
4085
+ #E2E8F0 0px,
4086
+ #F1F5F9 40px,
4087
+ #E2E8F0 80px);
4088
+ background-size: 200px 100%;
4089
+ animation: shimmer 1.5s ease-in-out infinite;
4090
+ }
4091
+ .shimmer1 {
4092
+ display: flex;
4093
+ flex-direction: column;
4094
+ gap: 12px;
4095
+ padding: 24px;
4096
+ background-color: #fff;
4097
+ border-radius: 12px;
4098
+ border: 1px solid #E2E8F0;
4099
+ width: 100%;
4100
+ box-sizing: border-box;
4101
+ }
4102
+ .shimmer2 {
4103
+ display: flex;
4104
+ gap: 16px;
4105
+ padding: 24px;
4106
+ background-color: #fff;
4107
+ border-radius: 12px;
4108
+ border: 1px solid #E2E8F0;
4109
+ width: 100%;
4110
+ box-sizing: border-box;
4111
+ }
4112
+ .shimmer2Left {
4113
+ flex: 1;
4114
+ display: flex;
4115
+ flex-direction: column;
4116
+ gap: 10px;
4117
+ }
4118
+ .shimmer2Right {
4119
+ flex: 1;
4120
+ background-color: #F1F5F9;
4121
+ border-radius: 12px;
4122
+ min-height: 200px;
4123
+ background-image:
4124
+ linear-gradient(
4125
+ 90deg,
4126
+ #F1F5F9 0px,
4127
+ #F8FAFC 40px,
4128
+ #F1F5F9 80px);
4129
+ background-size: 200px 100%;
4130
+ animation: shimmer 1.5s ease-in-out infinite;
4131
+ }
4132
+ .shimmer3 {
4133
+ display: flex;
4134
+ gap: 16px;
4135
+ padding: 24px;
4136
+ background-color: #fff;
4137
+ border-radius: 12px;
4138
+ border: 1px solid #E2E8F0;
4139
+ width: 100%;
4140
+ box-sizing: border-box;
4141
+ }
4142
+ .shimmer3Left {
4143
+ flex: 1;
4144
+ display: flex;
4145
+ flex-direction: column;
4146
+ gap: 10px;
4147
+ }
4148
+ .shimmer3Right {
4149
+ flex: 1;
4150
+ display: flex;
4151
+ flex-direction: column;
4152
+ gap: 12px;
4153
+ }
4154
+ .shimmer3Card {
4155
+ height: 48px;
4156
+ background-color: #F1F5F9;
4157
+ border-radius: 8px;
4158
+ background-image:
4159
+ linear-gradient(
4160
+ 90deg,
4161
+ #F1F5F9 0px,
4162
+ #F8FAFC 40px,
4163
+ #F1F5F9 80px);
4164
+ background-size: 200px 100%;
4165
+ animation: shimmer 1.5s ease-in-out infinite;
4166
+ }
4167
+ .overlay {
4168
+ position: absolute;
4169
+ top: 0;
4170
+ left: 0;
4171
+ right: 0;
4172
+ bottom: 0;
4173
+ background-color: rgba(255, 255, 255, 0.97);
4174
+ display: flex;
4175
+ flex-direction: row;
4176
+ padding: 48px;
4177
+ gap: 48px;
4178
+ z-index: 100;
4179
+ box-sizing: border-box;
4180
+ }
4181
+ .leftSide {
4182
+ flex: 1;
4183
+ display: flex;
4184
+ flex-direction: column;
4185
+ justify-content: center;
4186
+ }
4187
+ .sparkleWrapper {
4188
+ margin-bottom: 16px;
4189
+ }
4190
+ .title {
4191
+ font-size: 1.5rem;
4192
+ font-weight: 600;
4193
+ color: #0F172A;
4194
+ margin: 0 0 8px 0;
4195
+ }
4196
+ .subtitle {
4197
+ font-size: 0.875rem;
4198
+ color: #64748B;
4199
+ margin: 0 0 24px 0;
4200
+ line-height: 1.5;
4201
+ }
4202
+ .stepsList {
4203
+ display: flex;
4204
+ flex-direction: column;
4205
+ gap: 12px;
4206
+ }
4207
+ .stepRow {
4208
+ display: flex;
4209
+ align-items: center;
4210
+ gap: 10px;
4211
+ }
4212
+ .stepText {
4213
+ font-size: 0.875rem;
4214
+ }
4215
+ .stepTextActive {
4216
+ font-weight: 600;
4217
+ color: #0F172A;
4218
+ }
4219
+ .stepTextPending {
4220
+ font-weight: 400;
4221
+ color: #94A3B8;
4222
+ }
4223
+ .rightSide {
4224
+ flex: 1.5;
4225
+ display: flex;
4226
+ align-items: center;
4227
+ justify-content: center;
4228
+ }
4229
+
4230
+ /* src/features/LearningManagement/styles/TemplateCard.module.css */
4231
+ .card {
4232
+ position: relative;
4233
+ display: flex;
4234
+ flex-direction: column;
4235
+ align-items: flex-start;
4236
+ padding: 14px;
4237
+ gap: 8px;
4238
+ width: 100%;
4239
+ border-radius: 8px;
4240
+ cursor: pointer;
4241
+ border: 1px solid #E2E8F0;
4242
+ background-color: #ffffff;
4243
+ transition: all 0.2s ease-in-out;
4244
+ box-sizing: border-box;
4245
+ }
4246
+ .card:hover {
4247
+ border-color: #CBD5E1;
4248
+ }
4249
+ .cardSelected {
4250
+ background-color: rgba(239, 246, 255, 0.5);
4251
+ border-color: #2563EB;
4252
+ box-shadow: 0px 2px 4px rgba(25, 33, 61, 0.08);
4253
+ }
4254
+ .container {
4255
+ display: flex;
4256
+ flex-direction: row;
4257
+ align-items: flex-start;
4258
+ gap: 8px;
4259
+ width: 100%;
4260
+ }
4261
+ .iconBox {
4262
+ display: flex;
4263
+ justify-content: center;
4264
+ align-items: center;
4265
+ width: 28px;
4266
+ height: 26px;
4267
+ background-color: #E7F0FD;
4268
+ border-radius: 5px;
4269
+ flex-shrink: 0;
4270
+ }
4271
+ .content {
4272
+ display: flex;
4273
+ flex-direction: column;
4274
+ align-items: flex-start;
4275
+ gap: 9px;
4276
+ flex: 1;
4277
+ min-w: 0;
4278
+ }
4279
+ .headerRow {
4280
+ display: flex;
4281
+ flex-direction: row;
4282
+ justify-content: space-between;
4283
+ align-items: flex-start;
4284
+ width: 100%;
4285
+ min-height: 24px;
4286
+ }
4287
+ .titleRow {
4288
+ display: flex;
4289
+ flex-direction: row;
4290
+ flex-wrap: wrap;
4291
+ align-items: center;
4292
+ gap: 9px;
4293
+ min-w: 0;
4294
+ }
4295
+ .title {
4296
+ font-family: "Inter", sans-serif;
4297
+ font-weight: 500;
4298
+ font-size: 14px;
4299
+ line-height: 1.3;
4300
+ color: #19213D;
4301
+ word-break: break-all;
4302
+ }
4303
+ .badge {
4304
+ display: flex;
4305
+ flex-direction: row;
4306
+ justify-content: center;
4307
+ align-items: center;
4308
+ padding: 4px 8px;
4309
+ background-color: #EDE9FE;
4310
+ border-radius: 4px;
4311
+ min-height: 22px;
4312
+ flex-shrink: 0;
4313
+ }
4314
+ .badgeText {
4315
+ font-family: "Inter", sans-serif;
4316
+ font-weight: 500;
4317
+ font-size: 11px;
4318
+ line-height: 1.3;
4319
+ text-align: center;
4320
+ color: #5B21B6;
4321
+ }
4322
+ .checkmark {
4323
+ display: flex;
4324
+ flex-direction: row;
4325
+ align-items: center;
4326
+ justify-content: center;
4327
+ width: 24px;
4328
+ height: 24px;
4329
+ border-radius: 20px;
4330
+ transition: background-color 0.2s, border-color 0.2s;
4331
+ flex-shrink: 0;
4332
+ margin-left: 8px;
4333
+ box-sizing: border-box;
4334
+ }
4335
+ .checkmarkSelected {
4336
+ background-color: #2563EB;
4337
+ border: none;
4338
+ }
4339
+ .checkmarkUnselected {
4340
+ border: 1.5px solid #CBD5E1;
4341
+ background-color: transparent;
4342
+ }
4343
+ .descWrapper {
4344
+ width: 100%;
4345
+ }
4346
+ .desc {
4347
+ font-family: "Inter", sans-serif;
4348
+ font-weight: 500;
4349
+ font-size: 12px;
4350
+ line-height: 1.3;
4351
+ color: #666F8D;
4352
+ margin: 0;
4353
+ }
4354
+ .tagsRow {
4355
+ display: flex;
4356
+ flex-direction: row;
4357
+ flex-wrap: wrap;
4358
+ align-items: center;
4359
+ gap: 6px;
4360
+ width: 100%;
4361
+ }
4362
+ .tagGroup {
4363
+ display: flex;
4364
+ flex-direction: row;
4365
+ align-items: center;
4366
+ gap: 6px;
4367
+ }
4368
+ .tag {
4369
+ box-sizing: border-box;
4370
+ display: flex;
4371
+ flex-direction: row;
4372
+ justify-content: center;
4373
+ align-items: center;
4374
+ padding: 4px 8px;
4375
+ gap: 4px;
4376
+ background-color: #ffffff;
4377
+ border: 0.75px solid #E2E8F0;
4378
+ border-radius: 200px;
4379
+ min-height: 20px;
4380
+ }
4381
+ .vectorIcon {
4382
+ display: flex;
4383
+ align-items: center;
4384
+ justify-content: center;
4385
+ width: 9px;
4386
+ height: 7px;
4387
+ flex-shrink: 0;
4388
+ }
4389
+ .tagText {
4390
+ font-family: "Inter", sans-serif;
4391
+ font-weight: 500;
4392
+ font-size: 10px;
4393
+ line-height: 1.3;
4394
+ color: #19213D;
4395
+ white-space: nowrap;
4396
+ }
4397
+ .divider {
4398
+ width: 1px;
4399
+ height: 14px;
4400
+ background-color: #E2E8F0;
4401
+ }
4402
+
4403
+ /* src/features/LearningManagement/styles/StationOnboardModal.module.css */
4404
+ .formGroup {
4405
+ display: flex;
4406
+ flex-direction: column;
4407
+ gap: 0.375rem;
4408
+ }
4409
+ .label {
4410
+ font-size: 0.875rem;
4411
+ font-weight: 500;
4412
+ color: #19213D;
4413
+ display: flex;
4414
+ align-items: center;
4415
+ }
4416
+ .asterisk {
4417
+ margin-right: 0.125rem;
4418
+ font-size: 0.75rem;
4419
+ font-weight: 600;
4420
+ color: #8F2C23;
4421
+ }
4422
+ .searchWrapper {
4423
+ position: relative;
4424
+ margin-bottom: 1rem;
4425
+ width: 100%;
4426
+ }
4427
+ .searchInput {
4428
+ width: 100%;
4429
+ box-sizing: border-box;
4430
+ border-radius: 0.5rem;
4431
+ border: 1px solid #E2E8F0;
4432
+ padding: 0.4375rem 0.625rem 0.4375rem 2.5rem;
4433
+ font-size: 12px;
4434
+ outline: none;
4435
+ background-color: #ffffff;
4436
+ transition: border-color 0.2s, box-shadow 0.2s;
4437
+ color: #19213D;
4438
+ }
4439
+ .searchInput::placeholder {
4440
+ color: #BAC0CC;
4441
+ }
4442
+ .searchInput:focus {
4443
+ border-color: #2563EB;
4444
+ box-shadow: 0 0 0 1px #2563EB;
4445
+ }
4446
+ .searchIcon {
4447
+ position: absolute;
4448
+ left: 0.75rem;
4449
+ top: 50%;
4450
+ transform: translateY(-50%);
4451
+ color: #9ca3af;
4452
+ pointer-events: none;
4453
+ }
4454
+
4455
+ /* src/features/LearningManagement/styles/InputField.module.css */
4456
+ @keyframes spin {
4457
+ from {
4458
+ transform: rotate(0deg);
4459
+ }
4460
+ to {
4461
+ transform: rotate(360deg);
4462
+ }
4463
+ }
4464
+ @keyframes dropdownFade {
4465
+ from {
4466
+ opacity: 0;
4467
+ transform: scale(0.95);
4468
+ }
4469
+ to {
4470
+ opacity: 1;
4471
+ transform: scale(1);
4472
+ }
4473
+ }
4474
+ .inputWrapper {
4475
+ width: 100%;
4476
+ }
4477
+ .relativeWrapper {
4478
+ position: relative;
4479
+ width: 100%;
4480
+ }
4481
+ .label {
4482
+ display: block;
4483
+ margin-bottom: 0.5rem;
4484
+ font-size: 0.875rem;
4485
+ font-weight: 500;
4486
+ color: #19213D;
4487
+ }
4488
+ .requiredAsterisk {
4489
+ margin-right: 0.125rem;
4490
+ font-size: 0.75rem;
4491
+ font-weight: 600;
4492
+ color: #8F2C23;
4493
+ }
4494
+ .inputField {
4495
+ width: 100%;
4496
+ box-sizing: border-box;
4497
+ border-radius: 0.5rem;
4498
+ border: 1px solid #F0F2F5;
4499
+ padding: 0.5rem 1rem;
4500
+ font-size: 14px;
4501
+ outline: none;
4502
+ transition: all 0.2s ease-in-out;
4503
+ background-color: #ffffff;
4504
+ }
4505
+ .inputField::placeholder {
4506
+ color: #BAC0CC;
4507
+ }
4508
+ .inputField:focus {
4509
+ border-color: #2563EB;
4510
+ box-shadow: 0 0 0 1px #2563EB;
4511
+ }
4512
+ .inputFieldError {
4513
+ border-color: #EF4444;
4514
+ }
4515
+ .inputFieldError:focus {
4516
+ border-color: #EF4444;
4517
+ box-shadow: 0 0 0 1px #EF4444;
4518
+ }
4519
+ .inputFieldDisabled {
4520
+ background-color: #F3F4F6;
4521
+ color: #6B7280;
4522
+ cursor: not-allowed;
4523
+ }
4524
+ .errorMessage {
4525
+ margin-top: 0.25rem;
4526
+ font-size: 0.75rem;
4527
+ color: #EF4444;
4528
+ }
4529
+ .selectContainer {
4530
+ position: relative;
4531
+ box-sizing: border-box;
4532
+ display: flex;
4533
+ min-height: 42px;
4534
+ width: 100%;
4535
+ flex-wrap: wrap;
4536
+ align-items: center;
4537
+ justify-content: space-between;
4538
+ border-radius: 0.5rem;
4539
+ border: 1px solid #F0F2F5;
4540
+ padding: 0.25rem 0.5rem;
4541
+ transition: all 0.2s ease-in-out;
4542
+ }
4543
+ .selectContainerDisabled {
4544
+ cursor: not-allowed;
4545
+ background-color: #F3F4F6;
4546
+ }
4547
+ .selectContainerClickable {
4548
+ cursor: pointer;
4549
+ background-color: #ffffff;
4550
+ }
4551
+ .selectContainerError {
4552
+ border-color: #EF4444;
4553
+ }
4554
+ .selectContainerError:focus-within {
4555
+ border-color: #EF4444;
4556
+ box-shadow: 0 0 0 1px #EF4444;
4557
+ }
4558
+ .selectContainerSuccess:focus-within {
4559
+ border-color: #2563EB;
4560
+ box-shadow: 0 0 0 1px #2563EB;
4561
+ }
4562
+ .selectedChips {
4563
+ display: flex;
4564
+ flex-wrap: wrap;
4565
+ align-items: center;
4566
+ gap: 0.25rem;
4567
+ flex: 1;
4568
+ }
4569
+ .chip {
4570
+ display: flex;
4571
+ align-items: center;
4572
+ gap: 0.25rem;
4573
+ border-radius: 0.25rem;
4574
+ background-color: #EFF6FF;
4575
+ padding: 0.25rem 0.5rem;
4576
+ font-size: 0.75rem;
4577
+ font-weight: 500;
4578
+ color: #1D4ED8;
4579
+ }
4580
+ .chipCloseBtn {
4581
+ background: none;
4582
+ border: none;
4583
+ cursor: pointer;
4584
+ padding: 0;
4585
+ font-size: 0.875rem;
4586
+ font-weight: 500;
4587
+ color: #1D4ED8;
4588
+ display: flex;
4589
+ align-items: center;
4590
+ }
4591
+ .chipCloseBtn:hover {
4592
+ color: #1E3A8A;
4593
+ }
4594
+ .selectInput {
4595
+ flex: 1;
4596
+ background-color: transparent;
4597
+ padding: 0.25rem 0.5rem;
4598
+ font-size: 14px;
4599
+ outline: none;
4600
+ border: none;
4601
+ min-width: 50px;
4602
+ }
4603
+ .selectInput::placeholder {
4604
+ color: #9CA3AF;
4605
+ }
4606
+ .caretTransparent {
4607
+ cursor: pointer;
4608
+ caret-color: transparent;
4609
+ }
4610
+ .chevronIconWrapper {
4611
+ pointer-events: none;
4612
+ padding-left: 0.5rem;
4613
+ padding-right: 0.5rem;
4614
+ color: #9CA3AF;
4615
+ display: flex;
4616
+ align-items: center;
4617
+ }
4618
+ .chevronIcon {
4619
+ width: 1rem;
4620
+ height: 1rem;
4621
+ transition: transform 0.2s ease-in-out;
4622
+ }
4623
+ .chevronIconOpen {
4624
+ transform: rotate(180deg);
4625
+ }
4626
+ .dropdownMenu {
4627
+ position: absolute;
4628
+ top: 100%;
4629
+ left: 0;
4630
+ z-index: 50;
4631
+ margin-top: 0.25rem;
4632
+ max-height: 15rem;
4633
+ width: 100%;
4634
+ overflow-y: auto;
4635
+ border-radius: 0.375rem;
4636
+ border: 1px solid #F1F5F9;
4637
+ background-color: #ffffff;
4638
+ padding-top: 0.25rem;
4639
+ padding-bottom: 0.25rem;
4640
+ box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
4641
+ list-style: none;
4642
+ box-sizing: border-box;
4643
+ animation: dropdownFade 0.1s ease-out forwards;
4644
+ }
4645
+ .noOptionsItem {
4646
+ padding: 0.5rem 1rem;
4647
+ font-size: 0.875rem;
4648
+ color: #6B7280;
4649
+ }
4650
+ .optionItem {
4651
+ cursor: pointer;
4652
+ padding: 0.5rem 1rem;
4653
+ font-size: 0.875rem;
4654
+ transition: background-color 0.15s ease;
4655
+ color: #374151;
4656
+ }
4657
+ .optionItem:hover {
4658
+ background-color: #F9FAFB;
4659
+ }
4660
+ .optionItemSelected {
4661
+ background-color: #EFF6FF;
4662
+ font-weight: 500;
4663
+ color: #2563EB;
4664
+ }
4665
+ .optionContent {
4666
+ display: flex;
4667
+ align-items: center;
4668
+ justify-content: space-between;
4669
+ }
4670
+ .loaderItem {
4671
+ display: flex;
4672
+ justify-content: center;
4673
+ padding: 0.75rem 1rem;
4674
+ }
4675
+ .spinIcon {
4676
+ width: 1.25rem;
4677
+ height: 1.25rem;
4678
+ animation: spin 1s linear infinite;
4679
+ color: #2563EB;
4680
+ }
4681
+ .endOfListItem {
4682
+ padding: 0.5rem 1rem;
4683
+ text-align: center;
4684
+ font-size: 0.75rem;
4685
+ color: #9CA3AF;
4686
+ cursor: default;
4687
+ }
4688
+
4689
+ /* src/features/LearningManagement/styles/LearningTemplateManagementSkeleton.module.css */
4690
+ .wrapper {
4691
+ display: flex;
4692
+ width: 100%;
4693
+ height: 100%;
4694
+ background-color: #ffffff;
4695
+ }
4696
+ .sidebar {
4697
+ width: 340px;
4698
+ border-right: 1px solid #e5e7eb;
4699
+ height: calc(100vh - 140px);
4700
+ display: flex;
4701
+ flex-direction: column;
4702
+ padding-top: 1.25rem;
4703
+ }
4704
+ .sidebarTabs {
4705
+ padding: 0 1.25rem;
4706
+ margin-bottom: 1.25rem;
4707
+ }
4708
+ .sidebarSearch {
4709
+ padding: 0 1.25rem;
4710
+ margin-bottom: 1.5rem;
4711
+ }
4712
+ .searchGap {
4713
+ display: flex;
4714
+ gap: 0.5rem;
4715
+ }
4716
+ .searchBar {
4717
+ flex: 1;
4718
+ }
4719
+ .searchBtn {
4720
+ width: 40px;
4721
+ }
4722
+ .sidebarList {
4723
+ flex: 1;
4724
+ padding: 0 1.25rem;
4725
+ display: flex;
4726
+ flex-direction: column;
4727
+ gap: 1.5rem;
4728
+ overflow: hidden;
4729
+ }
4730
+ .section {
4731
+ display: flex;
4732
+ flex-direction: column;
4733
+ gap: 0.75rem;
4734
+ }
4735
+ .rowCard {
4736
+ display: flex;
4737
+ flex-direction: column;
4738
+ padding: 1rem;
4739
+ border-radius: 0.75rem;
4740
+ border: 1px solid #f3f4f6;
4741
+ margin-bottom: 0.75rem;
4742
+ }
4743
+ .cardHeader {
4744
+ display: flex;
4745
+ align-items: center;
4746
+ justify-content: space-between;
4747
+ margin-bottom: 0.25rem;
4748
+ }
4749
+ .cardSubHeader {
4750
+ display: flex;
4751
+ align-items: center;
4752
+ gap: 0.75rem;
4753
+ width: 100%;
4754
+ }
4755
+ .cardTextWrap {
4756
+ display: flex;
4757
+ flex-direction: column;
4758
+ gap: 0.5rem;
4759
+ width: 100%;
4760
+ }
4761
+ .content {
4762
+ flex: 1;
4763
+ display: flex;
4764
+ flex-direction: column;
4765
+ height: calc(100vh - 140px);
4766
+ overflow: hidden;
4767
+ }
4768
+ .contentHeader {
4769
+ padding: 1.5rem 2rem;
4770
+ border-bottom: 1px solid #f3f4f6;
4771
+ }
4772
+ .headerGap {
4773
+ display: flex;
4774
+ flex-direction: column;
4775
+ gap: 1rem;
4776
+ }
4777
+ .headerRow {
4778
+ display: flex;
4779
+ justify-content: space-between;
4780
+ align-items: flex-start;
4781
+ }
4782
+ .headerInfo {
4783
+ display: flex;
4784
+ align-items: center;
4785
+ gap: 0.75rem;
4786
+ }
4787
+ .headerTextGroup {
4788
+ display: flex;
4789
+ flex-direction: column;
4790
+ gap: 0.5rem;
4791
+ }
4792
+ .headerActions {
4793
+ display: flex;
4794
+ gap: 0.5rem;
4795
+ }
4796
+ .tabsRow {
4797
+ margin-top: 1rem;
4798
+ display: flex;
4799
+ gap: 1.5rem;
4800
+ border-bottom: 1px solid #e5e7eb;
4801
+ }
4802
+ .tabItem {
4803
+ padding-bottom: 0.75rem;
4804
+ padding-left: 0.25rem;
4805
+ padding-right: 0.25rem;
4806
+ }
4807
+ .rulesWrapper {
4808
+ flex: 1;
4809
+ padding: 1.5rem;
4810
+ background-color: rgba(249, 250, 251, 0.5);
4811
+ overflow-y: auto;
4812
+ }
4813
+ .rulesList {
4814
+ display: flex;
4815
+ flex-direction: column;
4816
+ gap: 1.5rem;
4817
+ }
4818
+ .tierContainer {
4819
+ display: flex;
4820
+ flex-direction: column;
4821
+ gap: 1rem;
4822
+ }
4823
+ .tierHeaderRow {
4824
+ display: flex;
4825
+ align-items: center;
4826
+ justify-content: space-between;
4827
+ }
4828
+ .ruleItemCard {
4829
+ background-color: #ffffff;
4830
+ border-radius: 0.5rem;
4831
+ border: 1px solid #e5e7eb;
4832
+ padding: 1rem;
4833
+ }
4834
+ .ruleCardRow {
4835
+ display: flex;
4836
+ justify-content: space-between;
4837
+ align-items: flex-start;
4838
+ margin-bottom: 1rem;
4839
+ }
4840
+ .ruleCardInfo {
4841
+ display: flex;
4842
+ flex-direction: column;
4843
+ gap: 0.5rem;
4844
+ }
4845
+ .ruleTitleRow {
4846
+ display: flex;
4847
+ align-items: center;
4848
+ gap: 0.5rem;
4849
+ }
4850
+ .ruleCardFooter {
4851
+ display: flex;
4852
+ gap: 1rem;
4853
+ width: 100%;
4854
+ }
4855
+
4856
+ /* src/features/LearningManagement/styles/CreateLearningSetModal.module.css */
4857
+ @keyframes spin {
4858
+ from {
4859
+ transform: rotate(0deg);
4860
+ }
4861
+ to {
4862
+ transform: rotate(360deg);
4863
+ }
4864
+ }
4865
+ .overlay {
4866
+ position: absolute;
4867
+ top: 0;
4868
+ left: 0;
4869
+ right: 0;
4870
+ bottom: 0;
4871
+ z-index: 9999;
4872
+ display: flex;
4873
+ align-items: center;
4874
+ justify-content: center;
4875
+ background-color: rgba(0, 0, 0, 0.3);
4876
+ }
4877
+ .modal {
4878
+ position: relative;
4879
+ width: 600px;
4880
+ max-width: 90%;
4881
+ border-radius: 0.75rem;
4882
+ background-color: #ffffff;
4883
+ padding: 1.5rem;
4884
+ box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
4885
+ display: flex;
4886
+ flex-direction: column;
4887
+ }
4888
+ .header {
4889
+ margin-bottom: 1.5rem;
4890
+ display: flex;
4891
+ align-items: flex-start;
4892
+ justify-content: space-between;
4893
+ gap: 1rem;
4894
+ }
4895
+ .headerContent {
4896
+ flex: 1;
4897
+ }
4898
+ .title {
4899
+ font-size: 1.125rem;
4900
+ font-weight: 500;
4901
+ color: #19213D;
4902
+ margin: 0;
4903
+ }
4904
+ .description {
4905
+ margin-top: 0.25rem;
4906
+ font-size: 0.875rem;
4907
+ font-weight: 400;
4908
+ color: #666F8D;
4909
+ line-height: 1.5;
4910
+ }
4911
+ .closeBtn {
4912
+ color: #9ca3af;
4913
+ cursor: pointer;
4914
+ border: none;
4915
+ background: transparent;
4916
+ padding: 0.25rem;
4917
+ display: flex;
4918
+ align-items: center;
4919
+ justify-content: center;
4920
+ border-radius: 0.375rem;
4921
+ transition: color 0.2s, background-color 0.2s;
4922
+ }
4923
+ .closeBtn:hover {
4924
+ color: #4b5563;
4925
+ background-color: #f3f4f6;
4926
+ }
4927
+ .closeBtn:focus {
4928
+ outline: none;
4929
+ }
4930
+ .form {
4931
+ display: flex;
4932
+ flex-direction: column;
4933
+ gap: 1.25rem;
4934
+ }
4935
+ .formGroup {
4936
+ position: relative;
4937
+ display: flex;
4938
+ flex-direction: column;
4939
+ gap: 0.375rem;
4940
+ }
4941
+ .label {
4942
+ font-size: 0.875rem;
4943
+ font-weight: 500;
4944
+ color: #19213D;
4945
+ display: flex;
4946
+ align-items: center;
4947
+ }
4948
+ .asterisk {
4949
+ margin-right: 0.25rem;
4950
+ font-size: 1rem;
4951
+ font-weight: 600;
4952
+ color: #8F2C23;
4953
+ }
4954
+ .inputField {
4955
+ width: 100%;
4956
+ box-sizing: border-box;
4957
+ padding: 0.625rem 0.75rem;
4958
+ border-radius: 0.375rem;
4959
+ font-size: 0.875rem;
4960
+ outline: none;
4961
+ border: 1px solid #F0F2F5;
4962
+ background-color: #ffffff;
4963
+ transition: border-color 0.2s, box-shadow 0.2s;
4964
+ color: #19213D;
4965
+ }
4966
+ .inputField::placeholder {
4967
+ color: #9ca3af;
4968
+ }
4969
+ .inputField:focus {
4970
+ border-color: #2563EB;
4971
+ box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.2);
4972
+ }
4973
+ .inputError {
4974
+ border-color: #8F2C23;
4975
+ }
4976
+ .inputError:focus {
4977
+ border-color: #8F2C23;
4978
+ box-shadow: 0 0 0 2px rgba(143, 44, 35, 0.2);
4979
+ }
4980
+ .errorMessage {
4981
+ margin-top: 0.25rem;
4982
+ font-size: 0.75rem;
4983
+ color: #8F2C23;
4984
+ font-weight: 400;
4985
+ }
4986
+ .footer {
4987
+ margin-top: 1rem;
4988
+ display: flex;
4989
+ justify-content: flex-end;
4990
+ gap: 0.75rem;
4991
+ }
4992
+ .cancelBtn {
4993
+ border-radius: 0.375rem;
4994
+ border: 1px solid #e2e8f0;
4995
+ padding: 0.5rem 1rem;
4996
+ font-size: 0.875rem;
4997
+ font-weight: 500;
4998
+ color: #64748B;
4999
+ background-color: transparent;
5000
+ cursor: pointer;
5001
+ transition: background-color 0.2s;
5002
+ }
5003
+ .cancelBtn:hover:not(:disabled) {
5004
+ background-color: #f9fafb;
5005
+ }
5006
+ .cancelBtn:disabled {
5007
+ opacity: 0.5;
5008
+ cursor: not-allowed;
5009
+ }
5010
+ .confirmBtn {
5011
+ display: inline-flex;
5012
+ align-items: center;
5013
+ justify-content: center;
5014
+ border-radius: 0.375rem;
5015
+ padding: 0.5rem 1rem;
5016
+ font-size: 0.875rem;
5017
+ font-weight: 500;
5018
+ color: #ffffff;
5019
+ border: none;
5020
+ cursor: pointer;
5021
+ background-color: #2563EB;
5022
+ transition: background-color 0.2s;
5023
+ }
5024
+ .confirmBtn:hover:not(:disabled) {
5025
+ background-color: #1d4ed8;
5026
+ }
5027
+ .confirmBtn:disabled {
5028
+ opacity: 0.5;
5029
+ cursor: not-allowed;
5030
+ }
5031
+ .spinner {
5032
+ margin-right: 0.5rem;
5033
+ height: 1rem;
5034
+ width: 1rem;
5035
+ animation: spin 1s linear infinite;
5036
+ color: #ffffff;
5037
+ }
5038
+ /*# sourceMappingURL=index.css.map */