medos-sdk 1.1.10 → 1.1.12

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 (265) hide show
  1. package/dist/client/MedosClient.d.ts +1 -0
  2. package/dist/client/MedosClient.js +8 -1
  3. package/dist/components/AppointmentCalender.js +19 -22
  4. package/dist/components/AppointmentConfirmationStep.d.ts +1 -0
  5. package/dist/components/AppointmentConfirmationStep.js +34 -42
  6. package/dist/components/AppointmentDateTimeModal.d.ts +1 -0
  7. package/dist/components/AppointmentDateTimeModal.js +201 -168
  8. package/dist/components/AppointmentSummaryStep.d.ts +12 -0
  9. package/dist/components/AppointmentSummaryStep.js +168 -0
  10. package/dist/components/BookingOptionStep.d.ts +14 -0
  11. package/dist/components/BookingOptionStep.js +346 -0
  12. package/dist/components/ContactInformationStep.js +10 -4
  13. package/dist/components/ContactPreferenceStep.js +10 -1
  14. package/dist/components/DoctorSelectModal.js +105 -59
  15. package/dist/components/EnquiryForm.js +81 -69
  16. package/dist/components/Icons/CloseIcon.d.ts +9 -0
  17. package/dist/components/Icons/CloseIcon.js +5 -0
  18. package/dist/components/InquiryDetailsStep.js +5 -1
  19. package/dist/components/PatientDetailsStep.js +17 -12
  20. package/dist/components/PatientSelectionStep.d.ts +12 -0
  21. package/dist/components/PatientSelectionStep.js +254 -0
  22. package/dist/components/PhoneVerificationStep.js +1 -1
  23. package/dist/components/SuccessStep.js +1 -1
  24. package/dist/components/appointment-booking/AppointmentCalender.js +145 -67
  25. package/dist/components/appointment-booking/appointment-modal-styles.d.ts +272 -0
  26. package/dist/components/appointment-booking/appointment-modal-styles.js +419 -0
  27. package/dist/components/appointment-booking/components/AppointmentConfirmationStep.d.ts +28 -0
  28. package/dist/components/appointment-booking/components/AppointmentConfirmationStep.js +107 -0
  29. package/dist/components/appointment-booking/components/AppointmentDateTimeModal.d.ts +18 -0
  30. package/dist/components/appointment-booking/components/AppointmentDateTimeModal.js +306 -0
  31. package/dist/components/appointment-booking/components/AppointmentSummaryStep.d.ts +12 -0
  32. package/dist/components/appointment-booking/components/AppointmentSummaryStep.js +194 -0
  33. package/dist/components/appointment-booking/components/BookingOptionStep.d.ts +14 -0
  34. package/dist/components/appointment-booking/components/BookingOptionStep.js +350 -0
  35. package/dist/components/appointment-booking/components/DoctorSelectModal.d.ts +14 -0
  36. package/dist/components/appointment-booking/components/DoctorSelectModal.js +213 -0
  37. package/dist/components/appointment-booking/components/PatientDetailsStep.d.ts +3 -0
  38. package/dist/components/appointment-booking/components/PatientDetailsStep.js +96 -0
  39. package/dist/components/appointment-booking/components/PatientSelectionStep.d.ts +12 -0
  40. package/dist/components/appointment-booking/components/PatientSelectionStep.js +254 -0
  41. package/dist/components/appointment-booking/components/PhoneVerificationStep.d.ts +3 -0
  42. package/dist/components/appointment-booking/components/PhoneVerificationStep.js +49 -0
  43. package/dist/components/appointment-booking/components/SuccessStep.d.ts +5 -0
  44. package/dist/components/appointment-booking/components/SuccessStep.js +9 -0
  45. package/dist/components/appointment-booking/components/index.d.ts +9 -0
  46. package/dist/components/appointment-booking/components/index.js +9 -0
  47. package/dist/components/appointment-booking/hooks/useAppointmentFlow.d.ts +0 -1
  48. package/dist/components/appointment-booking/hooks/useAppointmentFlow.js +111 -25
  49. package/dist/components/appointment-booking/hooks/useAppointmentState.js +32 -0
  50. package/dist/components/appointment-booking/hooks/useInitializeAddresses.js +0 -1
  51. package/dist/components/appointment-booking/index.d.ts +2 -4
  52. package/dist/components/appointment-booking/index.js +2 -2
  53. package/dist/components/appointment-booking/types.d.ts +167 -0
  54. package/dist/components/appointment-booking/types.js +16 -0
  55. package/dist/components/appointment-modal-styles.d.ts +259 -0
  56. package/dist/components/appointment-modal-styles.js +395 -0
  57. package/dist/components/constant.d.ts +2 -0
  58. package/dist/components/constant.js +15 -0
  59. package/dist/components/constants/constant.d.ts +2 -0
  60. package/dist/components/constants/constant.js +15 -0
  61. package/dist/components/constants/index.d.ts +3 -0
  62. package/dist/components/constants/index.js +24 -0
  63. package/dist/components/constants/options.d.ts +13 -0
  64. package/dist/components/constants/options.js +35 -0
  65. package/dist/components/constants/validation.d.ts +6 -0
  66. package/dist/components/constants/validation.js +16 -0
  67. package/dist/components/custom-calendar.js +20 -11
  68. package/dist/components/enquiry-form/EnquiryForm.d.ts +7 -0
  69. package/dist/components/enquiry-form/EnquiryForm.js +238 -0
  70. package/dist/components/enquiry-form/components/ContactInformationStep.d.ts +13 -0
  71. package/dist/components/enquiry-form/components/ContactInformationStep.js +21 -0
  72. package/dist/components/enquiry-form/components/ContactPreferenceStep.d.ts +9 -0
  73. package/dist/components/enquiry-form/components/ContactPreferenceStep.js +20 -0
  74. package/dist/components/enquiry-form/components/InquiryDetailsStep.d.ts +10 -0
  75. package/dist/components/enquiry-form/components/InquiryDetailsStep.js +20 -0
  76. package/dist/components/enquiry-form/components/index.d.ts +3 -0
  77. package/dist/components/enquiry-form/components/index.js +3 -0
  78. package/dist/components/enquiry-form/index.d.ts +2 -0
  79. package/dist/components/enquiry-form/index.js +2 -0
  80. package/dist/components/index.d.ts +7 -0
  81. package/dist/components/index.js +7 -0
  82. package/dist/components/shared/icons/Check.d.ts +6 -0
  83. package/dist/components/shared/icons/Check.js +2 -0
  84. package/dist/components/shared/icons/ChevronDownIcon.d.ts +4 -0
  85. package/dist/components/shared/icons/ChevronDownIcon.js +2 -0
  86. package/dist/components/shared/icons/ChevronLeft.d.ts +3 -0
  87. package/dist/components/shared/icons/ChevronLeft.js +3 -0
  88. package/dist/components/shared/icons/ChevronRight.d.ts +3 -0
  89. package/dist/components/shared/icons/ChevronRight.js +3 -0
  90. package/dist/components/shared/icons/CloseIcon.d.ts +9 -0
  91. package/dist/components/shared/icons/CloseIcon.js +5 -0
  92. package/dist/components/shared/icons/ConfirmationCheck.d.ts +1 -0
  93. package/dist/components/shared/icons/ConfirmationCheck.js +9 -0
  94. package/dist/components/shared/icons/ConsultationType.d.ts +1 -0
  95. package/dist/components/shared/icons/ConsultationType.js +2 -0
  96. package/dist/components/shared/icons/Date&TimeIcon.d.ts +1 -0
  97. package/dist/components/shared/icons/Date&TimeIcon.js +2 -0
  98. package/dist/components/shared/icons/MapIcon.d.ts +1 -0
  99. package/dist/components/shared/icons/MapIcon.js +2 -0
  100. package/dist/components/shared/icons/MedosLogo.d.ts +3 -0
  101. package/dist/components/shared/icons/MedosLogo.js +3 -0
  102. package/dist/components/shared/icons/PaymentMethodIcon.d.ts +1 -0
  103. package/dist/components/shared/icons/PaymentMethodIcon.js +2 -0
  104. package/dist/components/shared/icons/SuccessIcon.d.ts +8 -0
  105. package/dist/components/shared/icons/SuccessIcon.js +14 -0
  106. package/dist/components/shared/icons/UserIcon.d.ts +1 -0
  107. package/dist/components/shared/icons/UserIcon.js +2 -0
  108. package/dist/components/shared/icons/index.d.ts +13 -0
  109. package/dist/components/shared/icons/index.js +13 -0
  110. package/dist/components/shared/index.d.ts +2 -0
  111. package/dist/components/shared/index.js +2 -0
  112. package/dist/components/shared/ui/Calendar.d.ts +5 -0
  113. package/dist/components/shared/ui/Calendar.js +167 -0
  114. package/dist/components/shared/ui/SelectDropdown.d.ts +41 -0
  115. package/dist/components/shared/ui/SelectDropdown.js +301 -0
  116. package/dist/components/shared/ui/index.d.ts +2 -0
  117. package/dist/components/shared/ui/index.js +2 -0
  118. package/dist/components/styles/appointment.d.ts +4 -0
  119. package/dist/components/styles/appointment.js +220 -0
  120. package/dist/components/styles/enquiry.d.ts +2 -0
  121. package/dist/components/styles/enquiry.js +3 -0
  122. package/dist/components/styles/index.d.ts +2 -0
  123. package/dist/components/styles/index.js +2 -0
  124. package/dist/components/styles/shared.d.ts +3 -0
  125. package/dist/components/styles/shared.js +78 -0
  126. package/dist/components/styles.d.ts +1 -6
  127. package/dist/components/styles.js +1 -257
  128. package/dist/components/theme-styles.d.ts +5 -4
  129. package/dist/components/theme-styles.js +239 -125
  130. package/dist/components/types/appointment.d.ts +42 -0
  131. package/dist/components/types/appointment.js +1 -0
  132. package/dist/components/types/common.d.ts +24 -0
  133. package/dist/components/types/common.js +1 -0
  134. package/dist/components/types/enquiry.d.ts +59 -0
  135. package/dist/components/types/enquiry.js +1 -0
  136. package/dist/components/types/index.d.ts +4 -0
  137. package/dist/components/types/index.js +4 -0
  138. package/dist/components/types.d.ts +1 -52
  139. package/dist/components/types.js +1 -23
  140. package/dist/components/utils/date.d.ts +4 -0
  141. package/dist/components/utils/date.js +65 -0
  142. package/dist/components/utils/formatting.d.ts +4 -0
  143. package/dist/components/utils/formatting.js +9 -0
  144. package/dist/components/utils/index.d.ts +3 -0
  145. package/dist/components/utils/index.js +3 -0
  146. package/dist/components/utils/validation.d.ts +4 -0
  147. package/dist/components/utils/validation.js +37 -0
  148. package/dist/components/utils.d.ts +1 -5
  149. package/dist/components/utils.js +1 -15
  150. package/dist/components/validation.d.ts +1 -2
  151. package/dist/components/validation.js +1 -7
  152. package/dist/constants/index.d.ts +1 -1
  153. package/dist/constants/index.js +1 -1
  154. package/dist/core/theme/index.d.ts +1 -0
  155. package/dist/core/theme/index.js +1 -0
  156. package/dist/core/theme/responsive.d.ts +15 -0
  157. package/dist/core/theme/responsive.js +113 -0
  158. package/dist/core/theme/themes.js +16 -4
  159. package/dist/core/theme/types.d.ts +8 -0
  160. package/dist/index.d.ts +4 -2
  161. package/dist/index.js +2 -1
  162. package/dist/react/ThemeProvider.d.ts +2 -1
  163. package/dist/react/ThemeProvider.js +49 -10
  164. package/dist/react/index.d.ts +3 -3
  165. package/dist/react/index.js +1 -1
  166. package/dist/services/AppointmentService.d.ts +80 -2
  167. package/dist/services/AppointmentService.js +131 -5
  168. package/dist/services/AuthService.js +1 -1
  169. package/dist/services/WorkspaceService.d.ts +58 -3
  170. package/dist/services/WorkspaceService.js +10 -1
  171. package/dist/vanilla/AppointmentCalendarWidget.d.ts +17 -7
  172. package/dist/vanilla/AppointmentCalendarWidget.js +1401 -380
  173. package/dist/vanilla/EnquiryFormWidget.d.ts +1 -0
  174. package/dist/vanilla/EnquiryFormWidget.js +25 -43
  175. package/dist/vanilla/client/MedosClient.d.ts +1 -0
  176. package/dist/vanilla/components/AppointmentConfirmationStep.d.ts +1 -0
  177. package/dist/vanilla/components/AppointmentDateTimeModal.d.ts +1 -0
  178. package/dist/vanilla/components/AppointmentSummaryStep.d.ts +12 -0
  179. package/dist/vanilla/components/BookingOptionStep.d.ts +14 -0
  180. package/dist/vanilla/components/Icons/CloseIcon.d.ts +9 -0
  181. package/dist/vanilla/components/PatientSelectionStep.d.ts +12 -0
  182. package/dist/vanilla/components/VanillaCalendar.js +33 -18
  183. package/dist/vanilla/components/VanillaIcons.d.ts +5 -0
  184. package/dist/vanilla/components/VanillaIcons.js +92 -0
  185. package/dist/vanilla/components/VanillaSelect.d.ts +3 -0
  186. package/dist/vanilla/components/VanillaSelect.js +93 -5
  187. package/dist/vanilla/components/appointment-booking/appointment-modal-styles.d.ts +272 -0
  188. package/dist/vanilla/components/appointment-booking/components/AppointmentConfirmationStep.d.ts +28 -0
  189. package/dist/vanilla/components/appointment-booking/components/AppointmentDateTimeModal.d.ts +18 -0
  190. package/dist/vanilla/components/appointment-booking/components/AppointmentSummaryStep.d.ts +12 -0
  191. package/dist/vanilla/components/appointment-booking/components/BookingOptionStep.d.ts +14 -0
  192. package/dist/vanilla/components/appointment-booking/components/DoctorSelectModal.d.ts +14 -0
  193. package/dist/vanilla/components/appointment-booking/components/PatientDetailsStep.d.ts +3 -0
  194. package/dist/vanilla/components/appointment-booking/components/PatientSelectionStep.d.ts +12 -0
  195. package/dist/vanilla/components/appointment-booking/components/PhoneVerificationStep.d.ts +3 -0
  196. package/dist/vanilla/components/appointment-booking/components/SuccessStep.d.ts +5 -0
  197. package/dist/vanilla/components/appointment-booking/components/index.d.ts +9 -0
  198. package/dist/vanilla/components/appointment-booking/hooks/useAppointmentFlow.d.ts +0 -1
  199. package/dist/vanilla/components/appointment-booking/index.d.ts +2 -4
  200. package/dist/vanilla/components/appointment-booking/types.d.ts +167 -0
  201. package/dist/vanilla/components/appointment-modal-styles.d.ts +259 -0
  202. package/dist/vanilla/components/constant.d.ts +2 -0
  203. package/dist/vanilla/components/constants/constant.d.ts +2 -0
  204. package/dist/vanilla/components/constants/index.d.ts +3 -0
  205. package/dist/vanilla/components/constants/options.d.ts +13 -0
  206. package/dist/vanilla/components/constants/validation.d.ts +6 -0
  207. package/dist/vanilla/components/enquiry-form/EnquiryForm.d.ts +7 -0
  208. package/dist/vanilla/components/enquiry-form/components/ContactInformationStep.d.ts +13 -0
  209. package/dist/vanilla/components/enquiry-form/components/ContactPreferenceStep.d.ts +9 -0
  210. package/dist/vanilla/components/enquiry-form/components/InquiryDetailsStep.d.ts +10 -0
  211. package/dist/vanilla/components/enquiry-form/components/index.d.ts +3 -0
  212. package/dist/vanilla/components/enquiry-form/index.d.ts +2 -0
  213. package/dist/vanilla/components/index.d.ts +7 -3
  214. package/dist/vanilla/components/shared/icons/Check.d.ts +6 -0
  215. package/dist/vanilla/components/shared/icons/ChevronDownIcon.d.ts +4 -0
  216. package/dist/vanilla/components/shared/icons/ChevronLeft.d.ts +3 -0
  217. package/dist/vanilla/components/shared/icons/ChevronRight.d.ts +3 -0
  218. package/dist/vanilla/components/shared/icons/CloseIcon.d.ts +9 -0
  219. package/dist/vanilla/components/shared/icons/ConfirmationCheck.d.ts +1 -0
  220. package/dist/vanilla/components/shared/icons/ConsultationType.d.ts +1 -0
  221. package/dist/vanilla/components/shared/icons/Date&TimeIcon.d.ts +1 -0
  222. package/dist/vanilla/components/shared/icons/MapIcon.d.ts +1 -0
  223. package/dist/vanilla/components/shared/icons/MedosLogo.d.ts +3 -0
  224. package/dist/vanilla/components/shared/icons/PaymentMethodIcon.d.ts +1 -0
  225. package/dist/vanilla/components/shared/icons/SuccessIcon.d.ts +8 -0
  226. package/dist/vanilla/components/shared/icons/UserIcon.d.ts +1 -0
  227. package/dist/vanilla/components/shared/icons/index.d.ts +13 -0
  228. package/dist/vanilla/components/shared/index.d.ts +2 -0
  229. package/dist/vanilla/components/shared/ui/Calendar.d.ts +5 -0
  230. package/dist/vanilla/components/shared/ui/SelectDropdown.d.ts +41 -0
  231. package/dist/vanilla/components/shared/ui/index.d.ts +2 -0
  232. package/dist/vanilla/components/styles/appointment.d.ts +4 -0
  233. package/dist/vanilla/components/styles/enquiry.d.ts +2 -0
  234. package/dist/vanilla/components/styles/index.d.ts +2 -0
  235. package/dist/vanilla/components/styles/shared.d.ts +3 -0
  236. package/dist/vanilla/components/styles.d.ts +1 -6
  237. package/dist/vanilla/components/theme-styles.d.ts +5 -4
  238. package/dist/vanilla/components/types/appointment.d.ts +42 -0
  239. package/dist/vanilla/components/types/common.d.ts +24 -0
  240. package/dist/vanilla/components/types/enquiry.d.ts +59 -0
  241. package/dist/vanilla/components/types/index.d.ts +4 -0
  242. package/dist/vanilla/components/types.d.ts +1 -52
  243. package/dist/vanilla/components/utils/date.d.ts +4 -0
  244. package/dist/vanilla/components/utils/formatting.d.ts +4 -0
  245. package/dist/vanilla/components/utils/index.d.ts +3 -0
  246. package/dist/vanilla/components/utils/validation.d.ts +4 -0
  247. package/dist/vanilla/components/utils.d.ts +1 -5
  248. package/dist/vanilla/components/validation.d.ts +1 -2
  249. package/dist/vanilla/constants/index.d.ts +1 -1
  250. package/dist/vanilla/core/theme/index.d.ts +1 -0
  251. package/dist/vanilla/core/theme/responsive.d.ts +15 -0
  252. package/dist/vanilla/core/theme/types.d.ts +8 -0
  253. package/dist/vanilla/enquiry-widget.js +3632 -90
  254. package/dist/vanilla/index.d.ts +4 -2
  255. package/dist/vanilla/react/ThemeProvider.d.ts +2 -1
  256. package/dist/vanilla/react/index.d.ts +3 -3
  257. package/dist/vanilla/services/AppointmentService.d.ts +80 -2
  258. package/dist/vanilla/services/WorkspaceService.d.ts +58 -3
  259. package/dist/vanilla/vanilla/AppointmentCalendarWidget.d.ts +17 -7
  260. package/dist/vanilla/vanilla/EnquiryFormWidget.d.ts +1 -0
  261. package/dist/vanilla/vanilla/components/VanillaIcons.d.ts +5 -0
  262. package/dist/vanilla/vanilla/components/VanillaSelect.d.ts +3 -0
  263. package/dist/vanilla/widget.css +1045 -205
  264. package/dist/vanilla/widget.js +10365 -5737
  265. package/package.json +2 -2
