@skysoftware-co/bayan-core-widgets-ui 0.0.6 → 0.0.8

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 (46) hide show
  1. package/.editorconfig +17 -0
  2. package/.github/copilot/WidgetDevelopmentGuide.md +632 -0
  3. package/.github/copilot/WidgetProjectStructure.md +81 -0
  4. package/.github/copilot/git.md +176 -0
  5. package/.github/copilot/guideline.md +466 -0
  6. package/.github/copilot-instructions.md +697 -0
  7. package/.github/prompts/As world class developer, create unit tests for.prompt.md +7 -0
  8. package/README.md +1 -337
  9. package/Web.config +7 -0
  10. package/angular.json +43 -0
  11. package/package.json +54 -31
  12. package/projects/bayan-core-ui/README.md +522 -0
  13. package/projects/bayan-core-ui/package.json +36 -0
  14. package/{src → projects/bayan-core-ui/src}/lib/shared/menu.service.ts +1 -1
  15. package/{src → projects/bayan-core-ui/src}/lib/top-menu-widget/components/about-dialog-widget/about-dialog-widget.component.html +1 -1
  16. package/{src → projects/bayan-core-ui/src}/lib/top-menu-widget/components/about-dialog-widget/about-dialog-widget.component.ts +4 -4
  17. package/{src → projects/bayan-core-ui/src}/lib/top-menu-widget/components/change-password-widget/change-password-widget.component.ts +1 -1
  18. package/{src → projects/bayan-core-ui/src}/lib/top-menu-widget/components/global-search-widget/global-search-widget.component.ts +9 -10
  19. package/{src → projects/bayan-core-ui/src}/lib/top-menu-widget/components/item-widget/item-widget.component.html +2 -2
  20. package/{src → projects/bayan-core-ui/src}/lib/top-menu-widget/components/item-widget/item-widget.component.ts +8 -23
  21. package/{src → projects/bayan-core-ui/src}/lib/top-menu-widget/components/notifications-widget/notifications-widget.component.html +1 -1
  22. package/{src → projects/bayan-core-ui/src}/lib/top-menu-widget/components/notifications-widget/notifications-widget.component.ts +3 -3
  23. package/projects/bayan-core-ui/src/lib/top-menu-widget/components/settings-widget/settings-widget.component.html +111 -0
  24. package/{src → projects/bayan-core-ui/src}/lib/top-menu-widget/components/settings-widget/settings-widget.component.ts +7 -5
  25. package/{src → projects/bayan-core-ui/src}/lib/top-menu-widget/components/user-panel-widget/user-panel-widget.component.html +2 -1
  26. package/{src → projects/bayan-core-ui/src}/lib/top-menu-widget/components/user-panel-widget/user-panel-widget.component.ts +1 -1
  27. package/{src → projects/bayan-core-ui/src}/lib/top-menu-widget/top-menu-widget.component.html +6 -2
  28. package/{src → projects/bayan-core-ui/src}/lib/top-menu-widget/top-menu-widget.component.ts +21 -5
  29. package/projects/bayan-core-ui/src/lib/top-menu-widget/top-menu-widget.styles.css +1378 -0
  30. package/projects/bayan-core-ui/src/public-api.ts +14 -0
  31. package/tsconfig.json +40 -0
  32. package/src/lib/top-menu-widget/components/settings-widget/settings-widget.component.html +0 -119
  33. package/src/lib/top-menu-widget/top-menu-widget.styles.css +0 -576
  34. package/src/public-api.ts +0 -7
  35. /package/{ng-package.json → projects/bayan-core-ui/ng-package.json} +0 -0
  36. /package/{src → projects/bayan-core-ui/src}/assets/i18n/ar.json +0 -0
  37. /package/{src → projects/bayan-core-ui/src}/assets/i18n/en.json +0 -0
  38. /package/{src → projects/bayan-core-ui/src}/assets/i18n/fr.json +0 -0
  39. /package/{src → projects/bayan-core-ui/src}/lib/shared/common-methods/navigation.utils.ts +0 -0
  40. /package/{src → projects/bayan-core-ui/src}/lib/shared/menu.dtos.ts +0 -0
  41. /package/{src → projects/bayan-core-ui/src}/lib/top-menu-widget/components/change-password-widget/change-password-widget.component.html +0 -0
  42. /package/{src → projects/bayan-core-ui/src}/lib/top-menu-widget/components/global-search-widget/global-search-widget.component.html +0 -0
  43. /package/{src → projects/bayan-core-ui/src}/lib/top-menu-widget/top-menu-widget.models.ts +0 -0
  44. /package/{tsconfig.lib.json → projects/bayan-core-ui/tsconfig.lib.json} +0 -0
  45. /package/{tsconfig.lib.prod.json → projects/bayan-core-ui/tsconfig.lib.prod.json} +0 -0
  46. /package/{tsconfig.spec.json → projects/bayan-core-ui/tsconfig.spec.json} +0 -0
