ui-soxo-bootstrap-core 2.6.26 → 2.6.28

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.
@@ -1,426 +1,687 @@
1
+ /* ── Page shell ─────────────────────────────────────────── */
2
+
1
3
  .process-steps-page {
2
- height: 100dvh;
3
4
  display: flex;
4
5
  flex-direction: column;
6
+ height: 100%;
7
+ min-height: 0;
8
+ width: 100%;
9
+ max-width: 100%;
5
10
  overflow: hidden;
6
-
7
- &.consultation-mode {
8
- background: linear-gradient(180deg, #c8d2d6 0%, #d5d7d1 21%, #d9d8c6 40%, #c6cebe 58%, #a8c0c0 71%, #6e9fbb 84%, #367495 93%, #0a4d6e 100%);
9
- padding: 12px;
10
- }
11
-
12
- &.is-fullscreen {
13
- padding: 12px;
14
- }
15
- }
16
-
17
- .process-steps-page.consultation-mode .process-steps-card {
18
- border: none;
19
- background: transparent;
20
- box-shadow: none;
11
+ box-sizing: border-box;
21
12
  }
22
13
 
23
- .process-steps-page.consultation-mode .process-steps-card > .ant-card-body {
24
- padding: 10px;
14
+ .steps-viewport {
15
+ display: flex;
16
+ flex-direction: column;
17
+ flex: 1 1 auto;
18
+ width: 100%;
19
+ max-width: 100%;
20
+ height: 100%;
21
+ min-height: 0;
22
+ min-width: 0;
23
+ overflow: hidden;
24
+ box-sizing: border-box;
25
25
  }
26
26
 
27
- .process-steps-card {
28
- flex: 1;
27
+ .steps-main-card {
28
+ display: flex;
29
+ flex: 1 1 auto;
30
+ width: 100%;
31
+ max-width: 100%;
29
32
  height: 100%;
33
+ min-height: 0;
34
+ min-width: 0;
30
35
  overflow: hidden;
36
+ box-sizing: border-box;
31
37
 
32
38
  .ant-card-body {
33
- height: 100%;
34
39
  display: flex;
35
40
  flex-direction: column;
41
+ flex: 1 1 auto;
42
+ min-height: 0;
43
+ min-width: 0;
44
+ width: 100%;
45
+ padding: 0;
46
+ background: #ffffff;
36
47
  overflow: hidden;
37
48
  }
38
49
  }
39
50
 
40
- .process-steps-row {
41
- flex: 1;
42
- min-height: 0;
43
- overflow: hidden;
51
+ /* ── Patient info bar ───────────────────────────────────── */
52
+
53
+ .steps-patient-bar {
54
+ flex: 0 0 auto;
55
+ padding: 0;
56
+ background: #f8fbff;
57
+ border-bottom: 1px solid #e8eef8;
58
+ overflow-x: auto;
59
+ overflow-y: hidden;
60
+ scrollbar-width: none;
61
+ }
62
+
63
+ .steps-patient-bar::-webkit-scrollbar {
64
+ display: none;
65
+ }
66
+
67
+ /* Transform GuestInfoComponent into a single-row horizontal strip */
68
+
69
+ .steps-patient-bar .guest-info {
70
+ margin: 0 !important;
71
+ border: none !important;
72
+ box-shadow: none !important;
73
+ background: transparent !important;
74
+ border-radius: 0 !important;
75
+ width: 100%;
76
+ }
77
+
78
+ .steps-patient-bar .guest-info > .ant-card-body,
79
+ .steps-patient-bar .guest-info > div > .ant-card-body,
80
+ .steps-patient-bar .guest-info > div {
81
+ padding: 0 !important;
44
82
  }
45
83
 
46
- .process-steps-timeline-col,
47
- .process-steps-content-col {
84
+ .steps-patient-bar .guest-info .ant-row {
85
+ display: flex !important;
86
+ flex-direction: row !important;
87
+ flex-wrap: nowrap !important;
88
+ margin: 0 !important;
89
+ gap: 0 !important;
90
+ row-gap: 0 !important;
91
+ align-items: stretch !important;
92
+ width: max-content !important;
93
+ min-width: 100% !important;
94
+ }
95
+
96
+ .steps-patient-bar .guest-info .ant-row > [class*='ant-col'] {
97
+ flex: 0 0 auto !important;
98
+ max-width: none !important;
99
+ width: auto !important;
100
+ padding: 0 !important;
101
+ }
102
+
103
+ .steps-patient-bar .guest-info .information {
104
+ display: flex !important;
105
+ flex-direction: column !important;
106
+ justify-content: center !important;
107
+ padding: 6px 16px !important;
108
+ border: none !important;
109
+ border-radius: 0 !important;
110
+ background: transparent !important;
111
+ height: 100% !important;
112
+ min-height: 40px !important;
113
+ box-shadow: none !important;
114
+ border-right: 1px solid #dde5f0 !important;
115
+ white-space: nowrap !important;
116
+ }
117
+
118
+ .steps-patient-bar .guest-info .ant-row > [class*='ant-col']:first-child .information {
119
+ padding-left: 16px !important;
120
+ }
121
+
122
+ .steps-patient-bar .guest-info .ant-row > [class*='ant-col']:last-child .information {
123
+ border-right: none !important;
124
+ }
125
+
126
+ /* Label */
127
+ .steps-patient-bar .guest-info .information label,
128
+ .steps-patient-bar .guest-info .information .label,
129
+ .steps-patient-bar .guest-info .information small,
130
+ .steps-patient-bar .guest-info .information > span:first-child {
131
+ font-size: 10px !important;
132
+ font-weight: 600 !important;
133
+ text-transform: uppercase !important;
134
+ letter-spacing: 0.07em !important;
135
+ color: #9eafc2 !important;
136
+ line-height: 1 !important;
137
+ margin: 0 0 3px !important;
138
+ display: block !important;
139
+ }
140
+
141
+ /* Value */
142
+ .steps-patient-bar .guest-info .information strong,
143
+ .steps-patient-bar .guest-info .information h4,
144
+ .steps-patient-bar .guest-info .information h5,
145
+ .steps-patient-bar .guest-info .information .value,
146
+ .steps-patient-bar .guest-info .information > span:last-child,
147
+ .steps-patient-bar .guest-info .information p {
148
+ font-size: 13px !important;
149
+ font-weight: 700 !important;
150
+ color: #1e293b !important;
151
+ margin: 0 !important;
152
+ line-height: 1.3 !important;
153
+ white-space: nowrap !important;
154
+ }
155
+
156
+ /* ── Top bar (breadcrumbs + nav actions) ────────────────── */
157
+
158
+ .steps-top-bar {
159
+ flex: 0 0 auto;
48
160
  display: flex;
49
- flex-direction: column;
50
- min-height: 0;
161
+ align-items: center;
162
+ gap: 8px;
163
+ padding: 6px 12px;
164
+ border-bottom: 1px solid #e8eef8;
165
+ background: #f8fbff;
166
+ min-height: 50px;
167
+ width: 100%;
168
+ max-width: 100%;
169
+ min-width: 0;
51
170
  box-sizing: border-box;
171
+ overflow: hidden;
52
172
  }
53
173
 
54
- .process-steps-timeline-col {
55
- position: sticky;
56
- top: 0;
57
- align-self: flex-start;
58
- height: 100%;
59
- max-height: 100%;
174
+ .steps-breadcrumb-strip {
175
+ flex: 1 1 auto;
176
+ min-width: 0;
177
+ display: flex;
178
+ align-items: center;
179
+ gap: 6px;
180
+ overflow-x: auto;
181
+ overflow-y: hidden;
182
+ white-space: nowrap;
183
+ scrollbar-width: thin;
184
+ scrollbar-color: #d0dff5 transparent;
185
+ padding-bottom: 2px;
60
186
  }
61
187
 
62
- .process-steps-timeline-col .timeline-card {
63
- height: 100%;
64
- width: 100%;
188
+ .steps-nav-actions {
189
+ flex: 0 0 auto;
190
+ display: flex;
191
+ align-items: center;
192
+ gap: 6px;
65
193
  }
66
194
 
67
- .process-steps-content-col {
68
- flex: 1;
69
- max-height: 100%;
70
- overflow: hidden;
71
- // background: #fff;
72
- // border: 1px solid #e5ebf3;
73
- // border-radius: 14px;
74
- // box-shadow: 0 8px 20px rgba(15, 23, 42, 0.08);
75
- // padding: 14px 16px;
76
- position: relative;
77
- z-index: 2;
195
+ .steps-nav-actions .ant-btn {
196
+ min-height: 34px;
197
+ border-radius: 8px;
198
+ padding: 0 14px;
199
+ font-size: 13px;
200
+ font-weight: 600;
201
+ touch-action: manipulation;
202
+ -webkit-tap-highlight-color: transparent;
203
+ transition: all 0.15s ease;
204
+ white-space: nowrap;
78
205
  }
79
206
 
80
- .process-steps-content-col > .action-buttons-layout {
81
- flex: 1;
82
- min-height: 0;
83
- height: 100%;
207
+ .steps-nav-actions .ant-btn:active {
208
+ transform: scale(0.97);
84
209
  }
85
210
 
86
- .process-step-header {
87
- margin-bottom: 20px;
88
- flex-shrink: 0;
211
+ .steps-breadcrumb-strip::-webkit-scrollbar {
212
+ height: 3px;
89
213
  }
90
214
 
91
- .process-step-title {
92
- margin: 0;
93
- font-size: 16px;
215
+ .steps-breadcrumb-strip::-webkit-scrollbar-track {
216
+ background: transparent;
217
+ }
218
+
219
+ .steps-breadcrumb-strip::-webkit-scrollbar-thumb {
220
+ background: #d0dff5;
221
+ border-radius: 4px;
222
+ }
223
+
224
+ .steps-breadcrumb-item {
225
+ display: inline-flex;
226
+ align-items: center;
227
+ gap: 7px;
228
+ border: 1.5px solid #dce6f5;
229
+ background: #f8fbff;
230
+ border-radius: 999px;
231
+ padding: 6px 14px;
232
+ cursor: pointer;
233
+ transition: all 0.18s ease;
234
+ color: #475569;
235
+ font-size: 12px;
236
+ font-weight: 500;
237
+ white-space: nowrap;
238
+ min-height: 34px;
239
+ touch-action: manipulation;
240
+ -webkit-tap-highlight-color: transparent;
241
+ }
242
+
243
+ .steps-breadcrumb-item:hover {
244
+ background: #eef5ff;
245
+ border-color: #c8d9f6;
246
+ color: #1d4ed8;
247
+ }
248
+
249
+ .steps-breadcrumb-item:active {
250
+ transform: scale(0.96);
251
+ }
252
+
253
+ .steps-breadcrumb-item.active {
254
+ background: #1e3a8a;
255
+ border-color: #1e3a8a;
256
+ color: #ffffff;
94
257
  font-weight: 600;
95
258
  }
96
259
 
97
- .process-step-description {
98
- margin: 0;
99
- color: #666;
260
+ .steps-breadcrumb-item.completed {
261
+ border-color: #86efac;
262
+ background: #f0fdf4;
263
+ color: #15803d;
100
264
  }
101
265
 
102
- .timeline-card {
103
- height: 100%;
104
- border: none !important;
105
- border-radius: 12px;
106
- background: linear-gradient(135deg, color-mix(in srgb, var(--accent-color) 15%, var(--surface-color)), var(--surface-color));
266
+ .steps-breadcrumb-item.completed .steps-breadcrumb-index {
267
+ background: #16a34a;
268
+ color: #ffffff;
269
+ }
107
270
 
108
- border: 1px solid color-mix(in srgb, var(--accent-color) 30%, transparent);
271
+ .steps-breadcrumb-item.active .steps-breadcrumb-index {
272
+ background: rgba(255, 255, 255, 0.22);
273
+ color: #ffffff;
274
+ }
109
275
 
110
- box-shadow: 0 8px 20px color-mix(in srgb, var(--accent-color) 20%, transparent);
276
+ .steps-breadcrumb-index {
277
+ width: 20px;
278
+ height: 20px;
279
+ border-radius: 50%;
280
+ display: inline-flex;
281
+ align-items: center;
282
+ justify-content: center;
283
+ font-size: 11px;
284
+ font-weight: 700;
285
+ background: #e2e8f4;
286
+ color: #1e293b;
287
+ flex: 0 0 auto;
288
+ }
111
289
 
112
- transition: all 0.3s ease;
113
- // background: linear-gradient(180deg, #f4f7fc 0%, #edf2f9 100%);
114
- // box-shadow:
115
- // inset 0 1px 2px rgba(255, 255, 255, 0.8),
116
- // inset 0 8px 16px rgba(15, 23, 42, 0.08),
117
- // inset 0 -2px 8px rgba(15, 23, 42, 0.04);
290
+ .steps-breadcrumb-label {
291
+ font-size: 12px;
292
+ font-weight: 600;
118
293
  }
119
294
 
120
- .timeline-card .ant-card-body {
121
- padding: 8px;
122
- border: none;
123
- min-height: 100%;
124
- position: relative;
125
- overflow: visible;
295
+ .steps-breadcrumb-empty {
296
+ color: #64748b;
297
+ font-size: 12px;
126
298
  }
127
299
 
128
- .timeline-sidebar-wrap {
129
- height: 100%;
130
- position: relative;
300
+ /* ── Content area ───────────────────────────────────────── */
301
+
302
+ .steps-content-panel {
303
+ flex: 1 1 auto;
304
+ min-height: 0;
305
+ display: flex;
306
+ flex-direction: column;
307
+ overflow: hidden;
131
308
  }
132
309
 
133
- .timeline-sidebar {
310
+ .steps-stage-body {
311
+ flex: 1 1 auto;
312
+ min-height: 0;
134
313
  display: flex;
135
314
  flex-direction: column;
136
- gap: 10px;
137
- transition: all 0.3s ease;
138
- height: 100%;
139
- overflow-y: auto;
315
+ overflow: hidden;
316
+ padding: 10px 14px;
317
+ box-sizing: border-box;
318
+ }
319
+
320
+ .steps-stage-body::-webkit-scrollbar {
321
+ width: 5px;
322
+ }
140
323
 
141
- scrollbar-width: thin; /* Firefox */
142
- scrollbar-color: rgba(0, 0, 0, 0.25) transparent;
324
+ .steps-stage-body::-webkit-scrollbar-track {
325
+ background: #f4f8ff;
326
+ border-radius: 4px;
327
+ }
143
328
 
144
- &::-webkit-scrollbar-thumb {
145
- background: rgba(0, 0, 0, 0);
329
+ .steps-stage-body::-webkit-scrollbar-thumb {
330
+ background: #c5d5ee;
331
+ border-radius: 4px;
332
+ }
333
+
334
+ .steps-stage-body::-webkit-scrollbar-thumb:hover {
335
+ background: #93b4e0;
336
+ }
337
+
338
+ .steps-chat-step-card {
339
+ width: 100%;
340
+ max-width: 100%;
341
+ min-width: 0;
342
+ flex: 1 1 auto;
343
+ min-height: 0;
344
+ display: flex;
345
+ flex-direction: column;
346
+ border: 1px solid #e8eef8;
347
+ border-radius: 10px;
348
+ padding: 14px 16px;
349
+ background: #ffffff;
350
+ box-shadow: 0 1px 6px rgba(15, 23, 42, 0.04);
351
+ box-sizing: border-box;
352
+ overflow: hidden;
353
+ }
354
+
355
+ /* Step card animations */
356
+
357
+ .steps-chat-step-card.slide-forward {
358
+ animation: step-slide-forward 300ms ease;
359
+ }
360
+
361
+ .steps-chat-step-card.slide-backward {
362
+ animation: step-slide-backward 300ms ease;
363
+ }
364
+
365
+ .steps-chat-step-card.slide-forward .steps-index-pill,
366
+ .steps-chat-step-card.slide-backward .steps-index-pill,
367
+ .steps-chat-step-card.slide-forward .steps-title,
368
+ .steps-chat-step-card.slide-backward .steps-title,
369
+ .steps-chat-step-card.slide-forward .steps-description,
370
+ .steps-chat-step-card.slide-backward .steps-description,
371
+ .steps-chat-step-card.slide-forward .steps-chat-step-component,
372
+ .steps-chat-step-card.slide-backward .steps-chat-step-component {
373
+ opacity: 0;
374
+ animation: step-text-reveal 460ms ease forwards;
375
+ }
376
+
377
+ .steps-chat-step-card.slide-forward .steps-index-pill,
378
+ .steps-chat-step-card.slide-backward .steps-index-pill {
379
+ animation-delay: 40ms;
380
+ }
381
+
382
+ .steps-chat-step-card.slide-forward .steps-title,
383
+ .steps-chat-step-card.slide-backward .steps-title {
384
+ animation-delay: 100ms;
385
+ }
386
+
387
+ .steps-chat-step-card.slide-forward .steps-description,
388
+ .steps-chat-step-card.slide-backward .steps-description {
389
+ animation-delay: 160ms;
390
+ }
391
+
392
+ .steps-chat-step-card.slide-forward .steps-chat-step-component,
393
+ .steps-chat-step-card.slide-backward .steps-chat-step-component {
394
+ animation-delay: 220ms;
395
+ }
396
+
397
+ @keyframes step-slide-forward {
398
+ from {
399
+ opacity: 0;
400
+ transform: translateX(24px);
146
401
  }
147
402
 
148
- &:hover::-webkit-scrollbar-thumb {
149
- background: rgba(0, 0, 0, 0.25);
403
+ to {
404
+ opacity: 1;
405
+ transform: translateX(0);
150
406
  }
407
+ }
151
408
 
152
- &::-webkit-scrollbar {
153
- width: 6px;
154
- height: 6px;
409
+ @keyframes step-slide-backward {
410
+ from {
411
+ opacity: 0;
412
+ transform: translateX(-24px);
155
413
  }
156
414
 
157
- &::-webkit-scrollbar-track {
158
- background: transparent;
415
+ to {
416
+ opacity: 1;
417
+ transform: translateX(0);
159
418
  }
419
+ }
160
420
 
161
- &::-webkit-scrollbar-thumb {
162
- background: rgba(0, 0, 0, 0.25);
163
- border-radius: 10px;
421
+ @keyframes step-text-reveal {
422
+ from {
423
+ opacity: 0;
424
+ transform: translateY(-8px);
164
425
  }
165
426
 
166
- &::-webkit-scrollbar-thumb:hover {
167
- background: rgba(0, 0, 0, 0.4);
427
+ to {
428
+ opacity: 1;
429
+ transform: translateY(0);
168
430
  }
169
- padding-right: 4px;
170
431
  }
171
432
 
172
- .timeline-step {
173
- display: flex;
174
- align-items: flex-start;
175
- cursor: pointer;
176
- border: 1px solid #e4eaf3;
177
- border-radius: 10px;
178
- background: #fff;
179
- padding: 10px 12px;
180
- transition:
181
- border-color 0.2s ease,
182
- box-shadow 0.2s ease,
183
- transform 0.2s ease;
433
+ .steps-chat-step-top {
434
+ flex: 0 0 auto;
435
+ padding-bottom: 10px;
436
+ border-bottom: 1px solid #f1f5fb;
184
437
  }
185
438
 
186
- .timeline-step:hover {
187
- border-color: #b7c8ea;
188
- box-shadow: 0 2px 8px rgba(24, 45, 84, 0.08);
189
- transform: translateY(-1px);
439
+ .steps-index-pill {
440
+ display: inline-flex;
441
+ align-items: center;
442
+ padding: 2px 8px;
443
+ border-radius: 999px;
444
+ background: #eaf2ff;
445
+ color: #1d4ed8;
446
+ font-size: 10px;
447
+ font-weight: 600;
448
+ margin-bottom: 6px;
190
449
  }
191
450
 
192
- .timeline-step.active .step-number {
193
- background: #1f6fe5;
194
- border-color: #1f6fe5;
195
- color: white;
451
+ .steps-title {
452
+ margin: 0;
453
+ font-size: 16px;
454
+ font-weight: 700;
455
+ color: #111827;
456
+ line-height: 1.3;
196
457
  }
197
458
 
198
- .timeline-step.completed .step-number {
199
- background: #2fa857;
200
- border-color: #2fa857;
201
- color: white;
459
+ .steps-description {
460
+ margin: 4px 0 0;
461
+ color: #4b5563;
462
+ line-height: 1.5;
463
+ font-size: 13px;
202
464
  }
203
465
 
204
- .timeline-step.active {
205
- border-color: #96b9f7;
206
- box-shadow: 0 0 0 1px rgba(31, 111, 229, 0.2);
466
+ .steps-chat-step-component {
467
+ margin-top: 10px;
468
+ display: flex;
469
+ flex: 1 1 auto;
470
+ flex-direction: column;
471
+ min-height: 0;
472
+ min-width: 0;
473
+ width: 100%;
474
+ max-width: 100%;
475
+ overflow-y: auto;
476
+ overflow-x: hidden;
477
+ scroll-behavior: smooth;
478
+ scrollbar-width: thin;
479
+ scrollbar-color: #c5d5ee #f4f8ff;
207
480
  }
208
481
 
209
- .timeline-step.completed {
210
- border-color: #cfead9;
482
+ .steps-chat-step-component::-webkit-scrollbar {
483
+ width: 6px;
211
484
  }
212
485
 
213
- .step-marker {
214
- display: flex;
215
- flex-direction: column;
216
- align-items: center;
217
- margin-right: 12px;
218
- min-width: 34px;
486
+ .steps-chat-step-component::-webkit-scrollbar-track {
487
+ background: #f4f8ff;
488
+ border-radius: 4px;
219
489
  }
220
490
 
221
- .step-number {
222
- width: 34px;
223
- height: 34px;
224
- border-radius: 50%;
225
- border: 2px solid #d4dde9;
226
- background: #fff;
227
- color: #5b6678;
228
- display: flex;
229
- align-items: center;
230
- justify-content: center;
231
- font-weight: 600;
491
+ .steps-chat-step-component::-webkit-scrollbar-thumb {
492
+ background: #c5d5ee;
493
+ border-radius: 4px;
232
494
  }
233
495
 
234
- .vertical-line {
235
- width: 2px;
236
- min-height: 14px;
237
- flex: 1;
238
- margin-top: 6px;
239
- background: #d5deea;
496
+ .steps-chat-step-component::-webkit-scrollbar-thumb:hover {
497
+ background: #93b4e0;
240
498
  }
241
499
 
242
- .timeline-step.completed .vertical-line {
243
- background: #2fa857;
500
+ .steps-chat-step-component > * {
501
+ flex: 0 0 auto;
502
+ min-width: 0;
503
+ width: 100%;
504
+ max-width: 100%;
505
+ box-sizing: border-box;
244
506
  }
245
507
 
246
- .step-info {
508
+ .steps-chat-loading {
509
+ min-height: 120px;
247
510
  display: flex;
248
- flex-direction: column;
511
+ align-items: center;
249
512
  justify-content: center;
250
- min-width: 0;
251
513
  }
252
514
 
253
- .step-title {
254
- font-size: 13px;
255
- font-weight: 500;
256
- line-height: 1.2;
257
- color: #6b7280;
258
- margin-bottom: 2px;
515
+ /* ── Narration bar (hidden by default via NARRATION_CONTROLS_ENABLED) ── */
516
+
517
+ .steps-narration-bar {
518
+ flex: 0 0 auto;
519
+ display: flex;
520
+ align-items: center;
521
+ flex-wrap: wrap;
522
+ gap: 8px;
523
+ padding: 8px 16px;
524
+ border-top: 1px solid #e8eef8;
525
+ background: #ffffff;
259
526
  }
260
527
 
261
- .step-main {
262
- font-size: 16px;
528
+ .steps-narration-bar .ant-btn {
529
+ min-height: 34px;
530
+ border-radius: 8px;
531
+ padding: 0 14px;
532
+ font-size: 13px;
263
533
  font-weight: 600;
264
- color: #1f2937;
265
- line-height: 1.2;
266
- margin-bottom: 2px;
534
+ touch-action: manipulation;
535
+ -webkit-tap-highlight-color: transparent;
267
536
  }
268
537
 
269
- .step-desc {
270
- font-size: 13px;
271
- color: #7a8495;
272
- line-height: 1.2;
273
- overflow: hidden;
274
- text-overflow: ellipsis;
275
- display: -webkit-box;
276
- -webkit-line-clamp: 2;
277
- -webkit-box-orient: vertical;
278
- }
279
-
280
- .toggle-arrow {
281
- position: absolute;
282
- top: 50%;
283
- right: -12px;
284
- transform: translateY(-50%);
285
- width: 30px;
286
- height: 30px;
287
- background: #fff;
288
- border: 1px solid #b8c9e4;
289
- border-radius: 50%;
290
- display: flex;
291
- align-items: center;
292
- justify-content: center;
293
- cursor: pointer;
294
- color: #1f3f74;
295
- box-shadow: 0 6px 14px rgba(15, 23, 42, 0.2);
296
- z-index: 40;
297
- transition:
298
- background-color 0.2s ease,
299
- border-color 0.2s ease,
300
- box-shadow 0.2s ease,
301
- transform 0.2s ease;
302
-
303
- &:hover {
304
- background: #f0f6ff;
305
- border-color: #90abd1;
306
- box-shadow: 0 8px 16px rgba(15, 23, 42, 0.24);
307
- }
538
+ .steps-voice-provider-select {
539
+ min-width: 140px !important;
540
+ }
308
541
 
309
- &:active {
310
- transform: translateY(-50%) scale(0.96);
311
- }
542
+ .steps-voice-select {
543
+ min-width: 180px !important;
312
544
  }
313
545
 
314
- .timeline-sidebar.collapsed {
315
- align-items: center;
546
+ /* ── Fullscreen ─────────────────────────────────────────── */
547
+
548
+ .steps-viewport:fullscreen,
549
+ .steps-viewport:-webkit-full-screen {
550
+ background: #f7fbff;
316
551
  }
317
552
 
318
- .timeline-sidebar.collapsed .timeline-step {
319
- padding: 6px 4px;
320
- border: none;
321
- background: transparent;
553
+ .steps-viewport:fullscreen .steps-main-card,
554
+ .steps-viewport:-webkit-full-screen .steps-main-card {
555
+ height: 100%;
556
+ border-radius: 0;
322
557
  box-shadow: none;
323
558
  }
324
559
 
325
- .timeline-sidebar.collapsed .step-marker {
326
- margin-right: 0;
560
+ .steps-viewport:fullscreen .steps-stage-body,
561
+ .steps-viewport:-webkit-full-screen .steps-stage-body {
562
+ padding: 6px;
327
563
  }
328
564
 
329
- /* ============================
330
- MOBILE & TABLET VIEW FIXES
331
- ============================ */
565
+ /* ── Small laptops (13" / 1366px and below) ─────────────── */
332
566
 
333
- @media (max-width: 992px) {
334
- // iPad & tablets
335
- .process-steps-page,
336
- .process-steps-row {
337
- min-height: auto;
338
- height: auto;
339
- overflow: visible;
567
+ @media (max-width: 1366px) {
568
+ .steps-top-bar {
569
+ padding: 6px 10px;
570
+ gap: 6px;
340
571
  }
341
572
 
342
- .process-steps-page.consultation-mode {
343
- padding: 8px;
573
+ .steps-nav-actions {
574
+ gap: 4px;
344
575
  }
345
576
 
346
- .process-steps-card,
347
- .process-steps-card .ant-card-body,
348
- .process-steps-content-col {
349
- overflow: visible;
577
+ .steps-nav-actions .ant-btn {
578
+ min-height: 32px;
579
+ padding: 0 10px;
580
+ font-size: 12px;
350
581
  }
351
582
 
352
- .process-steps-content-col {
353
- padding: 12px;
354
- border-radius: 12px;
355
- box-shadow: 0 6px 14px rgba(15, 23, 42, 0.06);
583
+ .steps-breadcrumb-item {
584
+ padding: 5px 10px;
585
+ font-size: 11px;
586
+ min-height: 30px;
356
587
  }
357
588
 
358
- .process-steps-timeline-col {
359
- position: static;
360
- top: auto;
361
- align-self: stretch;
362
- height: auto;
363
- max-height: none;
589
+ .steps-breadcrumb-index {
590
+ width: 18px;
591
+ height: 18px;
592
+ font-size: 10px;
364
593
  }
365
594
 
366
- .timeline-card .ant-card-body {
367
- padding: 12px;
368
- min-height: auto;
369
- overflow: visible;
595
+ .steps-stage-body {
596
+ padding: 8px 12px;
370
597
  }
371
598
 
372
- .timeline-sidebar {
373
- flex-direction: row !important;
374
- overflow-x: auto;
375
- overflow-y: visible;
376
- gap: 10px;
377
- padding-bottom: 10px;
378
- border-bottom: 1px solid #eee;
599
+ .steps-chat-step-card {
600
+ padding: 12px 14px;
379
601
  }
380
602
 
381
- .timeline-step {
382
- min-width: 190px;
603
+ .steps-title {
604
+ font-size: 15px;
383
605
  }
384
606
 
385
- .step-marker {
386
- margin-right: 10px;
607
+ .steps-description {
608
+ font-size: 12px;
387
609
  }
610
+ }
388
611
 
389
- .vertical-line {
390
- display: none;
612
+ /* ── Mobile ─────────────────────────────────────────────── */
613
+
614
+ @media (max-width: 768px) {
615
+ .steps-patient-bar {
616
+ padding: 8px 12px;
391
617
  }
392
618
 
393
- .toggle-arrow {
394
- display: none !important; /* Hide collapse icon */
619
+ .steps-patient-bar-sep {
620
+ margin: 0 10px;
395
621
  }
396
- }
397
622
 
398
- @media (max-width: 768px) {
399
- // mobile screens
400
- .timeline-sidebar {
401
- gap: 8px;
623
+ .steps-patient-field-label {
624
+ font-size: 9px;
625
+ }
626
+
627
+ .steps-patient-field-value {
628
+ font-size: 12px;
629
+ }
630
+
631
+ .steps-top-bar {
632
+ padding: 6px 12px;
633
+ gap: 6px;
402
634
  }
403
635
 
404
- .step-number {
405
- width: 24px;
406
- height: 24px;
636
+ .steps-nav-actions .ant-btn {
637
+ min-height: 36px;
638
+ padding: 0 10px;
407
639
  font-size: 12px;
408
640
  }
409
641
 
410
- .step-title {
642
+ .steps-breadcrumb-item {
643
+ padding: 5px 10px;
411
644
  font-size: 11px;
645
+ min-height: 30px;
412
646
  }
413
647
 
414
- .step-main {
415
- font-size: 14px;
648
+ .steps-stage-body {
649
+ padding: 12px;
416
650
  }
417
651
 
418
- .step-desc {
419
- font-size: 12px;
652
+ .steps-chat-step-card {
653
+ padding: 14px 16px;
654
+ border-radius: 10px;
420
655
  }
421
656
 
422
- /* Card layout full width */
423
- .timeline-card .ant-card-body {
424
- padding: 10px;
657
+ .steps-title {
658
+ font-size: 16px;
659
+ }
660
+
661
+ .steps-description {
662
+ font-size: 13px;
663
+ }
664
+
665
+ .steps-narration-bar {
666
+ padding: 8px 12px;
667
+ }
668
+ }
669
+
670
+ /* ── Reduced motion ─────────────────────────────────────── */
671
+
672
+ @media (prefers-reduced-motion: reduce) {
673
+ .steps-chat-step-card.slide-forward,
674
+ .steps-chat-step-card.slide-backward,
675
+ .steps-chat-step-card.slide-forward .steps-index-pill,
676
+ .steps-chat-step-card.slide-backward .steps-index-pill,
677
+ .steps-chat-step-card.slide-forward .steps-title,
678
+ .steps-chat-step-card.slide-backward .steps-title,
679
+ .steps-chat-step-card.slide-forward .steps-description,
680
+ .steps-chat-step-card.slide-backward .steps-description,
681
+ .steps-chat-step-card.slide-forward .steps-chat-step-component,
682
+ .steps-chat-step-card.slide-backward .steps-chat-step-component {
683
+ animation: none !important;
684
+ opacity: 1 !important;
685
+ transform: none !important;
425
686
  }
426
687
  }