@@ -1,390 +1,1230 @@
1
+ :root {
2
+ --medos-font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI",
3
+ Roboto, Helvetica, Arial, sans-serif;
4
+ --medos-primary-color: #3b82f6;
5
+ --medos-primary-color-hover: #2563eb;
6
+ --medos-text-color: #1f2937;
7
+ --medos-text-color-secondary: #6b7280;
8
+ --medos-bg-color: #ffffff;
9
+ --medos-bg-color-secondary: #f9fafb;
10
+ --medos-border-color: #d1d5db;
11
+ --medos-border-radius: 8px;
12
+ --medos-box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1),
13
+ 0 2px 4px -2px rgb(0 0 0 / 0.1);
14
+ }
15
+
1
16
  /* Medos Appointment Calendar Widget Styles */
2
17
 
3
18
  .medos-appointment-container {
19
+ font-family: var(--medos-font-family);
20
+ background-color: var(--medos-bg-color-secondary);
21
+ padding: 2rem;
4
22
  display: flex;
5
23
  justify-content: center;
6
- padding: 20px;
7
- font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial;
8
- background: #f6f8fa;
9
24
  }
10
25
 
11
26
  .medos-appointment-card {
27
+ background-color: var(--medos-bg-color);
28
+ border-radius: var(--medos-border-radius);
29
+ box-shadow: var(--medos-box-shadow);
12
30
  width: 100%;
13
31
  max-width: 720px;
14
- background: #fff;
15
- border-radius: 12px;
16
- box-shadow: 0 8px 24px rgba(16, 24, 40, 0.08);
17
- padding: 24px;
32
+ padding: 2rem;
18
33
  box-sizing: border-box;
19
34
  }