@@ -0,0 +1,1378 @@
1
+ [dir='rtl'] .navbar-brand-link {
2
+ margin-left: auto !important;
3
+ margin-right: 0 !important;
4
+ display: flex;
5
+ justify-content: flex-end;
6
+ }
7
+ /* Global Search Input: Match Expected Design */
8
+ .top-bar-header .dx-autocomplete,
9
+ .header-toolbar .dx-autocomplete {
10
+ width: 100% !important;
11
+ max-width: 400px;
12
+ margin: 0 auto;
13
+ }
14
+
15
+ .dx-autocomplete .dx-texteditor-input {
16
+ background: #5c4848 !important;
17
+ color: #fff !important;
18
+ border-radius: 6px !important;
19
+ border: 2px solid #f18206 !important;
20
+ padding: 8px 12px !important;
21
+ font-size: 16px !important;
22
+ box-shadow: none !important;
23
+ }
24
+
25
+ .dx-autocomplete .dx-texteditor-input::placeholder {
26
+ color: #b9a9a9 !important;
27
+ opacity: 1;
28
+ }
29
+
30
+ .dx-autocomplete.dx-state-focused .dx-texteditor-input {
31
+ border-color: #f18206 !important;
32
+ box-shadow: 0 0 0 2px rgba(241,130,6,0.15) !important;
33
+ }
34
+ /* Settings Dropdown: Match Expected Design */
35
+ .settings-menu li {
36
+ margin-bottom: 9px;
37
+ }
38
+
39
+ .settings-menu .header-dropdown-item,
40
+ .settings-menu .menu-row {
41
+ color: var(--dark-text-color, #333) !important;
42
+ font-weight: 400;
43
+ background: none;
44
+ text-decoration: none;
45
+ cursor: pointer;
46
+ transition: background 0.15s, color 0.15s;
47
+ }
48
+ .settings-menu .header-dropdown-item.menu-item-active,
49
+ .settings-menu .menu-row.menu-item-active {
50
+ color: #222;
51
+ font-weight: 700;
52
+ }
53
+ .settings-menu .menu-row:hover {
54
+ background: #f5f5f5 !important;
55
+ color: #222 !important;
56
+ }
57
+
58
+ .settings-menu .menu-section-label {
59
+ color: #bbb !important;
60
+ font-size: 13px;
61
+ font-weight: 400;
62
+ cursor: default;
63
+ padding-top: 8px;
64
+ padding-bottom: 4px;
65
+ }
66
+ .settings-menu .indicatorClass {
67
+ display: inline-flex;
68
+ align-items: center;
69
+ margin-right: 8px;
70
+ color: var(--primary-color, #F18206);
71
+ }
72
+ .settings-menu .indicatorClass.invisible {
73
+ color: transparent;
74
+ }
75
+ .settings-menu .fa-icon {
76
+ margin-right: 8px;
77
+ }
78
+ .settings-menu .dropdown-divider {
79
+ margin: 4px 0;
80
+ }
81
+ /* Extended RTL Support for all widgets */
82
+ [dir='rtl'] .employee-info {
83
+ margin-left: 0 !important;
84
+ margin-right: 8px !important;
85
+ text-align: right;
86
+ }
87
+ [dir='rtl'] .user-name,
88
+ [dir='rtl'] .property-name {
89
+ text-align: right;
90
+ }
91
+ [dir='rtl'] .employee-caret {
92
+ margin-left: 0 !important;
93
+ margin-right: 2px !important;
94
+ }
95
+ [dir='rtl'] .menu-item,
96
+ [dir='rtl'] .header-dropdown-item,
97
+ [dir='rtl'] .menu-row {
98
+ flex-direction: row-reverse;
99
+ text-align: right;
100
+ }
101
+ [dir='rtl'] .menu-indicator {
102
+ margin-left: 0 !important;
103
+ margin-right: 8px !important;
104
+ }
105
+ [dir='rtl'] .dropdown-divider,
106
+ [dir='rtl'] .menu-divider {
107
+ margin-left: 0 !important;
108
+ margin-right: 0 !important;
109
+ }
110
+ [dir='rtl'] .navbar-brand-link {
111
+ text-align: right;
112
+ }
113
+ [dir='rtl'] .top-bar-header,
114
+ [dir='rtl'] .header-toolbar {
115
+ direction: rtl;
116
+ }
117
+ [dir='rtl'] .about-dialog .row,
118
+ [dir='rtl'] .about-dialog .col-4,
119
+ [dir='rtl'] .about-dialog .col-8 {
120
+ text-align: right;
121
+ }
122
+ [dir='rtl'] .change-password-dialog .dx-form {
123
+ text-align: right;
124
+ }
125
+ [dir='rtl'] .change-password-dialog .dx-label,
126
+ [dir='rtl'] .change-password-dialog .dx-field-item-label {
127
+ text-align: right;
128
+ }
129
+ /* RTL Support */
130
+ [dir='rtl'] .menu-dropdown-panel,
131
+ [dir='rtl'] .settings-menu,
132
+ [dir='rtl'] .employee-menu,
133
+ [dir='rtl'] .notifications-menu {
134
+ right: auto;
135
+ left: 0;
136
+ }
137
+
138
+ [dir='rtl'] .menu-section-label,
139
+ [dir='rtl'] .header-dropdown-item,
140
+ [dir='rtl'] .menu-row,
141
+ [dir='rtl'] .menu-item {
142
+ text-align: right;
143
+ }
144
+
145
+ [dir='rtl'] .header-dropdown-item,
146
+ [dir='rtl'] .menu-row,
147
+ [dir='rtl'] .menu-item {
148
+ padding-left: 16px;
149
+ padding-right: 16px;
150
+ flex-direction: row-reverse;
151
+ }
152
+
153
+ [dir='rtl'] .menu-indicator {
154
+ margin-left: 0;
155
+ margin-right: 8px;
156
+ }
157
+
158
+ [dir='rtl'] .notifications-badge {
159
+ right: auto;
160
+ left: 4px;
161
+ }
162
+
163
+ [dir='rtl'] .employee-info {
164
+ margin-left: 0;
165
+ margin-right: 8px;
166
+ }
167
+
168
+ [dir='rtl'] .employee-caret {
169
+ margin-left: 0;
170
+ margin-right: 2px;
171
+ }
172
+ /* ─────────────────────────────────────────────────────────────────
173
+ menu-styles.css
174
+ Shared visual patterns for top-menu & side-menu components.
175
+ Reference via styleUrls[] in each consuming component so that
176
+ Angular's view-encapsulation scopes every rule correctly.
177
+ ───────────────────────────────────────────────────────────────── */
178
+
179
+ /* ─── Top-menu search: remove focus highlight ─── */
180
+ ::ng-deep .dx-autocomplete.dx-state-focused .dx-texteditor-input,
181
+ ::ng-deep .dx-autocomplete .dx-texteditor-input:focus {
182
+ outline: none !important;
183
+ box-shadow: none !important;
184
+ }
185
+
186
+ ::ng-deep .dx-autocomplete.dx-state-focused.dx-texteditor-filled {
187
+ border-color: transparent !important;
188
+ box-shadow: none !important;
189
+ }
190
+
191
+ /* ─── Dropdown host wrapper ─── */
192
+ /* Used by: .employee-dropdown, .settings-dropdown, .notifications-dropdown */
193
+ .menu-dropdown-host {
194
+ position: relative;
195
+ display: flex;
196
+ align-items: center;
197
+ }
198
+
199
+ /* ─── Toolbar icon button (40 × 56 px, dark-bar color scheme) ─── */
200
+ /* Used by: notifications toggle, settings toggle, help-btn in top-menu */
201
+ .menu-icon-btn {
202
+ display: flex;
203
+ align-items: center;
204
+ justify-content: center;
205
+ width: 40px;
206
+ height: 56px;
207
+ text-decoration: none;
208
+ color: var(--Secondary-Light-Color, #999) !important;
209
+ transition: color var(--tran-02, 0.2s);
210
+ cursor: pointer;
211
+ font-size: 14px;
212
+ }
213
+
214
+ .menu-icon-btn:hover {
215
+ color: var(--bs-white, #fff) !important;
216
+ }
217
+
218
+ /* ─── Dropdown panel base ─── */
219
+ /* Used by: .employee-menu, .settings-menu, .dropdown-menu (top-menu-item) */
220
+ .menu-dropdown-panel {
221
+ position: absolute;
222
+ top: 100%;
223
+ background: var(--bs-white, #fff);
224
+ color: var(--dark-text-color, #333);
225
+ border: 1px solid var(--bs-gray, #dee2e6);
226
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
227
+ z-index: 1050;
228
+ padding: 4px 0;
229
+ list-style: none;
230
+ border-radius: 4px;
231
+ margin-top: 0;
232
+ }
233
+
234
+ /* ─── Section / group label ─── */
235
+ /* Used by: .menu-section-header (employee), .dropdown-header-label (settings) */
236
+ .menu-section-label {
237
+ font-size: 12px;
238
+ color: var(--Secondary-Light-Color, #888);
239
+ padding: 4px 16px 6px;
240
+ letter-spacing: 0.03em;
241
+ display: block;
242
+ }
243
+
244
+ /* ─── Menu item row (flex row with icon gap) ─── */
245
+ .menu-row {
246
+ display: flex;
247
+ align-items: center;
248
+ gap: 6px;
249
+ }
250
+
251
+ /* ─── Menu divider ─── */
252
+ /* Used by: hr.menu-divider inside dropdown panels */
253
+ .menu-divider {
254
+ border: none;
255
+ border-top: 1px solid rgba(0, 0, 0, 0.8);
256
+ margin: 4px 0;
257
+ }
258
+
259
+ /* ─────────────────────────────────────────────────────────────────
260
+ Shared dialog content layout
261
+ Used by: privacy-dialog, terms-dialog
262
+ ───────────────────────────────────────────────────────────────── */
263
+
264
+ .dialog-content {
265
+ display: flex;
266
+ flex-direction: column;
267
+ height: 100%;
268
+ }
269
+
270
+ .dialog-body {
271
+ flex: 1;
272
+ overflow-y: auto;
273
+ padding: 8px 4px;
274
+ }
275
+
276
+ .dialog-body h3 {
277
+ font-size: 16px;
278
+ font-weight: 600;
279
+ margin-bottom: 12px !important;
280
+ }
281
+
282
+ .dialog-body h4 {
283
+ font-size: 14px;
284
+ font-weight: 600;
285
+ margin-top: 16px !important;
286
+ margin-bottom: 8px !important;
287
+ }
288
+
289
+ .dialog-body p {
290
+ font-size: 13px;
291
+ line-height: 1.6;
292
+ color: #444;
293
+ margin-bottom: 10px !important;
294
+ }
295
+
296
+ /* ─────────────────────────────────────────────────────────────────
297
+ Dropdown item indicator / check icon container
298
+ Replaces: .item-check (settings), .menu-item-indicator (employee)
299
+ ───────────────────────────────────────────────────────────────── */
300
+
301
+ .menu-indicator {
302
+ display: inline-flex;
303
+ align-items: center;
304
+ justify-content: center;
305
+ width: 16px;
306
+ flex-shrink: 0;
307
+ font-size: 12px;
308
+ padding-top: 2px;
309
+ }
310
+
311
+ /* Primary-color active state — was .item-check-active in settings */
312
+ .menu-indicator-active {
313
+ color: var(--primary-color, #F18206);
314
+ }
315
+
316
+ /* =================================================================
317
+ top-menu.component
318
+ ================================================================= */
319
+
320
+ /* DX toolbar height overrides */
321
+ ::ng-deep .top-bar-header .dx-toolbar {
322
+ padding: 0 !important;
323
+ height: 56px !important;
324
+ }
325
+
326
+ ::ng-deep .top-bar-header .dx-toolbar .dx-toolbar-items-container {
327
+ height: 56px !important;
328
+ }
329
+
330
+ ::ng-deep .top-bar-header .dx-toolbar .dx-toolbar-before,
331
+ ::ng-deep .top-bar-header .dx-toolbar .dx-toolbar-center,
332
+ ::ng-deep .top-bar-header .dx-toolbar .dx-toolbar-after {
333
+ display: flex !important;
334
+ align-items: center !important;
335
+ height: 56px !important;
336
+ }
337
+
338
+ ::ng-deep .top-bar-header .dx-toolbar .dx-item.dx-toolbar-item {
339
+ display: flex !important;
340
+ align-items: center !important;
341
+ }
342
+
343
+ ::ng-deep .top-bar-header .dx-toolbar .dx-item-content.dx-toolbar-item-content {
344
+ display: flex !important;
345
+ align-items: center !important;
346
+ }
347
+
348
+ ::ng-deep .top-bar-header .dx-toolbar .dx-toolbar-after {
349
+ padding: 0 20px !important;
350
+ }
351
+
352
+ /* Logo with sidebar collapse transition */
353
+ .navbar-brand-link {
354
+ display: flex;
355
+ align-items: center;
356
+ text-decoration: none;
357
+ width: 235px;
358
+ min-width: 235px;
359
+ transition: width var(--tran-03), min-width var(--tran-03);
360
+ overflow: hidden;
361
+ }
362
+
363
+ .navbar-brand-link.collapsed {
364
+ width: 60px;
365
+ min-width: 60px;
366
+ }
367
+
368
+ .header-logo {
369
+ height: 38px;
370
+ object-fit: contain;
371
+ }
372
+
373
+ .header-logo-collapsed {
374
+ height: 32px;
375
+ object-fit: contain;
376
+ }
377
+
378
+ .nav.navbar-nav {
379
+ list-style: none;
380
+ padding: 0;
381
+ margin: 0;
382
+ }
383
+
384
+ .user-info {
385
+ display: flex;
386
+ align-items: center;
387
+ }
388
+
389
+ ul {
390
+ margin-top: 0;
391
+ }
392
+
393
+ /* =================================================================
394
+ top-menu-employee.component
395
+ ================================================================= */
396
+
397
+ .employee-toggle {
398
+ display: flex;
399
+ align-items: center;
400
+ height: 56px;
401
+ padding: 0 6px;
402
+ text-decoration: none;
403
+ cursor: pointer;
404
+ color: var(--Secondary-Light-Color, #999);
405
+ transition: color var(--tran-02, 0.2s);
406
+ }
407
+
408
+ .employee-toggle:hover {
409
+ color: var(--bs-white, #fff);
410
+ }
411
+
412
+ .employee-info {
413
+ display: flex;
414
+ flex-direction: column;
415
+ justify-content: center;
416
+ margin-left: 8px;
417
+ margin-right: 4px;
418
+ }
419
+
420
+ .user-name {
421
+ font-size: 13px;
422
+ font-weight: 500;
423
+ color: var(--bs-white, #fff);
424
+ max-width: 140px;
425
+ white-space: nowrap;
426
+ overflow: hidden;
427
+ text-overflow: ellipsis;
428
+ line-height: 1.3;
429
+ display: block;
430
+ }
431
+
432
+ .property-name {
433
+ font-size: 11px;
434
+ color: var(--Secondary-Light-Color, #999);
435
+ max-width: 140px;
436
+ white-space: nowrap;
437
+ overflow: hidden;
438
+ text-overflow: ellipsis;
439
+ line-height: 1.3;
440
+ letter-spacing: 0.03em;
441
+ display: block;
442
+ }
443
+
444
+ .employee-caret {
445
+ font-size: 9px;
446
+ color: var(--Secondary-Light-Color, #999);
447
+ flex-shrink: 0;
448
+ margin-left: 2px;
449
+ }
450
+
451
+ .employee-menu {
452
+ right: 0;
453
+ min-width: 200px;
454
+ padding: 6px 0;
455
+ border-color: rgba(0, 0, 0, 0.12);
456
+ box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
457
+ }
458
+
459
+ .menu-item {
460
+ display: flex;
461
+ align-items: center;
462
+ padding: 7px 16px;
463
+ font-size: 14px;
464
+ color: var(--dark-text-color, #333);
465
+ text-decoration: none;
466
+ cursor: pointer;
467
+ transition: background var(--tran-02, 0.15s);
468
+ }
469
+
470
+ .menu-item:hover,
471
+ .menu-item:focus {
472
+ background: #f5f5f5;
473
+ color: var(--dark-text-color, #333) !important;
474
+ }
475
+
476
+ .menu-item-active {
477
+ color: var(--dark-text-color, #333);
478
+ font-weight: 600;
479
+ }
480
+
481
+ .menu-item-active .menu-indicator {
482
+ color: var(--primary-color, #F18206);
483
+ }
484
+
485
+ .menu-item-signout:hover,
486
+ .menu-item-signout:focus {
487
+ background: #f5f5f5 !important;
488
+ color: #222222 !important;
489
+ }
490
+
491
+ .menu-item-signout:hover fa-icon,
492
+ .menu-item-signout:focus fa-icon {
493
+ color: #222222 !important;
494
+ }
495
+
496
+ /* =================================================================
497
+ top-menu-settings.component
498
+ ================================================================= */
499
+
500
+ .settings-menu {
501
+ right: 0;
502
+ min-width: 240px;
503
+ }
504
+
505
+ .header-dropdown-item {
506
+ gap: 6px;
507
+ padding: 7px 16px;
508
+ font-size: 14px;
509
+ }
510
+
511
+ .header-dropdown-item.disabled {
512
+ opacity: 0.5;
513
+ }
514
+
515
+ .item-icon {
516
+ font-size: 16px;
517
+ width: 18px;
518
+ flex-shrink: 0;
519
+ }
520
+
521
+ .dropdown-divider {
522
+ border-top: 1px solid rgba(0, 0, 0, .175);
523
+ }
524
+
525
+ /* =================================================================
526
+ top-menu-notifications.component
527
+ ================================================================= */
528
+
529
+ .notifications-icon-btn {
530
+ position: relative;
531
+ }
532
+
533
+ .notifications-badge {
534
+ position: absolute;
535
+ top: 5px;
536
+ right: 4px;
537
+ min-width: 18px;
538
+ height: 15px;
539
+ border-radius: 25%;
540
+ padding: 0 5px;
541
+ font-size: 10px;
542
+ line-height: 18px;
543
+ text-align: center;
544
+ background-color: var(--bs-danger, #dc3545) !important;
545
+ color: #fff !important;
546
+ }
547
+
548
+ .notifications-menu {
549
+ right: 0;
550
+ top: calc(100% + 4px);
551
+ min-width: 280px;
552
+ max-height: 400px;
553
+ overflow-y: auto;
554
+ z-index: 1050;
555
+ }
556
+
557
+ /* =================================================================
558
+ top-menu-item.component
559
+ ================================================================= */
560
+
561
+ .nav-item .nav-link {
562
+ color: var(--Secondary-Light-Color, #999);
563
+ font-weight: 500;
564
+ padding: 0 14px;
565
+ height: 56px;
566
+ display: flex;
567
+ align-items: center;
568
+ justify-content: flex-start;
569
+ text-decoration: none;
570
+ font-size: 13px;
571
+ white-space: nowrap;
572
+ transition: color 0.2s;
573
+ background: #222222;
574
+ }
575
+
576
+ .nav-item .nav-link:hover,
577
+ .nav-item.dropdown.open > .nav-link {
578
+ color: var(--bs-white, #fff);
579
+ background: #222222;
580
+ }
581
+
582
+ .nav-item .nav-link .caret {
583
+ margin-left: 4px;
584
+ font-size: 10px;
585
+ }
586
+
587
+ .nav-item.dropdown {
588
+ position: relative;
589
+ }
590
+
591
+ .dropdown-menu {
592
+ left: 0;
593
+ min-width: 200px;
594
+ }
595
+
596
+ .nav-item.dropdown.open > .dropdown-menu {
597
+ display: block;
598
+ }
599
+
600
+ .top-bar-header .nav-item .nav-link,
601
+ .top-bar-header .nav-item .nav-link:hover,
602
+ .top-bar-header .nav-item .nav-link:focus {
603
+ background: #222222 !important;
604
+ color: var(--Secondary-Light-Color, #999) !important;
605
+ }
606
+
607
+ .top-bar-header .nav-item.dropdown.open > .nav-link,
608
+ .top-bar-header .nav-item .nav-link:hover {
609
+ color: var(--bs-white, #fff) !important;
610
+ }
611
+
612
+ .top-bar-header .nav-item {
613
+ margin: 0;
614
+ }
615
+
616
+ .top-bar-header .dropdown-menu.menu-dropdown-panel {
617
+ top: 100%;
618
+ margin-top: 0;
619
+ min-width: 220px;
620
+ padding: 0;
621
+ border-radius: 0 0 4px 4px;
622
+ overflow: hidden;
623
+ background: #fff !important;
624
+ z-index: 1200;
625
+ }
626
+
627
+ .top-bar-header .dropdown-menu.menu-dropdown-panel .nav-item .nav-link {
628
+ height: 35px !important;
629
+ padding: 0 22px;
630
+ background: #fff !important;
631
+ color: var(--dark-text-color, #333) !important;
632
+ border-bottom: none;
633
+ font-weight: 400;
634
+ text-decoration: none !important;
635
+ }
636
+
637
+ .top-bar-header .dropdown-menu.menu-dropdown-panel .nav-item .nav-link:hover,
638
+ .top-bar-header .dropdown-menu.menu-dropdown-panel .nav-item.dropdown.open > .nav-link {
639
+ background: #f5f6f8 !important;
640
+ color: var(--dark-text-color, #222) !important;
641
+ text-decoration: none !important;
642
+ }
643
+
644
+ .top-bar-header .nav-item.dropdown > .nav-link,
645
+ .top-bar-header .nav-item.dropdown > .nav-link:focus {
646
+ color: var(--Secondary-Light-Color, #999) !important;
647
+ }
648
+
649
+ .top-bar-header .nav-item.dropdown > .nav-link:hover,
650
+ .top-bar-header .nav-item.dropdown.open > .nav-link {
651
+ color: #fff !important;
652
+ }
653
+
654
+ .top-bar-header input {
655
+ border: none !important;
656
+ margin-right: 0 !important;
657
+ }
658
+
659
+ /* =================================================================
660
+ about-dialog.component
661
+ ================================================================= */
662
+
663
+ .about-backdrop {
664
+ position: fixed;
665
+ top: 0; left: 0; right: 0; bottom: 0;
666
+ background: rgba(0, 0, 0, 0.45);
667
+ z-index: 2000;
668
+ display: flex;
669
+ align-items: center;
670
+ justify-content: center;
671
+ animation: about-fade-in 0.2s ease;
672
+ }
673
+
674
+ @keyframes about-fade-in {
675
+ from { opacity: 0; }
676
+ to { opacity: 1; }
677
+ }
678
+
679
+ .about-modal {
680
+ background: #fff;
681
+ border-radius: 6px;
682
+ width: 560px;
683
+ max-width: 95vw;
684
+ box-shadow: 0 5px 30px rgba(0, 0, 0, 0.25);
685
+ animation: about-slide-in 0.22s ease;
686
+ overflow: hidden;
687
+ }
688
+
689
+ @keyframes about-slide-in {
690
+ from { transform: translateY(-30px); opacity: 0; }
691
+ to { transform: translateY(0); opacity: 1; }
692
+ }
693
+
694
+ .about-modal-header {
695
+ display: flex;
696
+ align-items: center;
697
+ justify-content: space-between;
698
+ padding: 14px 20px;
699
+ border-bottom: 1px solid #e5e5e5;
700
+ }
701
+
702
+ .about-modal-title {
703
+ font-size: 1rem;
704
+ font-weight: 400;
705
+ margin: 0;
706
+ color: #333;
707
+ }
708
+
709
+ .about-close-btn {
710
+ background: none;
711
+ border: none;
712
+ font-size: 1.5rem;
713
+ line-height: 1;
714
+ color: #999;
715
+ cursor: pointer;
716
+ padding: 0 4px;
717
+ }
718
+
719
+ .about-close-btn:hover {
720
+ color: #333;
721
+ }
722
+
723
+ .about-modal-body {
724
+ padding: 20px 20px 16px;
725
+ }
726
+
727
+ .about-logo {
728
+ max-width: 175px;
729
+ width: 100%;
730
+ }
731
+
732
+ .about-product-name {
733
+ font-size: 1.25rem;
734
+ font-weight: 400;
735
+ margin: 0 0 8px !important;
736
+ color: #333;
737
+ }
738
+
739
+ .about-version-text {
740
+ font-size: 0.9rem;
741
+ color: #555;
742
+ margin-bottom: 4px !important;
743
+ }
744
+
745
+ .about-up-to-date {
746
+ font-size: 0.85rem;
747
+ margin-bottom: 4px !important;
748
+ }
749
+
750
+ .about-copyright {
751
+ font-size: 0.82rem;
752
+ color: #555;
753
+ line-height: 1.5;
754
+ }
755
+
756
+ .about-modal-actions {
757
+ display: flex;
758
+ border-top: 1px solid #e5e5e5;
759
+ }
760
+
761
+ .about-action-btn {
762
+ flex: 1;
763
+ background: none;
764
+ border: none;
765
+ border-right: 1px solid #e5e5e5;
766
+ padding: 12px 8px;
767
+ font-size: 0.875rem;
768
+ color: var(--primary-color, #F18206);
769
+ cursor: pointer;
770
+ transition: background 0.15s;
771
+ }
772
+
773
+ .about-action-btn:last-child {
774
+ border-right: none;
775
+ }
776
+
777
+ .about-action-btn:hover {
778
+ background: var(--primary-color-light, #f4ede3);
779
+ }
780
+
781
+ /* =================================================================
782
+ side-menu.component
783
+ ================================================================= */
784
+
785
+ .sidebar-content {
786
+ background: #222222;
787
+ }
788
+
789
+ .sidebar {
790
+ width: 260px;
791
+ background: #222222;
792
+ color: #d3d7dc;
793
+ height: 100vh;
794
+ min-height: 100vh;
795
+ max-height: 100vh;
796
+ transition: var(--tran-03);
797
+ position: fixed;
798
+ left: 0;
799
+ top: 0;
800
+ z-index: 1000;
801
+ display: flex;
802
+ flex-direction: column;
803
+ box-shadow: var(--bs-xs-shadow-box, 2px 0 8px rgba(0,0,0,0.04));
804
+
805
+ &.collapsed {
806
+ width: 60px;
807
+ .sidebar-content, .sidebar-footer small { display: none; }
808
+ .sidebar-footer {
809
+ justify-content: center;
810
+ }
811
+ .sidebar-logo img { margin: 0 auto; }
812
+ }
813
+
814
+ .nav-sidebar li ul {
815
+ background-color: var(--bs-gray, #eee);
816
+ }
817
+
818
+ .nav-sidebar li a {
819
+ border-top: 1px solid rgba(255, 255, 255, .04);
820
+ display: block;
821
+ padding: 10px 25px;
822
+ color: #d3d7dc !important;
823
+ font-size: var(--font-size-13, 13px);
824
+ font-weight: 300;
825
+ white-space: nowrap;
826
+ transition: color var(--tran-02, 150ms ease);
827
+ }
828
+
829
+ .sidebar-logo {
830
+ display: flex;
831
+ align-items: center;
832
+ justify-content: flex-start;
833
+ padding: 8px 0 10px 18px;
834
+ background: #222222;
835
+ img {
836
+ height: 34px;
837
+ transition: var(--tran-03);
838
+ }
839
+ }
840
+
841
+ .sidebar-content {
842
+ overflow-y: auto;
843
+ flex: 1 1 auto;
844
+ height: 100%;
845
+ background: #222222;
846
+ scrollbar-width: thin;
847
+ scrollbar-color: #4a4f58 #222222;
848
+ }
849
+
850
+ .sidebar-content::-webkit-scrollbar {
851
+ width: 10px;
852
+ }
853
+
854
+ .sidebar-content::-webkit-scrollbar-track {
855
+ background: #222222;
856
+ }
857
+
858
+ .sidebar-content::-webkit-scrollbar-thumb {
859
+ background: #4a4f58;
860
+ border-radius: 8px;
861
+ border: 2px solid #222222;
862
+ }
863
+
864
+ .sidebar-content::-webkit-scrollbar-thumb:hover {
865
+ background: #5b616b;
866
+ }
867
+
868
+ .nav-sidebar {
869
+ list-style: none;
870
+ padding: 0;
871
+ margin: 0;
872
+ }
873
+
874
+ .sidebar-footer {
875
+ width: 100%;
876
+ padding: 8px 10px;
877
+ background: #222222;
878
+ font-size: var(--font-size-12, 12px);
879
+ display: flex;
880
+ align-items: center;
881
+ justify-content: space-between;
882
+ border-top: 1px solid rgba(255,255,255,.04);
883
+ position: absolute;
884
+ bottom: 0;
885
+ left: 0;
886
+ a { color: var(--bs-white, #fff); }
887
+ button { background: #222222; border: 1px solid #333; color: var(--bs-white, #fff); }
888
+
889
+ a:hover {
890
+ color: var(--bs-custom-light-white, #eee) !important;
891
+ }
892
+ }
893
+ }
894
+
895
+ /* =================================================================
896
+ side-menu-item.component
897
+ ================================================================= */
898
+
899
+ li.level-2 > a {
900
+ background: #ddd !important;
901
+ color: #333 !important;
902
+ }
903
+
904
+ li.level-3 > a {
905
+ background: #eee !important;
906
+ color: #333 !important;
907
+ }
908
+
909
+ .sub-menu li.level-last > a {
910
+ background: #eee !important;
911
+ color: #333 !important;
912
+ }
913
+
914
+ .sub-menu {
915
+ background: none !important;
916
+ }
917
+
918
+ li.level-2 > a span,
919
+ li.level-3 > a span,
920
+ .sub-menu li.level-last > a span {
921
+ color: #333 !important;
922
+ font-size: 13px;
923
+ }
924
+
925
+ .nav-sidebar li ul li a {
926
+ color: var(--dark-text-color, #333) !important;
927
+ }
928
+
929
+ li.level-2 > a:hover,
930
+ li.level-2 > a.active,
931
+ li.level-3 > a:hover,
932
+ li.level-3 > a.active,
933
+ .sub-menu li.level-last > a:hover,
934
+ .sub-menu li.level-last > a.active {
935
+ background: #fff2e4 !important;
936
+ color: #333 !important;
937
+ }
938
+
939
+ a.has-children{
940
+ display: flex;
941
+ flex-wrap: nowrap;
942
+ }
943
+
944
+ li.level-last > a.has-children:hover > fa-icon,
945
+ li.level-2 > a.has-children:hover > fa-icon {
946
+ color: var(--dark-text-color, #333) !important;
947
+ }
948
+
949
+ li.level-2 > a > fa-icon.fa-fw:hover,
950
+ li.level-2 > a > fa-icon.fa-fw:focus {
951
+ color: var(--dark-text-color, #333) !important;
952
+ }
953
+
954
+ .popover-sub-menu {
955
+ position: absolute;
956
+ left: 60px;
957
+ top: 0;
958
+ z-index: 2000;
959
+ min-width: 180px;
960
+ background: transparent;
961
+ pointer-events: none;
962
+ }
963
+
964
+ .popover-menu {
965
+ background: var(--bs-white, #fff);
966
+ color: var(--dark-text-color, #232323);
967
+ border-radius: 6px;
968
+ box-shadow: var(--bs-md-shadow-box, 0 4px 16px rgba(0,0,0,0.15));
969
+ margin: 0;
970
+ padding: 8px 0;
971
+ pointer-events: auto;
972
+ }
973
+
974
+ .popover-arrow {
975
+ position: absolute;
976
+ left: -8px;
977
+ top: 16px;
978
+ width: 16px;
979
+ height: 16px;
980
+ background: transparent;
981
+ }
982
+
983
+ .popover-arrow::before {
984
+ content: '';
985
+ position: absolute;
986
+ left: 0;
987
+ top: 0;
988
+ width: 16px;
989
+ height: 16px;
990
+ background: var(--bs-white, #fff);
991
+ box-shadow: -2px 2px 6px rgba(0,0,0,0.08);
992
+ transform: rotate(45deg);
993
+ }
994
+
995
+ li.collapsed {
996
+ position: relative;
997
+ }
998
+
999
+ li.parent.level-2,
1000
+ li.level-last {
1001
+ padding: 0 !important;
1002
+ margin-bottom: 0 !important;
1003
+ }
1004
+
1005
+ li {
1006
+ &.level-2 > a,
1007
+ &.level-last > a {
1008
+ transition: background var(--tran-02), color var(--tran-02);
1009
+ }
1010
+ margin-bottom: 2px;
1011
+ &.collapsed > a {
1012
+ justify-content: center;
1013
+ span { display: none; }
1014
+ .fa-fw {
1015
+ margin-right: 0;
1016
+ display: inline-flex;
1017
+ justify-content: center;
1018
+ width: 100%;
1019
+ }
1020
+ }
1021
+ }
1022
+
1023
+ li.parent > a {
1024
+ color: #999 !important;
1025
+ background: none;
1026
+ border: none;
1027
+ outline: none;
1028
+ cursor: pointer;
1029
+ display: flex;
1030
+ align-items: center;
1031
+ justify-content: space-between;
1032
+ border-radius: 0;
1033
+ gap: 10px;
1034
+ width: 100%;
1035
+ padding: 11px 18px 11px 13px !important;
1036
+ text-decoration: none !important;
1037
+ }
1038
+
1039
+ .sidebar .nav-sidebar li > a > .d-flex {
1040
+ min-width: 0;
1041
+ }
1042
+
1043
+ .sidebar .nav-sidebar li > a span {
1044
+ overflow: hidden;
1045
+ text-overflow: ellipsis;
1046
+ }
1047
+
1048
+ li.parent > fa-icon {
1049
+ color: var(--Secondary-Light-Color, #999) !important;
1050
+ }
1051
+
1052
+ li.parent.open > a {
1053
+ font-weight: 400;
1054
+ background: #222222;
1055
+ color: #f0f3f6;
1056
+ border-radius: 0;
1057
+ display: flex !important;
1058
+ }
1059
+
1060
+ li.parent > a:hover {
1061
+ color: var(--bs-custom-light-white, #eee) !important;
1062
+ }
1063
+
1064
+ a.has-children {
1065
+ display: flex !important;
1066
+ flex-wrap: nowrap;
1067
+ }
1068
+
1069
+ .sub-menu {
1070
+ background: var(--bs-gray, #eee);
1071
+ color: var(--Secondary-Light-Color, #999);
1072
+ padding-left: 0;
1073
+ margin: 0;
1074
+ border-radius: 0 0 4px 4px;
1075
+ box-shadow: var(--bs-xs-shadow-box, 0 2px 8px rgba(0,0,0,0.04));
1076
+ display: none;
1077
+ }
1078
+
1079
+ li.open > .sub-menu {
1080
+ display: block;
1081
+ }
1082
+
1083
+ li .sub-menu li a {
1084
+ color: var(--dark-text-color, #333);
1085
+ background: none;
1086
+ font-weight: normal;
1087
+ border-radius: 0;
1088
+ justify-content: flex-start;
1089
+ gap: 10px;
1090
+ padding: 11px 18px 11px 30px !important;
1091
+ border-bottom: 1px solid var(--bg-light-gray, #ddd);
1092
+ border-right: 1px solid var(--bg-light-gray, #ddd);
1093
+ }
1094
+
1095
+ li .sub-menu li a:hover {
1096
+ background: var(--bs-gray, #eee);
1097
+ color: var(--dark-text-color, #222);
1098
+ }
1099
+
1100
+ li .sub-menu li.open > a {
1101
+ background: var(--bs-white, #fff);
1102
+ color: var(--dark-text-color, #222);
1103
+ }
1104
+
1105
+ .sidebar-toggle-btn {
1106
+ width: 32px;
1107
+ height: 32px;
1108
+ border-radius: 4px;
1109
+ background: #262626;
1110
+ color: var(--Secondary-Light-Color, #999);
1111
+ border: 1px solid #48506a;
1112
+ display: flex;
1113
+ align-items: center;
1114
+ justify-content: center;
1115
+ margin: 0;
1116
+ transition: background var(--tran-02), color var(--tran-02);
1117
+ }
1118
+
1119
+ .sidebar-toggle-btn:hover {
1120
+ background: #48506a;
1121
+ color: #fff;
1122
+ }
1123
+
1124
+ a.navbar-brand-link, a.dropdown-item {
1125
+ color: var(--Secondary-Light-Color, #999);
1126
+ text-decoration: none;
1127
+ display: flex;
1128
+ align-items: center;
1129
+ border-radius: 4px;
1130
+ transition: background var(--tran-02);
1131
+ justify-content: flex-start;
1132
+ gap: 10px;
1133
+ }
1134
+
1135
+ a.navbar-brand-link:hover,
1136
+ a.dropdown-item:hover {
1137
+ background: var(--bs-gray, #eee);
1138
+ color: var(--dark-text-color, #222222);
1139
+ }
1140
+
1141
+ .menu-dropdown-host > a:hover, .menu-icon-btn:hover, a.navbar-brand-link:hover {
1142
+ background: #222222;
1143
+ color: var(--bs-white, #fff) !important;
1144
+ }
1145
+
1146
+ .fa {
1147
+ margin-right: 8px;
1148
+ }
1149
+
1150
+ .sidebar-footer a:hover {
1151
+ background: #222222 !important;
1152
+ color: var(--bs-white, #fff) !important;
1153
+ }
1154
+
1155
+ /* Final side-menu alignment overrides to match reference layout */
1156
+ .sidebar .nav-sidebar > li {
1157
+ margin: 0;
1158
+ }
1159
+
1160
+ .sidebar .nav-sidebar > li > a {
1161
+ min-height: 40px;
1162
+ padding: 10px 16px 10px 28px !important;
1163
+ text-decoration: none !important;
1164
+ line-height: 1.2;
1165
+ border-top: 1px solid rgba(255, 255, 255, 0.05);
1166
+ }
1167
+
1168
+ .sidebar .nav-sidebar > li > a .d-flex {
1169
+ align-items: center;
1170
+ gap: 12px;
1171
+ }
1172
+
1173
+ .sidebar .nav-sidebar > li > a > .fa-fw:last-child {
1174
+ margin-left: 10px;
1175
+ font-size: 11px;
1176
+ flex-shrink: 0;
1177
+ width: 12px;
1178
+ text-align: center;
1179
+ }
1180
+
1181
+ /* ─── Sidebar icons: white on hover / active ─── */
1182
+ .sidebar .nav-sidebar li > a:hover .text-secondary,
1183
+ .sidebar .nav-sidebar li > a:focus .text-secondary,
1184
+ .sidebar .nav-sidebar li.open > a .text-secondary,
1185
+ .sidebar .nav-sidebar li.level-1.open > a .text-secondary {
1186
+ color: #fff !important;
1187
+ }
1188
+
1189
+ /* ─── Level 2+ icons: black on hover (light background) ─── */
1190
+ .sidebar .nav-sidebar li.level-2 > a:hover .text-secondary,
1191
+ .sidebar .nav-sidebar li.level-2 > a:focus .text-secondary,
1192
+ .sidebar .nav-sidebar li.level-2.open > a .text-secondary,
1193
+ .sidebar .nav-sidebar li.level-3 > a:hover .text-secondary,
1194
+ .sidebar .nav-sidebar li.level-3 > a:focus .text-secondary,
1195
+ .sidebar .nav-sidebar li.level-last > a:hover .text-secondary,
1196
+ .sidebar .nav-sidebar li.level-last > a:focus .text-secondary {
1197
+ color: #222 !important;
1198
+ }
1199
+
1200
+ .sidebar .nav-sidebar > li.level-1.open > a {
1201
+ background: #222222 !important;
1202
+ color: #f0f3f6 !important;
1203
+ }
1204
+
1205
+ .sidebar .nav-sidebar .sub-menu {
1206
+ background: #efefef !important;
1207
+ margin: 0;
1208
+ padding: 0;
1209
+ border-radius: 0;
1210
+ box-shadow: none;
1211
+ }
1212
+
1213
+ .sidebar .nav-sidebar .sub-menu > li {
1214
+ margin: 0;
1215
+ }
1216
+
1217
+ .sidebar .nav-sidebar .sub-menu > li > a {
1218
+ min-height: 38px;
1219
+ padding: 9px 16px 9px 58px !important;
1220
+ background: #eee !important;
1221
+ color: #333 !important;
1222
+ text-decoration: none !important;
1223
+ border-right: none;
1224
+ border-bottom: 1px solid #dddddd;
1225
+ font-weight: 400;
1226
+ }
1227
+
1228
+ .sidebar .nav-sidebar .sub-menu > li.level-2.parent > a {
1229
+ padding-left: 50px !important;
1230
+ font-weight: 400;
1231
+ }
1232
+
1233
+ .sidebar .nav-sidebar .sub-menu > li.level-3 > a,
1234
+ .sidebar .nav-sidebar .sub-menu > li.level-last > a {
1235
+ padding-left: 58px !important;
1236
+ }
1237
+
1238
+ /* Third level and deeper has lighter background than second level */
1239
+ .sidebar .nav-sidebar .sub-menu .sub-menu > li > a,
1240
+ .sidebar .nav-sidebar .sub-menu > li.level-3 > a {
1241
+ background: #fff !important;
1242
+ color: #333 !important;
1243
+ }
1244
+
1245
+ .sidebar .nav-sidebar .sub-menu > li > a:hover,
1246
+ .sidebar .nav-sidebar .sub-menu > li.open > a {
1247
+ background: #fff2e4 !important;
1248
+ color: #333 !important;
1249
+ }
1250
+
1251
+ .sidebar .nav-sidebar .sub-menu .sub-menu > li > a:hover,
1252
+ .sidebar .nav-sidebar .sub-menu .sub-menu > li.open > a {
1253
+ background: #fff2e4 !important;
1254
+ color: #333 !important;
1255
+ }
1256
+
1257
+ .sidebar .nav-sidebar a,
1258
+ .sidebar .nav-sidebar a:hover,
1259
+ .sidebar .nav-sidebar a:focus,
1260
+ .sidebar .nav-sidebar a:active {
1261
+ text-decoration: none !important;
1262
+ }
1263
+
1264
+ .sidebar .nav-sidebar li.parent > a {
1265
+ justify-content: space-between;
1266
+ }
1267
+
1268
+ .sidebar .nav-sidebar li.parent > a > .d-flex {
1269
+ flex: 1 1 auto;
1270
+ min-width: 0;
1271
+ }
1272
+
1273
+ .sidebar .nav-sidebar > li > a,
1274
+ .sidebar .nav-sidebar .sub-menu > li > a {
1275
+ display: flex;
1276
+ align-items: center;
1277
+ flex-wrap: nowrap;
1278
+ }
1279
+
1280
+ .sidebar .nav-sidebar .menu-label-wrap {
1281
+ flex: 1 1 auto;
1282
+ min-width: 0;
1283
+ display: flex;
1284
+ align-items: center;
1285
+ flex-wrap: nowrap;
1286
+ overflow: hidden;
1287
+ }
1288
+
1289
+ .sidebar .nav-sidebar .menu-name-text {
1290
+ display: block;
1291
+ min-width: 0;
1292
+ flex: 1 1 auto;
1293
+ overflow: hidden;
1294
+ text-overflow: ellipsis;
1295
+ white-space: nowrap;
1296
+ }
1297
+
1298
+ .sidebar .nav-sidebar .menu-expand-arrow {
1299
+ flex: 0 0 14px;
1300
+ width: 14px;
1301
+ min-width: 14px;
1302
+ margin-left: 10px;
1303
+ text-align: center;
1304
+ color :#999;
1305
+ }
1306
+
1307
+ .sidebar .nav-sidebar .sub-menu > li.parent > a > .menu-expand-arrow,
1308
+ .sidebar .nav-sidebar .sub-menu .sub-menu > li.parent > a > .menu-expand-arrow {
1309
+ color: #6f7680 !important;
1310
+ opacity: 1 !important;
1311
+ visibility: visible !important;
1312
+ }
1313
+
1314
+ .sidebar .nav-sidebar .sub-menu > li.parent > a:hover > .menu-expand-arrow,
1315
+ .sidebar .nav-sidebar .sub-menu > li.parent.open > a > .menu-expand-arrow,
1316
+ .sidebar .nav-sidebar .sub-menu .sub-menu > li.parent > a:hover > .menu-expand-arrow,
1317
+ .sidebar .nav-sidebar .sub-menu .sub-menu > li.parent.open > a > .menu-expand-arrow {
1318
+ color: #4e5560 !important;
1319
+ }
1320
+
1321
+ /* First-level parent menu visual behavior */
1322
+ .sidebar .nav-sidebar > li.level-1.parent > a,
1323
+ .sidebar .nav-sidebar > li.level-1.parent > a:visited,
1324
+ .sidebar .nav-sidebar > li.level-1.parent > a:focus,
1325
+ .sidebar .nav-sidebar > li.level-1.parent > a:active {
1326
+ color: #999 !important;
1327
+ text-decoration: none !important;
1328
+ }
1329
+
1330
+ .sidebar .nav-sidebar > li.level-1.parent > a span {
1331
+ color: #999 !important;
1332
+ text-decoration: none !important;
1333
+ }
1334
+
1335
+ .sidebar .nav-sidebar > li.level-1.parent > a:hover,
1336
+ .sidebar .nav-sidebar > li.level-1.parent.open > a {
1337
+ color: #fff !important;
1338
+ text-decoration: none !important;
1339
+ }
1340
+
1341
+ .sidebar .nav-sidebar > li.level-1.parent > a:hover span,
1342
+ .sidebar .nav-sidebar > li.level-1.parent.open > a span {
1343
+ color: #fff !important;
1344
+ }
1345
+
1346
+ .sidebar .nav-sidebar > li > a span,
1347
+ .sidebar .nav-sidebar .sub-menu > li > a span {
1348
+ font-size: 12px;
1349
+ }
1350
+
1351
+ .sidebar .sidebar-footer small {
1352
+ display: flex;
1353
+ align-items: center;
1354
+ gap: 10px;
1355
+ margin: 0;
1356
+ line-height: 1;
1357
+ }
1358
+
1359
+ .sidebar .sidebar-footer small,
1360
+ .sidebar .sidebar-footer small a {
1361
+ color: #8f949d !important;
1362
+ font-size: 11px;
1363
+ }
1364
+
1365
+ .sidebar .sidebar-footer small a:hover {
1366
+ color: #fff !important;
1367
+ }
1368
+
1369
+ .sidebar.collapsed .sidebar-footer {
1370
+ justify-content: center;
1371
+ padding: 8px 0;
1372
+ }
1373
+ ::ng-deep .dx-popup-title.dx-toolbar .dx-closebutton {
1374
+ inset-inline-start: 10px;
1375
+ }
1376
+ ::ng-deep .dx-popup-title.dx-toolbar {
1377
+ padding-top: 10px !important;
1378
+ }