@arquimedes.co/eureka-forms 3.0.52-test → 3.0.53-new-steps

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 (102) hide show
  1. package/dist/@Types/AvailabilityFormStep.d.ts +48 -0
  2. package/dist/@Types/AvailabilityFormStep.js +24 -0
  3. package/dist/@Types/BankAccountFormStep.d.ts +67 -0
  4. package/dist/@Types/BankAccountFormStep.js +14 -0
  5. package/dist/@Types/BookingFormStep.d.ts +166 -0
  6. package/dist/@Types/BookingFormStep.js +44 -0
  7. package/dist/@Types/CalendarFormStep.d.ts +192 -0
  8. package/dist/@Types/CalendarFormStep.js +48 -0
  9. package/dist/@Types/CommunicationChannelFormStep.d.ts +51 -0
  10. package/dist/@Types/CommunicationChannelFormStep.js +15 -0
  11. package/dist/@Types/ConsentFormStep.d.ts +36 -0
  12. package/dist/@Types/ConsentFormStep.js +8 -0
  13. package/dist/@Types/EntityFormFormStep.d.ts +66 -0
  14. package/dist/@Types/EntityFormFormStep.js +20 -0
  15. package/dist/@Types/EventFormStep.d.ts +52 -0
  16. package/dist/@Types/EventFormStep.js +13 -0
  17. package/dist/@Types/ExternalReferenceFormStep.d.ts +74 -0
  18. package/dist/@Types/ExternalReferenceFormStep.js +20 -0
  19. package/dist/@Types/FormStep.d.ts +7 -2
  20. package/dist/@Types/FormStep.js +2 -1
  21. package/dist/@Types/LocationFormStep.d.ts +159 -0
  22. package/dist/@Types/LocationFormStep.js +46 -0
  23. package/dist/@Types/NumericFormSteps.d.ts +108 -0
  24. package/dist/@Types/NumericFormSteps.js +20 -0
  25. package/dist/@Types/PredefinedSelectorFormStep.d.ts +51 -0
  26. package/dist/@Types/PredefinedSelectorFormStep.js +39 -0
  27. package/dist/@Types/StepRef.d.ts +135 -0
  28. package/dist/@Types/StepRef.js +49 -0
  29. package/dist/FormSteps/BookingStep/BookingStep.d.ts +17 -0
  30. package/dist/FormSteps/BookingStep/BookingStep.js +14 -0
  31. package/dist/FormSteps/BookingStep/MaterialBookingStep/MaterialBookingStep.d.ts +7 -0
  32. package/dist/FormSteps/BookingStep/MaterialBookingStep/MaterialBookingStep.js +32 -0
  33. package/dist/FormSteps/CalendarStep/CalendarStep.d.ts +7 -0
  34. package/dist/FormSteps/CalendarStep/CalendarStep.js +14 -0
  35. package/dist/FormSteps/CalendarStep/MaterialCalendarStep/MaterialCalendarStep.d.ts +7 -0
  36. package/dist/FormSteps/CalendarStep/MaterialCalendarStep/MaterialCalendarStep.js +31 -0
  37. package/dist/FormSteps/LocationStep/LocationStep.d.ts +10 -0
  38. package/dist/FormSteps/LocationStep/LocationStep.js +14 -0
  39. package/dist/FormSteps/LocationStep/MaterialLocationStep/MaterialLocationStep.d.ts +3 -0
  40. package/dist/FormSteps/LocationStep/MaterialLocationStep/MaterialLocationStep.js +47 -0
  41. package/dist/FormSteps/LocationStep/MaterialLocationStep/MaterialLocationStep.module.css +18 -0
  42. package/dist/FormSteps/NumberStep/MaterialNumberStep/MaterialNumberStep.d.ts +3 -0
  43. package/dist/FormSteps/NumberStep/MaterialNumberStep/MaterialNumberStep.js +168 -0
  44. package/dist/FormSteps/NumberStep/MaterialNumberStep/MaterialNumberStep.module.css +94 -0
  45. package/dist/FormSteps/NumberStep/NumberStep.d.ts +10 -0
  46. package/dist/FormSteps/NumberStep/NumberStep.js +14 -0
  47. package/dist/FormSteps/Step.js +16 -0
  48. package/dist/FormSteps/StepFunctions.js +14 -0
  49. package/dist/FormSteps/StepFunctions.test.js +54 -0
  50. package/dist/Icons/AddIcon.d.ts +3 -0
  51. package/dist/Icons/AddIcon.js +7 -0
  52. package/dist/Icons/EditIcon.d.ts +3 -0
  53. package/dist/Icons/EditIcon.js +7 -0
  54. package/dist/Icons/RemoveIcon.d.ts +3 -0
  55. package/dist/Icons/RemoveIcon.js +7 -0
  56. package/dist/Icons/ViewDayIcon.d.ts +3 -0
  57. package/dist/Icons/ViewDayIcon.js +7 -0
  58. package/dist/Icons/ViewWeekIcon.d.ts +3 -0
  59. package/dist/Icons/ViewWeekIcon.js +7 -0
  60. package/dist/Shared/ErkAddressAutocomplete/ErkAddressAutocomplete.d.ts +19 -0
  61. package/dist/Shared/ErkAddressAutocomplete/ErkAddressAutocomplete.js +80 -0
  62. package/dist/Shared/ErkAddressAutocomplete/ErkAddressAutocomplete.module.css +82 -0
  63. package/dist/Shared/ErkAddressAutocomplete/googlePlaces.d.ts +29 -0
  64. package/dist/Shared/ErkAddressAutocomplete/googlePlaces.js +139 -0
  65. package/dist/Shared/ErkBookingPicker/ErkBookingPicker.d.ts +31 -0
  66. package/dist/Shared/ErkBookingPicker/ErkBookingPicker.js +223 -0
  67. package/dist/Shared/ErkBookingPicker/ErkBookingPicker.module.css +608 -0
  68. package/dist/Shared/ErkBookingPicker/ErkBookingPicker.stories.d.ts +28 -0
  69. package/dist/Shared/ErkBookingPicker/ErkBookingPicker.stories.js +117 -0
  70. package/dist/Shared/ErkBookingPicker/ErkBookingPicker.stories.test.d.ts +1 -0
  71. package/dist/Shared/ErkBookingPicker/ErkBookingPicker.stories.test.js +49 -0
  72. package/dist/Shared/ErkBookingPicker/ErkBookingPicker.test.d.ts +1 -0
  73. package/dist/Shared/ErkBookingPicker/ErkBookingPicker.test.js +107 -0
  74. package/dist/Shared/ErkCalendar/CalendarFunctions.d.ts +28 -0
  75. package/dist/Shared/ErkCalendar/CalendarFunctions.js +121 -0
  76. package/dist/Shared/ErkCalendar/CalendarPopovers.d.ts +45 -0
  77. package/dist/Shared/ErkCalendar/CalendarPopovers.js +110 -0
  78. package/dist/Shared/ErkCalendar/ErkCalendar.d.ts +73 -0
  79. package/dist/Shared/ErkCalendar/ErkCalendar.js +293 -0
  80. package/dist/Shared/ErkCalendar/ErkCalendar.module.css +775 -0
  81. package/dist/Shared/ErkCalendar/ErkCalendar.test.d.ts +1 -0
  82. package/dist/Shared/ErkCalendar/ErkCalendar.test.js +171 -0
  83. package/dist/Shared/ErkDatePicker/ErkDatePicker.js +1 -3
  84. package/dist/Shared/ErkDateRangePicker/ErkDateRangePicker.d.ts +2 -3
  85. package/dist/Shared/ErkDateRangePicker/ErkDateRangePicker.js +1 -2
  86. package/dist/Shared/ErkLocationField/ErkLocationField.d.ts +23 -0
  87. package/dist/Shared/ErkLocationField/ErkLocationField.js +73 -0
  88. package/dist/Shared/ErkLocationField/ErkLocationField.module.css +29 -0
  89. package/dist/Shared/ErkLocationField/addressFields.d.ts +12 -0
  90. package/dist/Shared/ErkLocationField/addressFields.js +34 -0
  91. package/dist/Shared/ErkLocationField/locationRestrictions.d.ts +6 -0
  92. package/dist/Shared/ErkLocationField/locationRestrictions.js +51 -0
  93. package/dist/Shared/ErkLocationInput/ErkLocationInput.d.ts +15 -0
  94. package/dist/Shared/ErkLocationInput/ErkLocationInput.js +502 -0
  95. package/dist/Shared/ErkLocationInput/ErkLocationInput.module.css +115 -0
  96. package/dist/Shared/ErkNumberField/ErkNumberField.d.ts +42 -0
  97. package/dist/Shared/ErkNumberField/ErkNumberField.js +170 -0
  98. package/dist/constants/FormStepTypes.d.ts +5 -1
  99. package/dist/constants/FormStepTypes.js +4 -0
  100. package/dist/index.lib.d.ts +4 -2
  101. package/dist/index.lib.js +3 -1
  102. package/package.json +2 -1