20
35
 
21
36
  .medos-appointment-header {
37
+ padding-bottom: 1rem;
38
+ border-bottom: 1px solid var(--medos-border-color);
39
+ margin-bottom: 1.5rem;
22
40
  display: flex;
23
- align-items: center;
24
41
  justify-content: space-between;
25
- margin-bottom: 16px;
42
+ align-items: center;
26
43
  }
27
44
 
28
45
  .medos-appointment-title {
29
- margin: 0;
30
- font-size: 20px;
46
+ font-size: 1.5rem;
31
47
  font-weight: 600;
48
+ color: var(--medos-text-color);
49
+ margin: 0;
32
50
  }
33
51
 
34
52
  .medos-appointment-stepper {
35
53
  display: flex;
36
- gap: 8px;
37
- align-items: center;
54
+ gap: 0.5rem;
38
55
  }
39
56
 
40
57
  .medos-appointment-step-pill {
41
- padding: 6px 10px;
58
+ padding: 0.25rem 0.75rem;
42
59
  border-radius: 999px;
43
- font-size: 12px;
44
- font-weight: 600;
45
- background: #eef2ff;
46
- color: #333;
60
+ font-size: 0.875rem;
61
+ font-weight: 500;
62
+ background-color: var(--medos-bg-color-secondary);
63
+ color: var(--medos-text-color-secondary);
64
+ transition: all 0.2s ease-in-out;
47
65
  }
48
66
 
49
67
  .medos-appointment-step-pill.active {
50
- background: #0b79f7;
51
- color: #fff;
68
+ background-color: var(--medos-primary-color);
69
+ color: var(--medos-bg-color);
52
70
  }
53
71
 
54
72
  .medos-appointment-section {
55
- margin-top: 12px;
73
+ margin-top: 1.5rem;
74
+ }
75
+
76
+ #medos-calendar-container {
77
+ display: flex;
78
+ justify-content: center;
79
+ align-items: center;
80
+ margin-top: 1rem;
56
81
  }
57
82
 
58
83
  .medos-appointment-label {
59
84
  display: block;
60
- font-size: 13px;
61
- margin-bottom: 6px;
62
- color: #374151;
85
+ font-size: 0.875rem;
86
+ font-weight: 500;
87
+ color: var(--medos-text-color);
88
+ margin-bottom: 0.5rem;
63
89
  }
64
90
 
65
91
  .medos-appointment-input,
66
92
  .medos-appointment-select,
67
93
  .medos-appointment-textarea {
68
94
  width: 100%;
69
- padding: 10px 12px;
70
- border-radius: 8px;
71
- border: 1px solid #e6e9ef;
72
- outline: none;
73
- font-size: 14px;
95
+ padding: 0.75rem 1rem;
96
+ font-size: 1rem;
97
+ border: 1px solid var(--medos-border-color);
98
+ border-radius: var(--medos-border-radius);
99
+ background-color: var(--medos-bg-color);
100
+ color: var(--medos-text-color);
101
+ transition: border-color 0.2s, box-shadow 0.2s;
74
102
  box-sizing: border-box;
75
- font-family: inherit;
76
- }
77
-
78
- .medos-appointment-select {
79
- background: #fff;
80
103
  }
81
104
 
82
- .medos-appointment-textarea {
83
- min-height: 80px;
84
- resize: vertical;
105
+ .medos-appointment-input:focus,
106
+ .medos-appointment-select:focus,
107
+ .medos-appointment-textarea:focus {
108
+ outline: none;
109
+ border-color: var(--medos-primary-color);
110
+ box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.3);
85
111
  }
86
112
 
87
113
  .medos-appointment-actions {
88
114
  display: flex;
89
- gap: 8px;
90
- margin-top: 16px;
91
115
  justify-content: flex-end;
116
+ gap: 0.75rem;
117
+ margin-top: 1.5rem;
92
118
  }
93
119
 
94
120
  .medos-appointment-btn {
95
- padding: 10px 14px;
96
- border-radius: 8px;
97
- cursor: pointer;
121
+ padding: 0.75rem 1.25rem;
122
+ font-size: 1rem;
98
123
  font-weight: 600;
99
- font-size: 14px;
124
+ border-radius: var(--medos-border-radius);
100
125
  border: none;
101
- font-family: inherit;
126
+ cursor: pointer;
127
+ transition: background-color 0.2s, transform 0.1s;
128
+ display: inline-flex;
129
+ align-items: center;
130
+ gap: 0.5rem;
131
+ }
132
+
133
+ .medos-appointment-btn:active {
134
+ transform: translateY(1px);
102
135
  }
103
136
 
104
137
  .medos-appointment-btn-primary {
105
- background: #0b79f7;
106
- color: #fff;
138
+ background-color: var(--medos-primary-color);
139
+ color: var(--medos-bg-color);
140
+ }
141
+
142
+ .medos-appointment-btn-primary:hover {
143
+ background-color: var(--medos-primary-color-hover);
107
144
  }
108
145
 
109
146
  .medos-appointment-btn-primary:disabled {
110
- opacity: 0.6;
147
+ background-color: #9ca3af;
111
148
  cursor: not-allowed;
112
149
  }
113
150
 
114
151
  .medos-appointment-btn-secondary {
115
- background: #fff;
116
- color: #0b254a;
117
- border: 1px solid #e6e9ef;
152
+ background-color: var(--medos-bg-color);
153
+ color: var(--medos-text-color);
154
+ border: 1px solid var(--medos-border-color);
155
+ }
156
+
157
+ .medos-appointment-btn-secondary:hover {
158
+ background-color: var(--medos-bg-color-secondary);
118
159
  }
119
160
 
120
161
  .medos-appointment-slot-grid {
121
162
  display: grid;
122
- grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
123
- gap: 12px;
124
- margin-top: 12px;
163
+ grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
164
+ gap: 0.75rem;
165
+ margin-top: 1rem;
125
166
  }
126
167
 
127
168
  .medos-appointment-slot-card {
128
- padding: 12px;
129
- border-radius: 10px;
130
- border: 1px solid #e6e9ef;
131
- background: #fff;
132
- cursor: pointer;
169
+ padding: 1rem;
170
+ border: 1px solid var(--medos-border-color);
171
+ border-radius: var(--medos-border-radius);
133
172
  text-align: center;
134
- transition: all 0.2s;
173
+ cursor: pointer;
174
+ transition: all 0.2s ease-in-out;
135
175
  }
136
176
 
137
177
  .medos-appointment-slot-card:hover {
138
- border-color: #0b79f7;
178
+ border-color: var(--medos-primary-color);
179
+ transform: translateY(-2px);
139
180
  }
140
181
 
141
182
  .medos-appointment-slot-card.selected {
142
- border: 2px solid #0b79f7;
143
- background: linear-gradient(180deg, #f0f6ff, #e9f2ff);
183
+ background-color: var(--medos-primary-color);
184
+ color: var(--medos-bg-color);
185
+ border-color: var(--medos-primary-color);
186
+ box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.3);
144
187
  }
145
188
 
146
189
  .medos-appointment-slot-time {
147
- font-weight: 700;
148
- font-size: 14px;
149
- }
150
-
151
- .medos-appointment-small-muted {
152
- font-size: 12px;
153
- color: #6b7280;
190
+ font-weight: 600;
154
191
  }
155
192
 