@@ -0,0 +1,775 @@
1
+ .container {
2
+ max-width: 100%;
3
+ box-sizing: border-box;
4
+ display: flex;
5
+ flex-direction: column;
6
+ gap: 12px;
7
+ }
8
+
9
+ /* ---------- App shell: sidebar + main ---------- */
10
+ .app {
11
+ display: grid;
12
+ grid-template-columns: 258px 1fr;
13
+ background: var(--eureka-bg, #fff);
14
+ border: 1px solid var(--eureka-outline, #d9dee6);
15
+ border-radius: 16px;
16
+ overflow: hidden;
17
+ box-shadow: 0 12px 34px rgba(43, 65, 93, 0.08);
18
+ }
19
+ .side {
20
+ border-right: 1px solid var(--eureka-outline, #eceff3);
21
+ padding: 18px 16px;
22
+ display: flex;
23
+ flex-direction: column;
24
+ gap: 20px;
25
+ min-width: 0;
26
+ }
27
+ .main {
28
+ padding: 16px 18px 22px;
29
+ min-width: 0;
30
+ display: flex;
31
+ flex-direction: column;
32
+ gap: 14px;
33
+ }
34
+
35
+ /* Mini calendario del sidebar */
36
+ .miniHead {
37
+ display: flex;
38
+ align-items: center;
39
+ justify-content: space-between;
40
+ margin-bottom: 8px;
41
+ }
42
+ .miniTitle {
43
+ font-size: 13.5px;
44
+ font-weight: 700;
45
+ color: var(--eureka-text, #293241);
46
+ }
47
+ .miniNav {
48
+ display: flex;
49
+ gap: 2px;
50
+ }
51
+ .miniNav button {
52
+ border: none;
53
+ background: none;
54
+ color: #787878;
55
+ cursor: pointer;
56
+ font-size: 15px;
57
+ padding: 2px 6px;
58
+ border-radius: 6px;
59
+ font-family: inherit;
60
+ }
61
+ .miniNav button:hover {
62
+ background: color-mix(in srgb, var(--eureka-primary, #3d5a7f) 7%, #fff);
63
+ }
64
+ .miniGrid {
65
+ display: grid;
66
+ grid-template-columns: repeat(7, 1fr);
67
+ gap: 1px;
68
+ font-variant-numeric: tabular-nums;
69
+ }
70
+ .miniDow {
71
+ text-align: center;
72
+ color: #787878;
73
+ font-weight: 700;
74
+ font-size: 10px;
75
+ padding: 4px 0;
76
+ }
77
+ .miniDay {
78
+ text-align: center;
79
+ font-size: 11.5px;
80
+ padding: 5px 0;
81
+ color: var(--eureka-text, #293241);
82
+ border-radius: 50%;
83
+ border: none;
84
+ background: none;
85
+ cursor: pointer;
86
+ font-family: inherit;
87
+ }
88
+ .miniDay:hover {
89
+ background: color-mix(in srgb, var(--eureka-primary, #3d5a7f) 7%, #fff);
90
+ }
91
+ .miniDayMut {
92
+ color: #c3c9d2;
93
+ }
94
+ .miniDayToday {
95
+ background: var(--eureka-primary, #3d5a7f);
96
+ color: #fff;
97
+ font-weight: 700;
98
+ }
99
+ .miniDaySel {
100
+ background: color-mix(in srgb, var(--eureka-primary, #3d5a7f) 10%, #fff);
101
+ color: var(--eureka-primary, #3d5a7f);
102
+ font-weight: 700;
103
+ }
104
+
105
+ /* Listas del sidebar (disponibilidad / eventos) con toggle de visibilidad */
106
+ .sideList {
107
+ display: flex;
108
+ flex-direction: column;
109
+ gap: 2px;
110
+ }
111
+ .sideLbl {
112
+ font-size: 11px;
113
+ letter-spacing: 0.06em;
114
+ text-transform: uppercase;
115
+ color: #787878;
116
+ font-weight: 700;
117
+ margin-bottom: 6px;
118
+ }
119
+ .sideItem {
120
+ display: flex;
121
+ align-items: center;
122
+ gap: 9px;
123
+ padding: 6px;
124
+ border-radius: 8px;
125
+ font-size: 13px;
126
+ cursor: pointer;
127
+ border: none;
128
+ background: none;
129
+ font-family: inherit;
130
+ color: var(--eureka-text, #293241);
131
+ text-align: left;
132
+ }
133
+ .sideItem:hover {
134
+ background: color-mix(in srgb, var(--eureka-primary, #3d5a7f) 5%, #fff);
135
+ }
136
+ .sideItemOff {
137
+ opacity: 0.4;
138
+ }
139
+
140
+ /* ---------- Toolbar ---------- */
141
+ .toolbar {
142
+ display: flex;
143
+ align-items: center;
144
+ gap: 12px;
145
+ flex-wrap: wrap;
146
+ }
147
+ .navBtns {
148
+ display: flex;
149
+ gap: 2px;
150
+ }
151
+ .navBtns button {
152
+ border: 1px solid var(--eureka-outline, #d9dee6);
153
+ background: var(--eureka-bg, #fff);
154
+ width: 32px;
155
+ height: 32px;
156
+ border-radius: 8px;
157
+ cursor: pointer;
158
+ color: var(--eureka-primary, #3d5a7f);
159
+ display: grid;
160
+ place-items: center;
161
+ }
162
+ .navBtns button:hover {
163
+ border-color: var(--eureka-primary, #3d5a7f);
164
+ }
165
+ .range {
166
+ font-size: 17px;
167
+ font-weight: 700;
168
+ letter-spacing: -0.01em;
169
+ color: var(--eureka-text, #293241);
170
+ }
171
+ .spacer {
172
+ flex: 1;
173
+ }
174
+ .views {
175
+ display: inline-flex;
176
+ background: color-mix(in srgb, var(--eureka-primary, #3d5a7f) 7%, #fff);
177
+ border-radius: 10px;
178
+ padding: 3px;
179
+ }
180
+ .views button {
181
+ border: none;
182
+ background: none;
183
+ padding: 6px 14px;
184
+ border-radius: 8px;
185
+ font-size: 13px;
186
+ font-weight: 600;
187
+ color: #787878;
188
+ cursor: pointer;
189
+ font-family: inherit;
190
+ }
191
+ .views button.viewOn {
192
+ background: #fff;
193
+ color: var(--eureka-primary, #3d5a7f);
194
+ box-shadow: 0 1px 3px rgba(43, 65, 93, 0.14);
195
+ }
196
+
197
+ /* ---------- Time grid (day / week) ---------- */
198
+ .cal {
199
+ border: 1px solid var(--eureka-outline, #d9dee6);
200
+ border-radius: 12px;
201
+ overflow: hidden;
202
+ background: var(--eureka-bg, #fff);
203
+ }
204
+ .calHead {
205
+ display: grid;
206
+ border-bottom: 1px solid var(--eureka-outline, #eceff3);
207
+ background: color-mix(in srgb, var(--eureka-primary, #3d5a7f) 2%, #fff);
208
+ }
209
+ .gutter {
210
+ border-right: 1px solid var(--eureka-outline, #eceff3);
211
+ }
212
+ .dayHead {
213
+ text-align: center;
214
+ padding: 8px 0 9px;
215
+ border: none;
216
+ border-right: 1px solid var(--eureka-outline, #eceff3);
217
+ background: none;
218
+ cursor: pointer;
219
+ font-family: inherit;
220
+ display: flex;
221
+ flex-direction: column;
222
+ align-items: center;
223
+ gap: 2px;
224
+ }
225
+ .dayHead:last-child {
226
+ border-right: none;
227
+ }
228
+ .dayHeadDow {
229
+ font-size: 11px;
230
+ letter-spacing: 0.05em;
231
+ text-transform: uppercase;
232
+ color: #787878;
233
+ font-weight: 700;
234
+ }
235
+ .dayHeadNum {
236
+ font-size: 18px;
237
+ font-weight: 800;
238
+ color: var(--eureka-text, #293241);
239
+ font-variant-numeric: tabular-nums;
240
+ width: 30px;
241
+ height: 30px;
242
+ line-height: 30px;
243
+ border-radius: 50%;
244
+ }
245
+ .dayHeadToday {
246
+ background: var(--eureka-primary, #3d5a7f);
247
+ color: #fff;
248
+ }
249
+
250
+ .grid {
251
+ display: grid;
252
+ max-height: 520px;
253
+ overflow-y: auto;
254
+ }
255
+ .timeCol {
256
+ border-right: 1px solid var(--eureka-outline, #eceff3);
257
+ }
258
+ .hourLabel {
259
+ text-align: right;
260
+ padding-right: 8px;
261
+ font-size: 11px;
262
+ color: #787878;
263
+ font-variant-numeric: tabular-nums;
264
+ position: relative;
265
+ top: -7px;
266
+ }
267
+ .dayCol {
268
+ border-right: 1px solid var(--eureka-outline, #eceff3);
269
+ position: relative;
270
+ cursor: pointer;
271
+ }
272
+ .dayCol:last-child {
273
+ border-right: none;
274
+ }
275
+ .hourCell {
276
+ border-bottom: 1px solid var(--eureka-outline, #eceff3);
277
+ }
278
+ .dayCol:hover .hourCell {
279
+ background: color-mix(in srgb, var(--eureka-primary, #3d5a7f) 2%, #fff);
280
+ }
281
+
282
+ /* Ventana de disponibilidad: franja rayada de fondo, se puede agendar encima */
283
+ .avail {
284
+ position: absolute;
285
+ left: 0;
286
+ right: 0;
287
+ border-left: 3px solid;
288
+ z-index: 1;
289
+ cursor: pointer;
290
+ }
291
+ .availTag {
292
+ position: absolute;
293
+ top: 3px;
294
+ left: 8px;
295
+ font-size: 10px;
296
+ font-weight: 700;
297
+ letter-spacing: 0.03em;
298
+ text-transform: uppercase;
299
+ }
300
+
301
+ /* Disponibilidad por defecto (días hábiles): más tenue que una ventana explícita */
302
+ .availFallback {
303
+ border-left: 3px dashed #98a2b3;
304
+ background-image: repeating-linear-gradient(
305
+ -45deg,
306
+ rgba(152, 162, 179, 0.1),
307
+ rgba(152, 162, 179, 0.1) 6px,
308
+ rgba(152, 162, 179, 0.04) 6px,
309
+ rgba(152, 162, 179, 0.04) 12px
310
+ );
311
+ pointer-events: none;
312
+ }
313
+ .availFallback .availTag {
314
+ color: #98a2b3;
315
+ }
316
+
317
+ /* Fila de eventos de todo el día */
318
+ .allDayRow {
319
+ display: grid;
320
+ border-bottom: 1px solid var(--eureka-outline, #eceff3);
321
+ background: color-mix(in srgb, var(--eureka-primary, #3d5a7f) 2%, #fff);
322
+ }
323
+ .allDayLbl {
324
+ font-size: 10px;
325
+ color: #787878;
326
+ font-weight: 700;
327
+ text-transform: uppercase;
328
+ letter-spacing: 0.04em;
329
+ text-align: right;
330
+ padding: 6px 8px 6px 0;
331
+ border-right: 1px solid var(--eureka-outline, #eceff3);
332
+ }
333
+ .allDayCell {
334
+ display: flex;
335
+ flex-direction: column;
336
+ gap: 3px;
337
+ padding: 4px 5px;
338
+ border-right: 1px solid var(--eureka-outline, #eceff3);
339
+ min-width: 0;
340
+ }
341
+ .allDayCell:last-child {
342
+ border-right: none;
343
+ }
344
+ .allDayChip {
345
+ border: none;
346
+ border-radius: 6px;
347
+ padding: 2px 8px;
348
+ font-size: 11px;
349
+ font-weight: 700;
350
+ color: #fff;
351
+ cursor: pointer;
352
+ font-family: inherit;
353
+ text-align: left;
354
+ white-space: nowrap;
355
+ overflow: hidden;
356
+ text-overflow: ellipsis;
357
+ }
358
+
359
+ /* Evento sólido */
360
+ .event {
361
+ position: absolute;
362
+ left: 5px;
363
+ right: 5px;
364
+ border-radius: 8px;
365
+ padding: 5px 8px;
366
+ overflow: hidden;
367
+ z-index: 2;
368
+ font-size: 12px;
369
+ color: #fff;
370
+ cursor: pointer;
371
+ border-left: 3px solid rgba(255, 255, 255, 0.5);
372
+ display: flex;
373
+ flex-direction: column;
374
+ }
375
+ .eventTitle {
376
+ font-weight: 700;
377
+ line-height: 1.15;
378
+ white-space: nowrap;
379
+ overflow: hidden;
380
+ text-overflow: ellipsis;
381
+ }
382
+ .eventTime {
383
+ font-size: 11px;
384
+ opacity: 0.9;
385
+ font-variant-numeric: tabular-nums;
386
+ }
387
+ .eventBusy {
388
+ background: repeating-linear-gradient(45deg, #eef0f3, #eef0f3 7px, #e4e7ec 7px, #e4e7ec 14px);
389
+ color: #787878;
390
+ border-left-color: #98a2b3;
391
+ }
392
+
393
+ /* ---------- Month view ---------- */
394
+ .monthGrid {
395
+ display: grid;
396
+ grid-template-columns: repeat(7, 1fr);
397
+ border: 1px solid var(--eureka-outline, #d9dee6);
398
+ border-radius: 12px;
399
+ overflow: hidden;
400
+ background: var(--eureka-bg, #fff);
401
+ }
402
+ .monthDow {
403
+ text-align: center;
404
+ font-size: 11px;
405
+ font-weight: 700;
406
+ text-transform: uppercase;
407
+ letter-spacing: 0.05em;
408
+ color: #787878;
409
+ padding: 8px 0;
410
+ border-bottom: 1px solid var(--eureka-outline, #eceff3);
411
+ background: color-mix(in srgb, var(--eureka-primary, #3d5a7f) 2%, #fff);
412
+ }
413
+ .monthCell {
414
+ min-height: 86px;
415
+ border: none;
416
+ border-bottom: 1px solid var(--eureka-outline, #eceff3);
417
+ border-right: 1px solid var(--eureka-outline, #eceff3);
418
+ background: none;
419
+ cursor: pointer;
420
+ font-family: inherit;
421
+ text-align: left;
422
+ padding: 6px;
423
+ display: flex;
424
+ flex-direction: column;
425
+ align-items: flex-start;
426
+ gap: 3px;
427
+ min-width: 0;
428
+ }
429
+ .monthCell:nth-child(7n) {
430
+ border-right: none;
431
+ }
432
+ .monthCell:hover {
433
+ background: color-mix(in srgb, var(--eureka-primary, #3d5a7f) 3%, #fff);
434
+ }
435
+ .monthCellOut {
436
+ background: #fbfcfd;
437
+ }
438
+ .monthCellOut .monthNum {
439
+ color: #c3c9d2;
440
+ }
441
+ .monthNum {
442
+ font-size: 12.5px;
443
+ font-weight: 700;
444
+ color: var(--eureka-text, #293241);
445
+ font-variant-numeric: tabular-nums;
446
+ width: 24px;
447
+ height: 24px;
448
+ line-height: 24px;
449
+ text-align: center;
450
+ border-radius: 50%;
451
+ }
452
+ .monthEvent {
453
+ font-size: 10.5px;
454
+ font-weight: 600;
455
+ color: #fff;
456
+ border-radius: 5px;
457
+ padding: 1px 6px;
458
+ max-width: 100%;
459
+ white-space: nowrap;
460
+ overflow: hidden;
461
+ text-overflow: ellipsis;
462
+ }
463
+ .monthMore {
464
+ font-size: 10.5px;
465
+ color: #787878;
466
+ font-weight: 600;
467
+ }
468
+
469
+ /* ---------- Agenda view ---------- */
470
+ .agenda {
471
+ border: 1px solid var(--eureka-outline, #d9dee6);
472
+ border-radius: 12px;
473
+ background: var(--eureka-bg, #fff);
474
+ padding: 8px 0;
475
+ max-height: 520px;
476
+ overflow-y: auto;
477
+ }
478
+ .agendaDay {
479
+ padding: 8px 16px;
480
+ }
481
+ .agendaDayLabel {
482
+ font-size: 12px;
483
+ font-weight: 700;
484
+ text-transform: uppercase;
485
+ letter-spacing: 0.05em;
486
+ color: var(--eureka-primary, #3d5a7f);
487
+ margin-bottom: 4px;
488
+ }
489
+ .agendaRow {
490
+ display: flex;
491
+ align-items: center;
492
+ gap: 10px;
493
+ width: 100%;
494
+ border: none;
495
+ background: none;
496
+ padding: 7px 8px;
497
+ border-radius: 8px;
498
+ cursor: pointer;
499
+ font-family: inherit;
500
+ text-align: left;
501
+ }
502
+ .agendaRow:hover {
503
+ background: color-mix(in srgb, var(--eureka-primary, #3d5a7f) 4%, #fff);
504
+ }
505
+ .agendaTitle {
506
+ flex: 1;
507
+ font-size: 13.5px;
508
+ font-weight: 600;
509
+ color: var(--eureka-text, #293241);
510
+ min-width: 0;
511
+ overflow: hidden;
512
+ text-overflow: ellipsis;
513
+ white-space: nowrap;
514
+ }
515
+ .agendaTime {
516
+ font-size: 12.5px;
517
+ color: #787878;
518
+ font-variant-numeric: tabular-nums;
519
+ }
520
+ .agendaEmpty {
521
+ border: 1px solid var(--eureka-outline, #d9dee6);
522
+ border-radius: 12px;
523
+ background: var(--eureka-bg, #fff);
524
+ padding: 32px;
525
+ text-align: center;
526
+ font-size: 13.5px;
527
+ color: #787878;
528
+ }
529
+
530
+ .catDot {
531
+ width: 11px;
532
+ height: 11px;
533
+ border-radius: 4px;
534
+ flex: none;
535
+ display: inline-block;
536
+ }
537
+
538
+ /* ---------- Popovers ---------- */
539
+ .pop {
540
+ width: 320px;
541
+ border: 1px solid var(--eureka-outline, #d9dee6);
542
+ border-radius: 14px;
543
+ box-shadow: 0 18px 44px rgba(43, 65, 93, 0.22);
544
+ overflow: hidden;
545
+ }
546
+ .popHead {
547
+ padding: 13px 15px;
548
+ display: flex;
549
+ align-items: center;
550
+ gap: 9px;
551
+ border-bottom: 1px solid var(--eureka-outline, #eceff3);
552
+ }
553
+ .popBar {
554
+ width: 5px;
555
+ height: 34px;
556
+ border-radius: 4px;
557
+ flex: none;
558
+ }
559
+ .popTitle {
560
+ margin: 0;
561
+ font-size: 15px;
562
+ font-weight: 800;
563
+ color: var(--eureka-text, #293241);
564
+ }
565
+ .popWhen {
566
+ font-size: 12px;
567
+ color: #787878;
568
+ font-variant-numeric: tabular-nums;
569
+ }
570
+ .popBody {
571
+ padding: 13px 15px;
572
+ display: flex;
573
+ flex-direction: column;
574
+ gap: 12px;
575
+ }
576
+ .popHint {
577
+ margin: 0;
578
+ font-size: 12px;
579
+ color: #787878;
580
+ line-height: 1.45;
581
+ }
582
+
583
+ /* Tabs Disponibilidad / Evento del popover de creación */
584
+ .tabs {
585
+ display: flex;
586
+ gap: 4px;
587
+ padding: 8px 15px 0;
588
+ }
589
+ .tab {
590
+ border: none;
591
+ background: none;
592
+ padding: 6px 12px;
593
+ border-radius: 8px;
594
+ font-size: 12.5px;
595
+ font-weight: 600;
596
+ color: #787878;
597
+ cursor: pointer;
598
+ font-family: inherit;
599
+ }
600
+ .tabOn {
601
+ background: color-mix(in srgb, var(--eureka-primary, #3d5a7f) 9%, #fff);
602
+ color: var(--eureka-primary, #3d5a7f);
603
+ }
604
+ .checkRow {
605
+ display: flex;
606
+ align-items: center;
607
+ gap: 8px;
608
+ font-size: 13px;
609
+ color: var(--eureka-text, #293241);
610
+ cursor: pointer;
611
+ }
612
+ .popActions {
613
+ display: flex;
614
+ flex-wrap: wrap;
615
+ gap: 8px;
616
+ padding: 12px 15px;
617
+ border-top: 1px solid var(--eureka-outline, #eceff3);
618
+ background: color-mix(in srgb, var(--eureka-primary, #3d5a7f) 2%, #fff);
619
+ }
620
+
621
+ .field {
622
+ display: flex;
623
+ flex-direction: column;
624
+ gap: 4px;
625
+ min-width: 0;
626
+ }
627
+ .fieldLabel {
628
+ font-size: 11px;
629
+ font-weight: 700;
630
+ color: #787878;
631
+ text-transform: uppercase;
632
+ letter-spacing: 0.04em;
633
+ }
634
+ .catRow {
635
+ display: flex;
636
+ gap: 6px;
637
+ flex-wrap: wrap;
638
+ }
639
+ .catChip {
640
+ display: inline-flex;
641
+ align-items: center;
642
+ gap: 6px;
643
+ border: 1px solid var(--eureka-outline, #d9dee6);
644
+ border-radius: 20px;
645
+ padding: 4px 10px;
646
+ font-size: 12px;
647
+ cursor: pointer;
648
+ background: none;
649
+ font-family: inherit;
650
+ color: var(--eureka-text, #293241);
651
+ }
652
+ .catChipOn {
653
+ border-color: var(--eureka-primary, #3d5a7f);
654
+ background: color-mix(in srgb, var(--eureka-primary, #3d5a7f) 8%, #fff);
655
+ font-weight: 700;
656
+ }
657
+ .timeRow {
658
+ display: flex;
659
+ align-items: flex-end;
660
+ gap: 8px;
661
+ }
662
+ .timeRow .field {
663
+ flex: 1;
664
+ }
665
+ .timeDash {
666
+ color: #787878;
667
+ padding-bottom: 9px;
668
+ }
669
+ .timeInput,
670
+ .selectInput {
671
+ border: 1px solid var(--eureka-outline, #d9dee6);
672
+ border-radius: 9px;
673
+ padding: 8px 10px;
674
+ font-size: 13px;
675
+ font-family: inherit;
676
+ color: var(--eureka-text, #293241);
677
+ background: #fff;
678
+ width: 100%;
679
+ }
680
+ .timeInput:focus,
681
+ .selectInput:focus {
682
+ outline: none;
683
+ border-color: var(--eureka-primary, #3d5a7f);
684
+ box-shadow: 0 0 0 3px color-mix(in srgb, var(--eureka-primary, #3d5a7f) 14%, transparent);
685
+ }
686
+ .detailChip {
687
+ align-self: flex-start;
688
+ font-size: 11px;
689
+ font-weight: 700;
690
+ padding: 2px 9px;
691
+ border-radius: 20px;
692
+ background: color-mix(in srgb, currentcolor 10%, #fff);
693
+ }
694
+ .detailNotes {
695
+ margin: 0;
696
+ font-size: 13px;
697
+ color: var(--eureka-text, #293241);
698
+ line-height: 1.5;
699
+ }
700
+
701
+ .err {
702
+ font-size: 12px;
703
+ color: #d0473f;
704
+ }
705
+
706
+ /* ---------- Responsive ---------- */
707
+ @media (max-width: 880px) {
708
+ .app {
709
+ grid-template-columns: 1fr;
710
+ }
711
+ /* Sidebar compacto: botón + listas como chips horizontales, sin mini-calendario
712
+ (el calendario principal ya cubre la navegación de fechas) */
713
+ .side {
714
+ border-right: none;
715
+ border-bottom: 1px solid var(--eureka-outline, #eceff3);
716
+ flex-direction: row;
717
+ flex-wrap: wrap;
718
+ align-items: flex-start;
719
+ gap: 14px;
720
+ padding: 14px 16px;
721
+ }
722
+ .miniWrap {
723
+ display: none;
724
+ }
725
+ .sideList {
726
+ flex-direction: row;
727
+ flex-wrap: wrap;
728
+ align-items: center;
729
+ gap: 5px;
730
+ }
731
+ .sideLbl {
732
+ flex-basis: 100%;
733
+ margin-bottom: 2px;
734
+ }
735
+ .sideItem {
736
+ padding: 4px 10px;
737
+ border: 1px solid var(--eureka-outline, #d9dee6);
738
+ border-radius: 16px;
739
+ font-size: 12px;
740
+ }
741
+ }
742
+ @media (max-width: 720px) {
743
+ .cal {
744
+ overflow-x: auto;
745
+ }
746
+ /* La semana necesita ancho real: scroll horizontal con columnas usables */
747
+ .calHead,
748
+ .grid {
749
+ min-width: 640px;
750
+ }
751
+ .range {
752
+ font-size: 15px;
753
+ }
754
+ .toolbar {
755
+ row-gap: 10px;
756
+ }
757
+ .main {
758
+ padding: 12px 12px 16px;
759
+ }
760
+ /* Mes: celdas más altas y eventos como puntos de color (no se ocultan) */
761
+ .monthCell {
762
+ min-height: 68px;
763
+ padding: 5px;
764
+ }
765
+ .monthEvent {
766
+ width: 9px;
767
+ height: 9px;
768
+ padding: 0;
769
+ border-radius: 50%;
770
+ font-size: 0;
771
+ }
772
+ .monthMore {
773
+ font-size: 10px;
774
+ }
775
+ }