193
+ /* Success message */
156
194
  .medos-appointment-success-card {
157
- padding: 20px;
158
- border-radius: 12px;
159
- background: linear-gradient(90deg, #ecfdf5, #eff6ff);
160
195
  text-align: center;
196
+ padding: 2rem;
161
197
  }
162
198
 
163
199
  .medos-appointment-success-icon {
164
- font-size: 32px;
165
200
  color: #10b981;
166
- margin-bottom: 8px;
201
+ font-size: 3rem;
202
+ margin-bottom: 1rem;
167
203
  }
168
204
 
169
205
  .medos-appointment-success-title {
170
- font-weight: 700;
171
- margin-bottom: 6px;
172
- }
173
-
174
- .medos-appointment-loading {
175
- margin-bottom: 12px;
176
- }
177
-
178
- .medos-appointment-error {
179
- margin-bottom: 12px;
180
- color: #ef4444;
181
- font-weight: 600;
182
- }
183
-
184
- .medos-appointment-verified {
185
- margin-top: 12px;
186
- padding: 12px;
187
- border-radius: 8px;
188
- background: #ecfdf5;
189
- color: #10b981;
206
+ font-size: 1.25rem;
190
207
  font-weight: 600;
208
+ color: var(--medos-text-color);
209
+ margin-bottom: 0.5rem;
191
210
  }
192
211
 
193
- .medos-appointment-form-grid {
194
- display: grid;
195
- grid-template-columns: 1fr 1fr;
196
- gap: 12px;
197
- margin-top: 12px;
198
- }
199
-
200
- .medos-appointment-form-grid-2col {
201
- display: grid;
202
- grid-template-columns: 1fr 1fr;
203
- gap: 16px;
204
- }
205
-
206
- .medos-appointment-validation-error {
207
- margin-top: 4px;
208
- font-size: 12px;
209
- color: #ef4444;
210
- }
211
-
212
- .medos-appointment-otp-info {
213
- margin-top: 8px;
214
- font-size: 12px;
215
- color: #6b7280;
212
+ .medos-appointment-success-message {
213
+ color: var(--medos-text-color-secondary);
216
214
  }
217
215
 
218
- /* Medos Enquiry Form Widget Styles */
216
+ /* Enquiry Form Widget Styles */
219
217
 
220
218
  .medos-enquiry-container {
219
+ font-family: var(--medos-font-family);
220
+ background-color: var(--medos-bg-color-secondary);
221
+ padding: 2rem;
221
222
  display: flex;
222
223
  justify-content: center;
223
- padding: 20px;
224
- font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial;
225
- background: #f6f8fa;
226
224
  }
227
225
 
228
226
  .medos-enquiry-card {
227
+ background-color: var(--medos-bg-color);
228
+ border-radius: var(--medos-border-radius);
229
+ box-shadow: var(--medos-box-shadow);
229
230
  width: 100%;
230
231
  max-width: 720px;
231
- background: #fff;
232
- border-radius: 12px;
233
- box-shadow: 0 8px 24px rgba(16, 24, 40, 0.08);
234
- padding: 24px;
232
+ padding: 2rem;
235
233
  box-sizing: border-box;
236
234
  }
237
235
 
238
236
  .medos-enquiry-header {
237
+ padding-bottom: 1rem;
238
+ border-bottom: 1px solid var(--medos-border-color);
239
+ margin-bottom: 1.5rem;
239
240
  display: flex;
240
- align-items: center;
241
241
  justify-content: space-between;
242
- margin-bottom: 16px;
242
+ align-items: center;
243
243
  }
244
244
 
245
245
  .medos-enquiry-title {
246
- margin: 0;
247
- font-size: 20px;
246
+ font-size: 1.5rem;
248
247
  font-weight: 600;
248
+ color: var(--medos-text-color);
249
+ margin: 0;
249
250
  }
250
251
 
251
252
  .medos-enquiry-step-indicator {
252
- margin: 0;
253
- font-size: 12px;
254
- color: #6b7280;
253
+ font-size: 0.875rem;
255
254
  font-weight: 500;
255
+ color: var(--medos-text-color-secondary);
256
256
  }
257
257
 
258
258
  .medos-enquiry-section {
259
- margin-top: 12px;
259
+ margin-top: 1.5rem;
260
260
  }
261
261
 
262
262
  .medos-enquiry-label {
263
263
  display: block;
264
- font-size: 13px;
265
- margin-bottom: 6px;
266
- color: #374151;
264
+ font-size: 0.875rem;
267
265
  font-weight: 500;
266
+ color: var(--medos-text-color);
267
+ margin-bottom: 0.5rem;
268
268
  }
269
269
 
270
270
  .medos-enquiry-input,
271
271
  .medos-enquiry-textarea {
272
272
  width: 100%;
273
- padding: 10px 12px;
274
- border-radius: 8px;
275
- border: 1px solid #e6e9ef;
276
- outline: none;
277
- font-size: 14px;
273
+ padding: 0.75rem 1rem;
274
+ font-size: 1rem;
275
+ border: 1px solid var(--medos-border-color);
276
+ border-radius: var(--medos-border-radius);
277
+ background-color: var(--medos-bg-color);
278
+ color: var(--medos-text-color);
279
+ transition: border-color 0.2s, box-shadow 0.2s;
278
280
  box-sizing: border-box;
279
- font-family: inherit;
280
281
  }
281
282
 
282
- .medos-enquiry-textarea {
283
- min-height: 100px;
284
- resize: vertical;
283
+ .medos-enquiry-input:focus,
284
+ .medos-enquiry-textarea:focus {
285
+ outline: none;
286
+ border-color: var(--medos-primary-color);
287
+ box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.3);
288
+ }
289
+
290
+ .medos-enquiry-actions {
291
+ display: flex;
292
+ justify-content: flex-end;
293
+ gap: 0.75rem;
294
+ margin-top: 1.5rem;
295
+ }
296
+
297
+ .medos-enquiry-btn {
298
+ padding: 0.75rem 1.25rem;
299
+ font-size: 1rem;
300
+ font-weight: 600;
301
+ border-radius: var(--medos-border-radius);
302
+ border: none;
303
+ cursor: pointer;
304
+ transition: background-color 0.2s, transform 0.1s;
305
+ display: inline-flex;
306
+ align-items: center;
307
+ gap: 0.5rem;
308
+ }
309
+
310
+ .medos-enquiry-btn:active {
311
+ transform: translateY(1px);
312
+ }
313
+
314
+ .medos-enquiry-btn-primary {
315
+ background-color: var(--medos-primary-color);
316
+ color: var(--medos-bg-color);
285
317
  }
286
318
 
287
- .medos-enquiry-char-count {
288
- margin-top: 4px;
289
- font-size: 12px;
290
- color: #6b7280;
291
- text-align: right;
319
+ .medos-enquiry-btn-primary:hover {
320
+ background-color: var(--medos-primary-color-hover);
292
321
  }
293
322
 
294
- .medos-enquiry-radio-group {
323
+ .medos-enquiry-btn-primary:disabled {
324
+ background-color: #9ca3af;
325
+ cursor: not-allowed;
326
+ }
327
+
328
+ .medos-enquiry-btn-secondary {
329
+ background-color: var(--medos-bg-color);
330
+ color: var(--medos-text-color);
331
+ border: 1px solid var(--medos-border-color);
332
+ }
333
+
334
+ .medos-enquiry-btn-secondary:hover {
335
+ background-color: var(--medos-bg-color-secondary);
336
+ }
337
+
338
+ .medos-enquiry-loading {
339
+ text-align: center;
340
+ padding: 2rem;
341
+ color: var(--medos-text-color-secondary);
342
+ }
343
+
344
+ .medos-enquiry-error {
345
+ background-color: #fee2e2;
346
+ color: #b91c1c;
347
+ padding: 1rem;
348
+ border-radius: var(--medos-border-radius);
349
+ margin-bottom: 1rem;
350
+ font-weight: 500;
351
+ }
352
+
353
+ .medos-enquiry-success-card {
354
+ text-align: center;
355
+ padding: 2rem;
356
+ }
357
+
358
+ .medos-enquiry-success-icon {
359
+ color: #10b981;
360
+ font-size: 3rem;
361
+ margin-bottom: 1rem;
362
+ }
363
+
364
+ .medos-enquiry-success-title {
365
+ font-size: 1.25rem;
366
+ font-weight: 600;
367
+ color: var(--medos-text-color);
368
+ margin-bottom: 0.5rem;
369
+ }
370
+
371
+ .medos-enquiry-success-message {
372
+ color: var(--medos-text-color-secondary);
373
+ }
374
+
375
+ /* ============================================
376
+ RESPONSIVE STYLES - Mobile First
377
+ ============================================ */
378
+
379
+ /* Mobile devices (up to 767px) */
380
+ @media (max-width: 767px) {
381
+ /* Appointment Widget Mobile Styles */
382
+ .medos-appointment-container {
383
+ padding: 12px;
384
+ }
385
+
386
+ .medos-appointment-card {
387
+ max-width: 100%;
388
+ padding: 16px;
389
+ border-radius: 8px;
390
+ }
391
+
392
+ .medos-appointment-header {
393
+ flex-direction: column;
394
+ align-items: flex-start;
395
+ gap: 8px;
396
+ }
397
+
398
+ .medos-appointment-title {
399
+ font-size: 18px;
400
+ }
401
+
402
+ .medos-appointment-stepper {
403
+ width: 100%;
404
+ justify-content: flex-start;
405
+ }
406
+
407
+ .medos-appointment-step-pill {
408
+ padding: 4px 8px;
409
+ font-size: 11px;
410
+ }
411
+
412
+ .medos-appointment-actions {
413
+ flex-direction: column;
414
+ width: 100%;
415
+ }
416
+
417
+ .medos-appointment-btn {
418
+ width: 100%;
419
+ min-height: 44px;
420
+ padding: 12px 16px;
421
+ }
422
+
423
+ .medos-appointment-form-grid,
424
+ .medos-appointment-form-grid-2col {
425
+ grid-template-columns: 1fr;
426
+ gap: 12px;
427
+ }
428
+
429
+ .medos-appointment-slot-grid {
430
+ grid-template-columns: repeat(auto-fit, minmax(80px, 1fr));
431
+ gap: 8px;
432
+ }
433
+
434
+ .medos-appointment-slot-card {
435
+ padding: 10px 8px;
436
+ }
437
+
438
+ .medos-appointment-slot-time {
439
+ font-size: 12px;
440
+ }
441
+
442
+ .medos-appointment-small-muted {
443
+ font-size: 11px;
444
+ }
445
+
446
+ /* Enquiry Form Mobile Styles */
447
+ .medos-enquiry-container {
448
+ padding: 12px;
449
+ }
450
+
451
+ .medos-enquiry-card {
452
+ max-width: 100%;
453
+ padding: 16px;
454
+ border-radius: 8px;
455
+ }
456
+
457
+ .medos-enquiry-header {
458
+ flex-direction: column;
459
+ align-items: flex-start;
460
+ gap: 8px;
461
+ }
462
+
463
+ .medos-enquiry-title {
464
+ font-size: 18px;
465
+ }
466
+
467
+ .medos-enquiry-actions {
468
+ flex-direction: column;
469
+ width: 100%;
470
+ }
471
+
472
+ .medos-enquiry-btn {
473
+ width: 100%;
474
+ min-height: 44px;
475
+ padding: 12px 16px;
476
+ }
477
+
478
+ .medos-enquiry-radio-group {
479
+ gap: 10px;
480
+ }
481
+ }
482
+
483
+ /* Tablet devices (768px to 1023px) */
484
+ @media (min-width: 768px) and (max-width: 1023px) {
485
+ .medos-appointment-card,
486
+ .medos-enquiry-card {
487
+ max-width: 100%;
488
+ }
489
+
490
+ .medos-appointment-slot-grid {
491
+ grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
492
+ }
493
+ }
494
+
495
+ /* Desktop and larger (1024px+) - default styles apply */
496
+
497
+ /* ========================================
498
+ NEW APPOINTMENT FLOW STYLES
499
+ ======================================== */
500
+
501
+ /* Phone Verification Step */
502
+ .medos-phone-section {
503
+ margin-bottom: 1.5rem;
504
+ }
505
+
506
+ .medos-phone-row {
507
+ display: flex;
508
+ gap: 0.75rem;
509
+ align-items: flex-end;
510
+ }
511
+
512
+ .medos-phone-row .medos-form-group {
513
+ flex: 1;
514
+ }
515
+
516
+ .medos-phone-row .medos-form-group:first-child {
517
+ flex: 0 0 120px;
518
+ }
519
+
520
+ .medos-verified-badge {
521
+ display: inline-flex;
522
+ align-items: center;
523
+ gap: 0.25rem;
524
+ padding: 0.25rem 0.5rem;
525
+ background-color: #dcfce7;
526
+ color: #166534;
527
+ border-radius: 999px;
528
+ font-size: 0.75rem;
529
+ font-weight: 500;
530
+ }
531
+
532
+ /* Booking Option Step */
533
+ .medos-booking-options {
295
534
  display: flex;
296
535
  flex-direction: column;
297
- gap: 12px;
298
- margin-top: 12px;
536
+ gap: 1rem;
537
+ margin-bottom: 1.5rem;
538
+ }
539
+
540
+ .medos-booking-options-grid {
541
+ display: grid;
542
+ grid-template-columns: repeat(2, 1fr);
543
+ gap: 1rem;
299
544
  }
300
545
 
301
- .medos-enquiry-radio-label {
546
+ .medos-option-card {
302
547
  display: flex;
548
+ flex-direction: column;
303
549
  align-items: center;
304
- gap: 8px;
550
+ justify-content: center;
551
+ padding: 1.5rem;
552
+ border: 2px solid var(--medos-border-color);
553
+ border-radius: var(--medos-border-radius);
554
+ background-color: var(--medos-bg-color);
305
555
  cursor: pointer;
306
- font-size: 14px;
556
+ transition: all 0.2s ease-in-out;
557
+ text-align: center;
558
+ gap: 0.75rem;
307
559
  }
308
560
 
309
- .medos-enquiry-radio-label input[type="radio"] {
310
- cursor: pointer;
311
- width: 16px;
312
- height: 16px;
561
+ .medos-option-card:hover {
562
+ border-color: var(--medos-primary-color);
563
+ background-color: var(--medos-bg-color-secondary);
313
564
  }
314
565
 
315
- .medos-enquiry-actions {
566
+ .medos-option-card.selected {
567
+ border-color: var(--medos-primary-color);
568
+ background-color: rgba(59, 130, 246, 0.05);
569
+ }
570
+
571
+ .medos-option-icon {
316
572
  display: flex;
317
- gap: 8px;
318
- margin-top: 16px;
319
- justify-content: flex-end;
573
+ align-items: center;
574
+ justify-content: center;
575
+ width: 48px;
576
+ height: 48px;
577
+ border-radius: 50%;
578
+ background-color: var(--medos-bg-color-secondary);
579
+ color: var(--medos-primary-color);
320
580
  }
321
581
 
322
- .medos-enquiry-btn {
323
- padding: 10px 14px;
324
- border-radius: 8px;
582
+ .medos-option-card.selected .medos-option-icon {
583
+ background-color: var(--medos-primary-color);
584
+ color: white;
585
+ }
586
+
587
+ .medos-option-title {
588
+ font-size: 1rem;
589
+ font-weight: 600;
590
+ color: var(--medos-text-color);
591
+ }
592
+
593
+ .medos-option-description {
594
+ font-size: 0.875rem;
595
+ color: var(--medos-text-color-secondary);
596
+ }
597
+
598
+ /* Session Pack Cards */
599
+ .medos-session-packs-section {
600
+ margin-top: 1.5rem;
601
+ }
602
+
603
+ .medos-session-packs-title {
604
+ font-size: 0.875rem;
605
+ font-weight: 600;
606
+ color: var(--medos-text-color);
607
+ margin-bottom: 0.75rem;
608
+ }
609
+
610
+ .medos-session-packs-list {
611
+ display: flex;
612
+ flex-direction: column;
613
+ gap: 0.75rem;
614
+ }
615
+
616
+ .medos-session-pack-card {
617
+ display: flex;
618
+ align-items: center;
619
+ justify-content: space-between;
620
+ padding: 1rem;
621
+ border: 2px solid var(--medos-border-color);
622
+ border-radius: var(--medos-border-radius);
623
+ background-color: var(--medos-bg-color);
325
624
  cursor: pointer;
625
+ transition: all 0.2s ease-in-out;
626
+ }
627
+
628
+ .medos-session-pack-card:hover {
629
+ border-color: var(--medos-primary-color);
630
+ }
631
+
632
+ .medos-session-pack-card.selected {
633
+ border-color: var(--medos-primary-color);
634
+ background-color: rgba(59, 130, 246, 0.05);
635
+ }
636
+
637
+ .medos-session-pack-info {
638
+ display: flex;
639
+ flex-direction: column;
640
+ gap: 0.25rem;
641
+ }
642
+
643
+ .medos-session-pack-name {
644
+ font-size: 0.875rem;
326
645
  font-weight: 600;
327
- font-size: 14px;
646
+ color: var(--medos-text-color);
647
+ }
648
+
649
+ .medos-session-pack-remaining {
650
+ font-size: 0.75rem;
651
+ color: var(--medos-text-color-secondary);
652
+ }
653
+
654
+ .medos-session-pack-doctor {
655
+ font-size: 0.75rem;
656
+ color: var(--medos-text-color-secondary);
657
+ }
658
+
659
+ .medos-session-pack-expiry {
660
+ font-size: 0.75rem;
661
+ color: #dc2626;
662
+ }
663
+
664
+ .medos-session-pack-badge {
665
+ display: inline-flex;
666
+ align-items: center;
667
+ padding: 0.25rem 0.5rem;
668
+ background-color: #dcfce7;
669
+ color: #166534;
670
+ border-radius: 999px;
671
+ font-size: 0.75rem;
672
+ font-weight: 500;
673
+ }
674
+
675
+ /* Package Explorer Step */
676
+ .medos-package-explorer-header {
677
+ display: flex;
678
+ align-items: center;
679
+ gap: 0.75rem;
680
+ margin-bottom: 1.5rem;
681
+ }
682
+
683
+ .medos-back-btn {
684
+ display: flex;
685
+ align-items: center;
686
+ justify-content: center;
687
+ width: 32px;
688
+ height: 32px;
328
689
  border: none;
329
- font-family: inherit;
690
+ background-color: var(--medos-bg-color-secondary);
691
+ border-radius: var(--medos-border-radius);
692
+ cursor: pointer;
693
+ color: var(--medos-text-color);
694
+ transition: background-color 0.2s;
330
695
  }
331
696
 
332
- .medos-enquiry-btn-primary {
333
- background: #0b79f7;
334
- color: #fff;
697
+ .medos-back-btn:hover {
698
+ background-color: var(--medos-border-color);
335
699
  }
336
700
 
337
- .medos-enquiry-btn-primary:disabled {
338
- opacity: 0.6;
339
- cursor: not-allowed;
701
+ .medos-packages-grid {
702
+ display: grid;
703
+ grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
704
+ gap: 1rem;
340
705
  }
341
706
 
342
- .medos-enquiry-btn-secondary {
343
- background: #fff;
344
- color: #0b254a;
345
- border: 1px solid #e6e9ef;
707
+ .medos-package-card {
708
+ display: flex;
709
+ flex-direction: column;
710
+ padding: 1.25rem;
711
+ border: 2px solid var(--medos-border-color);
712
+ border-radius: var(--medos-border-radius);
713
+ background-color: var(--medos-bg-color);
714
+ cursor: pointer;
715
+ transition: all 0.2s ease-in-out;
346
716
  }
347
717
 
348
- .medos-enquiry-loading {
349
- margin-bottom: 12px;
350
- padding: 12px;
351
- border-radius: 8px;
352
- background: #fef3c7;
353
- color: #92400e;
718
+ .medos-package-card:hover {
719
+ border-color: var(--medos-primary-color);
720
+ }
721
+
722
+ .medos-package-card.selected {
723
+ border-color: var(--medos-primary-color);
724
+ background-color: rgba(59, 130, 246, 0.05);
725
+ }
726
+
727
+ .medos-package-name {
728
+ font-size: 1rem;
729
+ font-weight: 600;
730
+ color: var(--medos-text-color);
731
+ margin-bottom: 0.5rem;
732
+ }
733
+
734
+ .medos-package-description {
735
+ font-size: 0.875rem;
736
+ color: var(--medos-text-color-secondary);
737
+ margin-bottom: 0.75rem;
738
+ line-height: 1.4;
739
+ }
740
+
741
+ .medos-package-details {
742
+ display: flex;
743
+ justify-content: space-between;
744
+ align-items: center;
745
+ margin-top: auto;
746
+ padding-top: 0.75rem;
747
+ border-top: 1px solid var(--medos-border-color);
748
+ }
749
+
750
+ .medos-package-sessions {
751
+ font-size: 0.75rem;
752
+ color: var(--medos-text-color-secondary);
753
+ }
754
+
755
+ .medos-package-price {
756
+ font-size: 1rem;
757
+ font-weight: 600;
758
+ color: var(--medos-primary-color);
759
+ }
760
+
761
+ /* Patient Selection Step */
762
+ .medos-patient-selection-header {
763
+ display: flex;
764
+ justify-content: space-between;
765
+ align-items: center;
766
+ margin-bottom: 1rem;
767
+ }
768
+
769
+ .medos-patient-selection-title {
770
+ font-size: 1rem;
771
+ font-weight: 600;
772
+ color: var(--medos-text-color);
773
+ }
774
+
775
+ .medos-add-patient-btn {
776
+ display: flex;
777
+ align-items: center;
778
+ gap: 0.5rem;
779
+ padding: 0.5rem 1rem;
780
+ border: 1px solid var(--medos-primary-color);
781
+ background-color: transparent;
782
+ color: var(--medos-primary-color);
783
+ border-radius: var(--medos-border-radius);
784
+ font-size: 0.875rem;
785
+ font-weight: 500;
786
+ cursor: pointer;
787
+ transition: all 0.2s;
788
+ }
789
+
790
+ .medos-add-patient-btn:hover {
791
+ background-color: var(--medos-primary-color);
792
+ color: white;
793
+ }
794
+
795
+ .medos-patients-list {
796
+ display: flex;
797
+ flex-direction: column;
798
+ gap: 0.75rem;
799
+ }
800
+
801
+ .medos-patient-card {
802
+ display: flex;
803
+ align-items: center;
804
+ gap: 1rem;
805
+ padding: 1rem;
806
+ border: 2px solid var(--medos-border-color);
807
+ border-radius: var(--medos-border-radius);
808
+ background-color: var(--medos-bg-color);
809
+ cursor: pointer;
810
+ transition: all 0.2s ease-in-out;
811
+ }
812
+
813
+ .medos-patient-card:hover {
814
+ border-color: var(--medos-primary-color);
815
+ }
816
+
817
+ .medos-patient-card.selected {
818
+ border-color: var(--medos-primary-color);
819
+ background-color: rgba(59, 130, 246, 0.05);
820
+ }
821
+
822
+ .medos-patient-avatar {
823
+ display: flex;
824
+ align-items: center;
825
+ justify-content: center;
826
+ width: 48px;
827
+ height: 48px;
828
+ border-radius: 50%;
829
+ background-color: var(--medos-bg-color-secondary);
830
+ color: var(--medos-text-color-secondary);
831
+ font-size: 1.25rem;
832
+ font-weight: 600;
833
+ }
834
+
835
+ .medos-patient-card.selected .medos-patient-avatar {
836
+ background-color: var(--medos-primary-color);
837
+ color: white;
838
+ }
839
+
840
+ .medos-patient-info {
841
+ display: flex;
842
+ flex-direction: column;
843
+ gap: 0.25rem;
844
+ flex: 1;
845
+ }
846
+
847
+ .medos-patient-name {
848
+ font-size: 0.875rem;
354
849
  font-weight: 600;
850
+ color: var(--medos-text-color);
851
+ }
852
+
853
+ .medos-patient-details {
854
+ font-size: 0.75rem;
855
+ color: var(--medos-text-color-secondary);
856
+ }
857
+
858
+ .medos-patient-check {
859
+ display: none;
860
+ color: var(--medos-primary-color);
861
+ }
862
+
863
+ .medos-patient-card.selected .medos-patient-check {
864
+ display: block;
865
+ }
866
+
867
+ /* Appointment Summary Step */
868
+ .medos-summary-section {
869
+ margin-bottom: 1.5rem;
870
+ }
871
+
872
+ .medos-summary-title {
873
+ font-size: 1rem;
874
+ font-weight: 600;
875
+ color: var(--medos-text-color);
876
+ margin-bottom: 1rem;
877
+ display: flex;
878
+ align-items: center;
879
+ gap: 0.5rem;
880
+ }
881
+
882
+ .medos-summary-card {
883
+ display: flex;
884
+ flex-direction: column;
885
+ gap: 0.75rem;
886
+ padding: 1rem;
887
+ border: 1px solid var(--medos-border-color);
888
+ border-radius: var(--medos-border-radius);
889
+ background-color: var(--medos-bg-color-secondary);
890
+ }
891
+
892
+ .medos-summary-row {
893
+ display: flex;
894
+ justify-content: space-between;
895
+ align-items: center;
896
+ }
897
+
898
+ .medos-summary-label {
899
+ font-size: 0.875rem;
900
+ color: var(--medos-text-color-secondary);
901
+ }
902
+
903
+ .medos-summary-value {
904
+ font-size: 0.875rem;
905
+ font-weight: 500;
906
+ color: var(--medos-text-color);
907
+ }
908
+
909
+ .medos-summary-total {
910
+ padding-top: 0.75rem;
911
+ border-top: 1px solid var(--medos-border-color);
912
+ }
913
+
914
+ .medos-summary-total .medos-summary-label,
915
+ .medos-summary-total .medos-summary-value {
916
+ font-size: 1rem;
917
+ font-weight: 600;
918
+ }
919
+
920
+ .medos-session-remaining {
921
+ display: flex;
922
+ align-items: center;
923
+ gap: 0.5rem;
924
+ padding: 0.75rem;
925
+ background-color: #fef3c7;
926
+ border-radius: var(--medos-border-radius);
927
+ margin-top: 0.5rem;
928
+ }
929
+
930
+ .medos-remaining-label {
931
+ font-size: 0.875rem;
932
+ color: #92400e;
933
+ }
934
+
935
+ .medos-remaining-value {
936
+ font-size: 0.875rem;
937
+ font-weight: 500;
938
+ color: #92400e;
939
+ }
940
+
941
+ /* Success Step */
942
+ .medos-success-container {
943
+ display: flex;
944
+ flex-direction: column;
945
+ align-items: center;
355
946
  text-align: center;
947
+ padding: 2rem 0;
356
948
  }
357
949
 
358
- .medos-enquiry-error {
359
- margin-bottom: 12px;
360
- padding: 12px;
361
- border-radius: 8px;
362
- background: #fee2e2;
363
- color: #991b1b;
950
+ .medos-success-icon {
951
+ margin-bottom: 1.5rem;
952
+ }
953
+
954
+ .medos-success-title {
955
+ font-size: 1.5rem;
364
956
  font-weight: 600;
957
+ color: #166534;
958
+ margin-bottom: 0.5rem;
365
959
  }
366
960
 
367
- .medos-enquiry-success-card {
368
- padding: 20px;
369
- border-radius: 12px;
370
- background: linear-gradient(90deg, #ecfdf5, #eff6ff);
961
+ .medos-success-message {
962
+ font-size: 0.875rem;
963
+ color: var(--medos-text-color-secondary);
964
+ margin-bottom: 2rem;
965
+ }
966
+
967
+ .medos-success-details {
968
+ width: 100%;
969
+ max-width: 400px;
970
+ text-align: left;
971
+ padding: 1rem;
972
+ background-color: var(--medos-bg-color-secondary);
973
+ border-radius: var(--medos-border-radius);
974
+ margin-bottom: 1.5rem;
975
+ }
976
+
977
+ .medos-success-detail-row {
978
+ display: flex;
979
+ justify-content: space-between;
980
+ padding: 0.5rem 0;
981
+ border-bottom: 1px solid var(--medos-border-color);
982
+ }
983
+
984
+ .medos-success-detail-row:last-child {
985
+ border-bottom: none;
986
+ }
987
+
988
+ /* Responsive styles for new components */
989
+ @media (max-width: 767px) {
990
+ .medos-booking-options-grid {
991
+ grid-template-columns: 1fr;
992
+ }
993
+
994
+ .medos-phone-row {
995
+ flex-direction: column;
996
+ }
997
+
998
+ .medos-phone-row .medos-form-group:first-child {
999
+ flex: 1;
1000
+ }
1001
+
1002
+ .medos-packages-grid {
1003
+ grid-template-columns: 1fr;
1004
+ }
1005
+
1006
+ .medos-patient-selection-header {
1007
+ flex-direction: column;
1008
+ align-items: flex-start;
1009
+ gap: 0.75rem;
1010
+ }
1011
+
1012
+ .medos-add-patient-btn {
1013
+ width: 100%;
1014
+ justify-content: center;
1015
+ }
1016
+ }
1017
+ /* Patient Details Form Styles */
1018
+ .medos-section-card {
1019
+ background-color: var(--medos-bg-color);
1020
+ border: 1px solid var(--medos-border-color);
1021
+ border-radius: var(--medos-border-radius);
1022
+ margin-bottom: 1.5rem;
1023
+ overflow: hidden;
1024
+ }
1025
+
1026
+ .medos-section-header {
1027
+ background-color: var(--medos-bg-color-secondary);
1028
+ padding: 1rem 1.25rem;
1029
+ display: flex;
1030
+ align-items: center;
1031
+ gap: 0.75rem;
1032
+ border-bottom: 1px solid var(--medos-border-color);
1033
+ }
1034
+
1035
+ .medos-section-title {
1036
+ font-size: 1.125rem;
1037
+ font-weight: 600;
1038
+ color: var(--medos-text-color);
1039
+ margin: 0;
1040
+ }
1041
+
1042
+ .medos-section-body {
1043
+ padding: 1.5rem;
1044
+ }
1045
+
1046
+ .medos-section-description {
1047
+ color: var(--medos-text-color-secondary);
1048
+ margin-bottom: 1rem;
1049
+ font-size: 0.875rem;
1050
+ }
1051
+
1052
+ .medos-form-row {
1053
+ display: grid;
1054
+ grid-template-columns: 1fr 1fr;
1055
+ gap: 1rem;
1056
+ margin-bottom: 1rem;
1057
+ }
1058
+
1059
+ .medos-form-field {
1060
+ display: flex;
1061
+ flex-direction: column;
1062
+ }
1063
+
1064
+ .medos-form-label {
1065
+ display: block;
1066
+ font-size: 0.875rem;
1067
+ font-weight: 500;
1068
+ color: var(--medos-text-color);
1069
+ margin-bottom: 0.5rem;
1070
+ }
1071
+
1072
+ .medos-actions {
1073
+ display: flex;
1074
+ justify-content: space-between;
1075
+ align-items: center;
1076
+ gap: 0.75rem;
1077
+ margin-top: 1.5rem;
1078
+ }
1079
+
1080
+ .medos-btn {
1081
+ padding: 0.75rem 1.25rem;
1082
+ font-size: 1rem;
1083
+ font-weight: 600;
1084
+ border-radius: var(--medos-border-radius);
1085
+ border: none;
1086
+ cursor: pointer;
1087
+ transition: background-color 0.2s, transform 0.1s;
1088
+ display: inline-flex;
1089
+ align-items: center;
1090
+ gap: 0.5rem;
1091
+ }
1092
+
1093
+ .medos-btn:active {
1094
+ transform: translateY(1px);
1095
+ }
1096
+
1097
+ .medos-btn-primary {
1098
+ background-color: var(--medos-primary-color);
1099
+ color: var(--medos-bg-color);
1100
+ }
1101
+
1102
+ .medos-btn-primary:hover {
1103
+ background-color: var(--medos-primary-color-hover);
1104
+ }
1105
+
1106
+ .medos-btn-primary:disabled {
1107
+ background-color: #9ca3af;
1108
+ cursor: not-allowed;
1109
+ opacity: 0.6;
1110
+ }
1111
+
1112
+ .medos-btn-secondary {
1113
+ background-color: var(--medos-bg-color);
1114
+ color: var(--medos-text-color);
1115
+ border: 1px solid var(--medos-border-color);
1116
+ }
1117
+
1118
+ .medos-btn-secondary:hover {
1119
+ background-color: var(--medos-bg-color-secondary);
1120
+ }
1121
+
1122
+ .medos-btn-back {
1123
+ background-color: transparent;
1124
+ color: var(--medos-text-color-secondary);
1125
+ border: none;
1126
+ padding: 0.5rem;
1127
+ }
1128
+
1129
+ .medos-btn-back:hover {
1130
+ color: var(--medos-text-color);
1131
+ }
1132
+
1133
+ /* Phone verification styles */
1134
+ .medos-phone-input-row {
1135
+ display: flex;
1136
+ gap: 0.75rem;
1137
+ align-items: flex-end;
1138
+ }
1139
+
1140
+ .medos-country-code-wrapper {
1141
+ flex: 0 0 120px;
1142
+ }
1143
+
1144
+ .medos-phone-wrapper {
1145
+ flex: 1;
1146
+ }
1147
+
1148
+ .medos-otp-input-wrapper {
1149
+ margin-bottom: 1rem;
1150
+ }
1151
+
1152
+ .medos-otp-input {
371
1153
  text-align: center;
1154
+ font-size: 1.125rem;
1155
+ letter-spacing: 0.1em;
372
1156
  }
373
1157
 
374
- .medos-enquiry-success-icon {
375
- font-size: 32px;
1158
+ .medos-link-btn {
1159
+ background: none;
1160
+ border: none;
1161
+ color: var(--medos-primary-color);
1162
+ cursor: pointer;
1163
+ font-size: 0.875rem;
1164
+ text-decoration: underline;
1165
+ }
1166
+
1167
+ .medos-link-btn:hover {
1168
+ color: var(--medos-primary-color-hover);
1169
+ }
1170
+
1171
+ .medos-verified-badge {
1172
+ display: flex;
1173
+ align-items: center;
1174
+ gap: 0.5rem;
376
1175
  color: #10b981;
377
- margin-bottom: 8px;
1176
+ font-weight: 500;
1177
+ margin-bottom: 0.5rem;
378
1178
  }
379
1179
 
380
- .medos-enquiry-success-title {
381
- font-weight: 700;
382
- font-size: 16px;
383
- margin-bottom: 6px;
1180
+ .medos-verified-number {
1181
+ font-size: 1.125rem;
1182
+ font-weight: 600;
1183
+ color: var(--medos-text-color);
384
1184
  }
385
1185
 
386
- .medos-enquiry-success-message {
387
- font-size: 14px;
388
- color: #374151;
1186
+ .medos-validation-error {
1187
+ color: #ef4444;
1188
+ font-size: 0.875rem;
1189
+ margin-top: 0.25rem;
1190
+ }
1191
+
1192
+ .medos-input-error {
1193
+ border-color: #ef4444 !important;
1194
+ box-shadow: 0 0 0 1px #ef4444 !important;
389
1195
  }
390
1196
 
1197
+ /* Responsive adjustments for patient details form */
1198
+ @media (max-width: 767px) {
1199
+ .medos-form-row {
1200
+ grid-template-columns: 1fr;
1201
+ gap: 0.75rem;
1202
+ }
1203
+
1204
+ .medos-section-header {
1205
+ padding: 0.75rem 1rem;
1206
+ }
1207
+
1208
+ .medos-section-body {
1209
+ padding: 1rem;
1210
+ }
1211
+
1212
+ .medos-actions {
1213
+ flex-direction: column-reverse;
1214
+ align-items: stretch;
1215
+ }
1216
+
1217
+ .medos-btn {
1218
+ width: 100%;
1219
+ justify-content: center;
1220
+ }
1221
+
1222
+ .medos-phone-input-row {
1223
+ flex-direction: column;
1224
+ gap: 0.75rem;
1225
+ }
1226
+
1227
+ .medos-country-code-wrapper {
1228
+ flex: none;
1229
+ }
1230
+ }