@aaravpos/appointment-booking-plugin 1.0.3 → 1.0.5

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.
package/dist/styles.css CHANGED
@@ -1,4 +1,5 @@
1
1
  /*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */
2
+ @import url("https://fonts.googleapis.com/css2?family=Bebas+Neue&family=DM+Sans:wght@300;400;500;600&family=DM+Mono:wght@400;500&display=swap");
2
3
  :root {
3
4
  --toastify-color-light: #fff;
4
5
  --toastify-color-dark: #121212;
@@ -769,6 +770,7 @@
769
770
  color: var(--PhoneInputCountrySelectArrow-color--focus);
770
771
  }
771
772
  :root {
773
+ --canvas-bg: #fff;
772
774
  --btn-bg: #d7263d;
773
775
  --btn-text: #ffffff;
774
776
  --btn-bg-hover: #1f2937;
@@ -778,12 +780,9 @@
778
780
  --app-text: #e09898;
779
781
  --app-bg-hover: #4c6f6e;
780
782
  --app-text-hover: #ffffff;
781
- --font-heading: 'Bebas Neue', sans-serif;
782
- --font-body: 'DM Sans', sans-serif;
783
- --font-mono: 'DM Mono', monospace;
784
- }
785
- :root, :host {
786
- --font-mono: var(--font-mono);
783
+ --font-heading: "Bebas Neue", sans-serif;
784
+ --font-body: "DM Sans", sans-serif;
785
+ --font-mono: "DM Mono", monospace;
787
786
  }
788
787
  @layer base {
789
788
  body {
@@ -803,22 +802,187 @@
803
802
  padding: 16px;
804
803
  color: #ef4444;
805
804
  }
805
+ .arravpos-m0 {
806
+ margin: 0px !important;
807
+ }
808
+ .aaravpos-tab-enabled {
809
+ cursor: pointer;
810
+ }
811
+ .aaravpos-tab-disabled {
812
+ cursor: not-allowed;
813
+ opacity: 0.5;
814
+ pointer-events: none;
815
+ }
806
816
  .arravpos-container {
807
- min-height: 100vh;
808
817
  background-color: #fafaf8;
809
- padding: 40px 16px;
818
+ padding: 16px;
810
819
  width: 100%;
811
820
  box-sizing: border-box;
812
821
  margin: 0 auto;
813
822
  }
814
- .aaravpos-outlet-title {
815
- font-size: 30px;
816
- font-weight: 900;
823
+ .aaravpos-margin-top-20 {
824
+ margin-top: 20px;
825
+ }
826
+ .aaravpos-margin-bottom-20 {
827
+ margin-bottom: 20px !important;
828
+ }
829
+ .aaravpos-mt-auto {
830
+ margin-top: auto;
831
+ }
832
+ .aaravpos-btn {
833
+ position: relative;
834
+ display: inline-flex;
835
+ align-items: center;
836
+ justify-content: center;
837
+ gap: 8px;
838
+ padding: 12px 32px;
839
+ border: none;
840
+ background: var(--btn-bg, #000);
841
+ color: var(--btn-text, #fff);
842
+ font-size: 12px;
843
+ font-weight: 700;
844
+ text-transform: uppercase;
845
+ letter-spacing: 1.5px;
846
+ cursor: pointer;
847
+ transition: all 0.2s ease;
848
+ border-radius: 20px;
849
+ }
850
+ .aaravpos-btn:hover {
851
+ background: var(--btn-bg-hover, #222);
852
+ color: var(--btn-text-hover, #fff);
853
+ }
854
+ .aaravpos-divider {
855
+ height: 1px;
856
+ background: var(--border-color, #d4d4d4);
857
+ margin: 2px 0px;
858
+ }
859
+ .aaravpos-btn:disabled {
860
+ opacity: 0.7;
861
+ cursor: not-allowed;
862
+ }
863
+ .aaravpos-btn-content {
864
+ display: flex;
865
+ align-items: center;
866
+ justify-content: center;
867
+ gap: 8px;
868
+ }
869
+ .aaravpos-mb-10 {
870
+ margin-bottom: 10px;
871
+ }
872
+ .aaravpos-padding-btn {
873
+ padding: 9px 8px !important;
874
+ }
875
+ .aaravpos-layout {
876
+ height: 440px;
877
+ display: flex;
878
+ flex-direction: column;
879
+ background: var(--canvas, #ffffff);
880
+ color: var(--copy, #000000);
881
+ overflow: hidden;
882
+ }
883
+ .aaravpos-layout-content {
884
+ flex: 1;
885
+ position: relative;
886
+ height: 440px;
887
+ }
888
+ .aaravpos-layout-page {
889
+ height: 440px;
890
+ animation: aaravposFadeIn 0.3s ease;
891
+ }
892
+ .aaravpos-title {
893
+ font-size: 22px;
894
+ font-weight: 600;
817
895
  text-transform: uppercase;
818
896
  letter-spacing: -0.025em;
819
897
  color: #111827;
820
- margin-bottom: 12px;
898
+ margin-bottom: 6px;
821
899
  line-height: 1.1;
900
+ margin-top: 0px;
901
+ }
902
+ .aaravpos-main-layout {
903
+ display: flex;
904
+ flex-direction: column;
905
+ height: 440px;
906
+ }
907
+ .aaravpos-layout-wrapper {
908
+ flex: 1;
909
+ display: grid;
910
+ grid-template-columns: 1fr;
911
+ overflow: hidden;
912
+ position: relative;
913
+ }
914
+ .aaravpos-main-content {
915
+ padding: 16px;
916
+ position: relative;
917
+ height: 440px;
918
+ }
919
+ .aaravpos-mobile-button {
920
+ position: fixed;
921
+ bottom: 20px;
922
+ left: 0;
923
+ right: 0;
924
+ z-index: 50;
925
+ padding: 0 16px;
926
+ display: flex;
927
+ align-items: center;
928
+ justify-content: center;
929
+ }
930
+ .aaravpos-view-order-btn {
931
+ padding: 12px 34px;
932
+ font-size: 14px;
933
+ border-radius: 999px;
934
+ background: var(--btn-bg);
935
+ color: #ffffff;
936
+ border: none;
937
+ font-family: var(--font-dm-sans);
938
+ font-weight: 700;
939
+ letter-spacing: 1.5px;
940
+ text-transform: uppercase;
941
+ cursor: pointer;
942
+ transition: all 0.2s ease;
943
+ }
944
+ .aaravpos-view-order-btn:hover {
945
+ opacity: 0.9;
946
+ }
947
+ .aaravpos-view-order-btn:disabled {
948
+ background: #cccccc;
949
+ cursor: not-allowed;
950
+ }
951
+ .aaravpos-sidebar {
952
+ display: none;
953
+ flex-direction: column;
954
+ background: var(--surface-bg, #ffffff);
955
+ border-left: 1px solid rgba(0, 0, 0, 0.1);
956
+ padding: 16px;
957
+ padding-bottom: 14px;
958
+ height: 440px;
959
+ overflow: hidden;
960
+ position: fixed;
961
+ top: 0;
962
+ right: 0;
963
+ width: 300px;
964
+ height: 100%;
965
+ transition: right 0.3s ease;
966
+ background: #fff;
967
+ z-index: 1024;
968
+ }
969
+ .aaravpos-sidebar-mobile {
970
+ position: fixed;
971
+ z-index: 999;
972
+ inset: 0;
973
+ height: 100vh;
974
+ background: #ffffff;
975
+ border-radius: 16px 16px 0 0;
976
+ display: flex;
977
+ flex-direction: column;
978
+ animation: aaravposFadeIn 0.25s ease;
979
+ }
980
+ .aaravpos-sidebar-mobile-content {
981
+ flex: 1;
982
+ position: fixed;
983
+ inset: 0;
984
+ padding: 16px;
985
+ overflow-y: auto;
822
986
  }
823
987
  .aaravpos-outlet-divider {
824
988
  width: 56px;
@@ -831,7 +995,7 @@
831
995
  flex-direction: column;
832
996
  justify-content: space-between;
833
997
  gap: 16px;
834
- margin-bottom: 32px;
998
+ margin-bottom: 10px;
835
999
  }
836
1000
  .aaravpos-search-wrapper {
837
1001
  position: relative;
@@ -852,7 +1016,7 @@
852
1016
  }
853
1017
  .aaravpos-search-input {
854
1018
  width: 100%;
855
- height: 44px;
1019
+ height: 32px;
856
1020
  border-radius: 6px;
857
1021
  border: 1px solid #d1d5db;
858
1022
  background: #ffffff;
@@ -892,7 +1056,7 @@
892
1056
  .aaravpos-outlet-list-wrapper {
893
1057
  padding-top: 8px;
894
1058
  padding-bottom: 8px;
895
- max-height: 70vh;
1059
+ max-height: 440px;
896
1060
  overflow: auto;
897
1061
  scrollbar-width: none;
898
1062
  }
@@ -952,16 +1116,18 @@
952
1116
  display: flex;
953
1117
  align-items: flex-start;
954
1118
  justify-content: flex-end;
1119
+ position: absolute;
1120
+ right: 0px;
955
1121
  }
956
1122
  .aaravpos-outlet-card-content {
957
- padding: 4px 16px 16px;
1123
+ padding: 14px;
958
1124
  }
959
1125
  .aaravpos-outlet-card-inner {
960
1126
  flex: 1;
961
1127
  }
962
1128
  .aaravpos-outlet-card-title {
963
1129
  font-size: 18px;
964
- font-weight: 900;
1130
+ font-weight: 600;
965
1131
  text-transform: uppercase;
966
1132
  letter-spacing: -0.025em;
967
1133
  color: #111827;
@@ -970,6 +1136,8 @@
970
1136
  line-clamp: 1;
971
1137
  -webkit-line-clamp: 1;
972
1138
  -webkit-box-orient: vertical;
1139
+ margin-bottom: 0px;
1140
+ margin-top: 0px;
973
1141
  }
974
1142
  .aaravpos-outlet-card-address {
975
1143
  margin-top: 4px;
@@ -982,6 +1150,7 @@
982
1150
  line-clamp: 1;
983
1151
  -webkit-line-clamp: 2;
984
1152
  -webkit-box-orient: vertical;
1153
+ margin-bottom: 0px;
985
1154
  }
986
1155
  .aaravpos-status-badge {
987
1156
  display: inline-flex;
@@ -1009,7 +1178,7 @@
1009
1178
  display: flex;
1010
1179
  align-items: center;
1011
1180
  flex-direction: row;
1012
- gap: 16px;
1181
+ gap: 4px;
1013
1182
  font-weight: 600;
1014
1183
  }
1015
1184
  .aaravpos-mobile-back-btn {
@@ -1043,12 +1212,12 @@
1043
1212
  justify-content: center;
1044
1213
  height: 40px;
1045
1214
  width: 40px;
1046
- border: 1px solid #e5e7eb !important;
1047
- background: #ffffff !important;
1215
+ border: 1px solid #e5e7eb;
1216
+ background: #ffffff;
1048
1217
  cursor: pointer;
1049
1218
  outline: none;
1050
- border-radius: 100% !important;
1051
- overflow: hidden !important;
1219
+ border-radius: 100%;
1220
+ overflow: hidden;
1052
1221
  }
1053
1222
  .aaravpos-desktop-back-btn:hover {
1054
1223
  background: #f3f4f6;
@@ -1085,7 +1254,6 @@
1085
1254
  .aaravpos-step-btn.active {
1086
1255
  border-bottom-color: var(--btn-bg);
1087
1256
  color: #000000;
1088
- background: rgba(0, 0, 0, 0.04);
1089
1257
  }
1090
1258
  .aaravpos-step-btn.inactive {
1091
1259
  color: rgba(0, 0, 0, 0.6);
@@ -1099,93 +1267,2408 @@
1099
1267
  .aaravpos-step-icon.inactive {
1100
1268
  color: var(--btn-bg-hover);
1101
1269
  }
1102
- @media (min-width: 640px) {
1103
- .custom-container {
1104
- padding-left: 32px;
1105
- padding-right: 32px;
1106
- }
1107
- .aaravpos-outlet-title {
1108
- font-size: 36px;
1109
- }
1110
- .aaravpos-outlet-grid {
1111
- grid-template-columns: repeat(2, 1fr);
1112
- }
1270
+ .aaravpos-page-title {
1271
+ font-size: 22px;
1272
+ font-weight: 900;
1273
+ text-transform: uppercase;
1274
+ letter-spacing: -0.025em;
1275
+ color: #111827;
1276
+ padding-top: 0px;
1277
+ line-height: 1.1;
1278
+ margin-bottom: 0px;
1279
+ margin-top: 0px;
1113
1280
  }
1114
- @media (min-width: 768px) {
1115
- .aaravpos-outlet-list-wrapper {
1116
- max-height: 80vh;
1117
- }
1118
- .aaravpos-desktop-stepper {
1119
- display: flex;
1120
- align-items: center;
1121
- gap: 16px;
1122
- width: 100%;
1123
- }
1281
+ .aaravpos-sub-title {
1282
+ font-size: 14px;
1283
+ color: rgba(0, 0, 0, 0.6);
1284
+ margin-bottom: 8px;
1285
+ line-height: 1.5;
1286
+ margin-top: 0px;
1124
1287
  }
1125
- @media (min-width: 1024px) {
1126
- .custom-container {
1127
- padding-left: 64px;
1128
- padding-right: 64px;
1129
- }
1130
- .aaravpos-header {
1131
- flex-direction: row;
1132
- align-items: center;
1133
- }
1134
- .aaravpos-search-wrapper {
1135
- max-width: 448px;
1136
- }
1137
- .aaravpos-outlet-grid {
1138
- grid-template-columns: repeat(3, 1fr);
1139
- }
1288
+ .aaravpos-topbar {
1289
+ display: flex;
1290
+ flex-direction: column;
1291
+ justify-content: space-between;
1292
+ gap: 16px;
1293
+ margin-bottom: 12px;
1294
+ border-bottom: 1px solid rgba(0, 0, 0, 0.4);
1140
1295
  }
1141
- @media (min-width: 1280px) {
1142
- .aaravpos-outlet-title {
1143
- font-size: 48px;
1144
- }
1145
- .aaravpos-outlet-grid {
1146
- grid-template-columns: repeat(4, 1fr);
1147
- }
1296
+ .aaravpos-tab-group {
1297
+ display: flex;
1298
+ align-items: flex-end;
1299
+ gap: 32px;
1148
1300
  }
1149
- @media (min-width: 1536px) {
1150
- .aaravpos-outlet-grid {
1151
- grid-template-columns: repeat(5, 1fr);
1152
- }
1301
+ .aaravpos-tab-btn {
1302
+ padding-bottom: 8px;
1303
+ border: none;
1304
+ border-bottom: 2px solid transparent;
1305
+ background: transparent;
1306
+ font-size: 12px;
1307
+ font-weight: 600;
1308
+ text-transform: uppercase;
1309
+ letter-spacing: 2px;
1310
+ cursor: pointer;
1311
+ transition: all 0.3s ease;
1153
1312
  }
1154
- @keyframes fadeUp {
1155
- from {
1156
- opacity: 0;
1157
- transform: translateY(8px);
1158
- }
1159
- to {
1160
- opacity: 1;
1161
- transform: translateY(0);
1162
- }
1313
+ .aaravpos-tab-btn.active {
1314
+ color: var(--btn-bg, #000);
1315
+ border-bottom-color: var(--btn-bg, #000);
1163
1316
  }
1164
- @keyframes slotIn {
1165
- from {
1166
- opacity: 0;
1167
- transform: translateY(6px);
1168
- }
1169
- to {
1170
- opacity: 1;
1171
- transform: translateY(0);
1172
- }
1317
+ .aaravpos-tab-btn.inactive {
1318
+ color: rgba(0, 0, 0, 0.4);
1173
1319
  }
1174
- @keyframes popIn {
1175
- from {
1176
- opacity: 0;
1177
- transform: scale(0.95) translateY(10px);
1178
- }
1179
- to {
1180
- opacity: 1;
1181
- transform: scale(1) translateY(0);
1182
- }
1320
+ .aaravpos-tab-btn.inactive:hover {
1321
+ color: #000;
1183
1322
  }
1184
- @keyframes pulseBrand {
1185
- 0%, 100% {
1186
- box-shadow: 0 0 0 16px color-mix(in srgb, var(--app-bg) 12%, transparent);
1187
- }
1188
- 50% {
1189
- box-shadow: 0 0 0 24px color-mix(in srgb, var(--app-bg) 6%, transparent);
1323
+ .aaravpos-search-box {
1324
+ position: relative;
1325
+ width: 100%;
1326
+ }
1327
+ .aaravpos-search-icon {
1328
+ position: absolute;
1329
+ left: 12px;
1330
+ top: 50%;
1331
+ transform: translateY(-50%);
1332
+ color: #9ca3af;
1333
+ }
1334
+ .aaravpos-search-input {
1335
+ width: 100%;
1336
+ padding: 8px 40px 8px 36px;
1337
+ border: 1px solid rgba(0, 0, 0, 0.3);
1338
+ border-radius: 6px;
1339
+ font-size: 14px;
1340
+ outline: none;
1341
+ transition: all 0.3s ease;
1342
+ }
1343
+ .aaravpos-search-input:focus {
1344
+ box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2);
1345
+ }
1346
+ .aaravpos-search-clear {
1347
+ position: absolute;
1348
+ right: 12px;
1349
+ top: 50%;
1350
+ transform: translateY(-50%);
1351
+ border: none;
1352
+ background: transparent;
1353
+ color: #9ca3af;
1354
+ cursor: pointer;
1355
+ transition: all 0.3s ease;
1356
+ }
1357
+ .aaravpos-search-clear:hover {
1358
+ color: #000;
1359
+ }
1360
+ .aaravpos-supercategory-wrapper {
1361
+ display: flex;
1362
+ flex-wrap: nowrap;
1363
+ gap: 8px;
1364
+ width: 100%;
1365
+ overflow-x: auto;
1366
+ margin-bottom: 12px;
1367
+ scrollbar-width: none;
1368
+ }
1369
+ .aaravpos-supercategory-wrapper::-webkit-scrollbar {
1370
+ display: none;
1371
+ }
1372
+ .aaravpos-supercategory-btn {
1373
+ min-width: fit-content;
1374
+ padding: 6px;
1375
+ border: 1px solid rgba(0, 0, 0, 0.3);
1376
+ background: #ffffff;
1377
+ text-align: left;
1378
+ cursor: pointer;
1379
+ transition: all 0.3s ease;
1380
+ font-size: 14px;
1381
+ }
1382
+ .aaravpos-supercategory-btn:hover {
1383
+ border-color: rgba(0, 0, 0, 0.5);
1384
+ }
1385
+ .aaravpos-supercategory-btn.active {
1386
+ border-color: rgba(0, 0, 0, 0.4);
1387
+ background: rgba(0, 0, 0, 0.8);
1388
+ color: #fff;
1389
+ }
1390
+ .aaravpos-supercategory-btn.active .aaravpos-supercategory-count {
1391
+ color: #fff;
1392
+ }
1393
+ .aaravpos-supercategory-title {
1394
+ margin-top: 0px;
1395
+ font-size: 14px;
1396
+ font-weight: 500;
1397
+ margin-bottom: 0px;
1398
+ }
1399
+ .aaravpos-supercategory-count {
1400
+ font-size: 10px;
1401
+ font-weight: 600;
1402
+ text-transform: uppercase;
1403
+ letter-spacing: 1px;
1404
+ color: rgba(0, 0, 0, 0.6);
1405
+ margin-bottom: 0px;
1406
+ margin-top: 6px;
1407
+ }
1408
+ .aaravpos-services-wrapper {
1409
+ overflow-y: auto;
1410
+ padding-bottom: 80px;
1411
+ scrollbar-width: none;
1412
+ -ms-overflow-style: none;
1413
+ height: 120px;
1414
+ }
1415
+ .aaravpos-services-wrapper::-webkit-scrollbar {
1416
+ display: none;
1417
+ }
1418
+ .aaravpos-services-grid {
1419
+ display: grid;
1420
+ grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
1421
+ gap: 12px;
1422
+ }
1423
+ .aaravpos-service-card {
1424
+ position: relative;
1425
+ border: 1px solid rgba(0, 0, 0, 0.3);
1426
+ border-radius: 6px;
1427
+ padding: 8px;
1428
+ cursor: pointer;
1429
+ background: #ffffff;
1430
+ transition: all 0.25s ease;
1431
+ }
1432
+ .aaravpos-service-card:hover {
1433
+ border-color: rgba(0, 0, 0, 0.6);
1434
+ }
1435
+ .aaravpos-service-card.active {
1436
+ border-color: var(--btn-bg);
1437
+ background: rgba(0, 0, 0, 0.03);
1438
+ }
1439
+ .aaravpos-tax-badge, .aaravpos-consent-badge {
1440
+ position: absolute;
1441
+ top: 0;
1442
+ font-size: 9px;
1443
+ padding: 2px 8px;
1444
+ color: #fff;
1445
+ }
1446
+ .aaravpos-tax-badge {
1447
+ left: 0;
1448
+ background: #15803d;
1449
+ border-radius: 0 0 6px 0;
1450
+ }
1451
+ .aaravpos-consent-badge {
1452
+ right: 0;
1453
+ background: rgba(0, 0, 0, 0.8);
1454
+ border-radius: 0 0 0 6px;
1455
+ }
1456
+ .aaravpos-service-title {
1457
+ font-size: 14px;
1458
+ font-weight: 700;
1459
+ margin-top: 0px;
1460
+ margin-bottom: 4px;
1461
+ text-transform: uppercase;
1462
+ overflow: hidden;
1463
+ text-overflow: ellipsis;
1464
+ white-space: nowrap;
1465
+ margin-top: 12px;
1466
+ }
1467
+ .aaravpos-service-description-wrapper {
1468
+ position: relative;
1469
+ }
1470
+ .aaravpos-service-description {
1471
+ font-size: 12px;
1472
+ font-weight: 600;
1473
+ color: rgba(0, 0, 0, 0.45);
1474
+ text-transform: uppercase;
1475
+ overflow: hidden;
1476
+ text-overflow: ellipsis;
1477
+ white-space: nowrap;
1478
+ margin: 5px 0px;
1479
+ }
1480
+ .aaravpos-service-tooltip {
1481
+ position: absolute;
1482
+ display: none;
1483
+ top: 20px;
1484
+ left: 0;
1485
+ z-index: 10;
1486
+ width: 208px;
1487
+ padding: 8px;
1488
+ font-size: 12px;
1489
+ background: #f5f5f5;
1490
+ border-radius: 6px;
1491
+ }
1492
+ .aaravpos-service-description-wrapper:hover .aaravpos-service-tooltip {
1493
+ display: block;
1494
+ }
1495
+ .aaravpos-service-price {
1496
+ display: flex;
1497
+ justify-content: space-between;
1498
+ align-items: center;
1499
+ margin-top: 8px;
1500
+ margin-bottom: 8px;
1501
+ font-size: 14px;
1502
+ font-weight: 600;
1503
+ color: rgba(0, 0, 0, 0.6);
1504
+ }
1505
+ .aaravpos-service-price-right {
1506
+ display: flex;
1507
+ align-items: center;
1508
+ font-family: monospace;
1509
+ }
1510
+ .aaravpos-service-actions {
1511
+ display: flex;
1512
+ align-items: center;
1513
+ justify-content: flex-start;
1514
+ margin-top: 6px;
1515
+ border: 1px solid #d1d5db;
1516
+ width: fit-content;
1517
+ }
1518
+ .aaravpos-service-action-btn {
1519
+ width: 40px;
1520
+ height: 32px;
1521
+ border: none;
1522
+ background: transparent;
1523
+ display: flex;
1524
+ align-items: center;
1525
+ justify-content: center;
1526
+ cursor: pointer;
1527
+ transition: background 0.2s ease;
1528
+ }
1529
+ .aaravpos-service-action-btn:hover {
1530
+ background: #f5f5f4;
1531
+ }
1532
+ .aaravpos-service-action-btn.plus {
1533
+ background: rgba(0, 0, 0, 0.8);
1534
+ color: white;
1535
+ }
1536
+ .aaravpos-service-action-btn.plus:hover {
1537
+ background: rgba(0, 0, 0, 0.9);
1538
+ }
1539
+ .aaravpos-service-qty {
1540
+ width: 40px;
1541
+ height: 32px;
1542
+ border-left: 1px solid #d1d5db;
1543
+ border-right: 1px solid #d1d5db;
1544
+ display: flex;
1545
+ align-items: center;
1546
+ justify-content: center;
1547
+ font-size: 14px;
1548
+ font-weight: 600;
1549
+ }
1550
+ .aaravpos-skeleton-card {
1551
+ position: relative;
1552
+ height: 134px;
1553
+ overflow: hidden;
1554
+ border-radius: 4px;
1555
+ background: #e0e0e0;
1556
+ }
1557
+ .aaravpos-skeleton-shimmer {
1558
+ position: absolute;
1559
+ top: 0;
1560
+ left: -100%;
1561
+ width: 100%;
1562
+ height: 100%;
1563
+ background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.5), transparent);
1564
+ animation: aaravpos-shimmer 1.2s infinite;
1565
+ }
1566
+ .aaravpos-available-badge {
1567
+ display: flex;
1568
+ align-items: center;
1569
+ justify-content: center;
1570
+ gap: 8px;
1571
+ margin: 12px 0px 0px 0px;
1572
+ }
1573
+ .aaravpos-available-dot {
1574
+ width: 6px;
1575
+ height: 6px;
1576
+ border-radius: 999px;
1577
+ background: #15803d;
1578
+ flex-shrink: 0;
1579
+ }
1580
+ .aaravpos-available-text {
1581
+ font-size: 11px;
1582
+ font-weight: 600;
1583
+ color: #166534;
1584
+ letter-spacing: 0.2px;
1585
+ text-align: center;
1586
+ margin: 0px;
1587
+ }
1588
+ .aaravpos-no-staff {
1589
+ font-size: 14px;
1590
+ font-weight: 600;
1591
+ color: rgba(var(--btn-bg-rgb, 0, 0, 0), 0.9);
1592
+ }
1593
+ .aaravpos-staff-grid {
1594
+ display: grid;
1595
+ grid-template-columns: repeat(auto-fill, minmax(195px, 1fr));
1596
+ gap: 12px;
1597
+ }
1598
+ .aaravpos-display-flex {
1599
+ display: flex;
1600
+ align-items: center;
1601
+ gap: 16px;
1602
+ }
1603
+ .aaravpos-pro-card {
1604
+ border: 2px solid rgba(0, 0, 0, 0.15);
1605
+ border-radius: 6px;
1606
+ padding: 12px;
1607
+ background: #ffffff;
1608
+ cursor: pointer;
1609
+ transition: all 0.25s ease;
1610
+ }
1611
+ .aaravpos-pro-card:hover {
1612
+ border-color: rgba(var(--btn-bg, 0, 0, 0), 0.5);
1613
+ }
1614
+ .aaravpos-pro-card.active {
1615
+ border-color: rgba(var(--btn-bg, 0, 0, 0), 0.04);
1616
+ background: rgba(var(--btn-bg, 0, 0, 0), 0.05);
1617
+ }
1618
+ .aaravpos-pro-image {
1619
+ width: 48px;
1620
+ height: 48px;
1621
+ border-radius: 8px;
1622
+ object-fit: cover;
1623
+ border: 1px solid rgba(0, 0, 0, 0.1);
1624
+ }
1625
+ .aaravpos-pro-avatar {
1626
+ width: 48px;
1627
+ height: 48px;
1628
+ border-radius: 8px;
1629
+ display: flex;
1630
+ align-items: center;
1631
+ justify-content: center;
1632
+ color: #ffffff;
1633
+ font-size: 18px;
1634
+ font-weight: 700;
1635
+ }
1636
+ .aaravpos-pro-info {
1637
+ display: flex;
1638
+ flex-direction: column;
1639
+ }
1640
+ .aaravpos-pro-name {
1641
+ font-size: 16px;
1642
+ font-weight: 600;
1643
+ text-transform: uppercase;
1644
+ }
1645
+ .aaravpos-pro-type {
1646
+ font-size: 12px;
1647
+ color: #6b7280;
1648
+ text-transform: uppercase;
1649
+ margin: 0px;
1650
+ }
1651
+ .aaravpos-order-sidebar {
1652
+ display: flex;
1653
+ flex-direction: column;
1654
+ justify-content: space-between;
1655
+ }
1656
+ .aaravpos-order-header {
1657
+ padding: 0px 0px 8px 0px;
1658
+ border-bottom: 1px solid #d1d5db;
1659
+ }
1660
+ .aaravpos-order-title {
1661
+ font-size: 16px;
1662
+ font-weight: 900;
1663
+ text-transform: uppercase;
1664
+ letter-spacing: -0.5px;
1665
+ margin-bottom: 0px;
1666
+ margin-top: 0px;
1667
+ }
1668
+ .aaravpos-order-subtitle {
1669
+ font-size: 12px;
1670
+ font-weight: 600;
1671
+ color: rgba(0, 0, 0, 0.4);
1672
+ text-transform: uppercase;
1673
+ overflow: hidden;
1674
+ text-overflow: ellipsis;
1675
+ white-space: nowrap;
1676
+ margin-bottom: 0px;
1677
+ margin-top: 0px;
1678
+ }
1679
+ .aaravpos-order-body {
1680
+ padding: 12px 0px 0px 0px;
1681
+ }
1682
+ .aaravpos-order-section-title {
1683
+ font-size: 14px;
1684
+ font-weight: 600;
1685
+ margin: 0px;
1686
+ color: rgba(0, 0, 0, 0.4);
1687
+ text-transform: uppercase;
1688
+ overflow: hidden;
1689
+ text-overflow: ellipsis;
1690
+ white-space: nowrap;
1691
+ }
1692
+ .aaravpos-order-list {
1693
+ overflow-y: auto;
1694
+ padding: 0px;
1695
+ scrollbar-width: none;
1696
+ -ms-overflow-style: none;
1697
+ margin: 4px 0px;
1698
+ }
1699
+ .aaravpos-pro-order-list {
1700
+ height: calc(100dvh - 270px);
1701
+ overflow-y: auto;
1702
+ scrollbar-width: none;
1703
+ -ms-overflow-style: none;
1704
+ padding: 0px;
1705
+ margin: 4px 0px;
1706
+ }
1707
+ .aaravpos-order-list::-webkit-scrollbar, .aaravpos-pro-order-list::-webkit-scrollbar {
1708
+ display: none;
1709
+ }
1710
+ .aaravpos-order-item {
1711
+ display: flex;
1712
+ flex-direction: column;
1713
+ align-items: flex-start;
1714
+ justify-content: flex-start;
1715
+ padding: 8px 0;
1716
+ border-bottom: 1px dotted #9ca3af;
1717
+ }
1718
+ .aaravpos-order-item:last-child {
1719
+ border-bottom: none;
1720
+ }
1721
+ .aaravpos-order-service-name {
1722
+ display: flex;
1723
+ align-items: center;
1724
+ gap: 4px;
1725
+ font-size: 14px;
1726
+ font-weight: 500;
1727
+ text-transform: uppercase;
1728
+ overflow: hidden;
1729
+ text-overflow: ellipsis;
1730
+ white-space: nowrap;
1731
+ margin: 0px;
1732
+ }
1733
+ .aaravpos-order-details {
1734
+ width: 100%;
1735
+ display: grid;
1736
+ gap: 4px;
1737
+ grid-template-columns: repeat(3, 1fr);
1738
+ align-items: center;
1739
+ margin-top: 4px;
1740
+ }
1741
+ .aaravpos-order-detail {
1742
+ display: flex;
1743
+ align-items: center;
1744
+ gap: 4px;
1745
+ font-size: 12px;
1746
+ font-weight: 500;
1747
+ color: rgba(0, 0, 0, 0.6);
1748
+ margin: 0px;
1749
+ }
1750
+ .aaravpos-order-detail.center {
1751
+ justify-content: center;
1752
+ }
1753
+ .aaravpos-order-detail.right {
1754
+ justify-content: flex-end;
1755
+ gap: 0px;
1756
+ }
1757
+ .aaravpos-order-subtotal {
1758
+ display: flex;
1759
+ justify-content: space-between;
1760
+ align-items: flex-end;
1761
+ margin-bottom: 4px;
1762
+ }
1763
+ .aaravpos-order-subtotal-label {
1764
+ font-size: 16px;
1765
+ font-weight: 600;
1766
+ color: rgba(0, 0, 0, 0.6);
1767
+ text-transform: capitalize;
1768
+ }
1769
+ .aaravpos-order-subtotal-price {
1770
+ font-size: 18px;
1771
+ display: flex;
1772
+ align-items: center;
1773
+ font-family: monospace;
1774
+ font-weight: 600;
1775
+ }
1776
+ .aaravpos-common-btn {
1777
+ width: 100%;
1778
+ margin-top: 10px;
1779
+ padding: 12px 8px;
1780
+ border: none;
1781
+ background: var(--btn-bg);
1782
+ color: var(--btn-text, #ffffff);
1783
+ font-size: 12px;
1784
+ font-weight: 700;
1785
+ font-family: var(--font-dm-sans);
1786
+ text-transform: uppercase;
1787
+ letter-spacing: 1.5px;
1788
+ cursor: pointer;
1789
+ transition: all 0.2s ease;
1790
+ }
1791
+ .aaravpos-common-btn:hover {
1792
+ background: var(--btn-bg-hover);
1793
+ color: var(--btn-text-hover, #ffffff);
1794
+ }
1795
+ .aaravpos-common-btn:disabled {
1796
+ opacity: 0.7;
1797
+ cursor: not-allowed;
1798
+ }
1799
+ .aaravpos-common-btn-content {
1800
+ display: flex;
1801
+ align-items: center;
1802
+ justify-content: center;
1803
+ gap: 8px;
1804
+ }
1805
+ .aaravpos-order-label {
1806
+ font-size: 14px;
1807
+ font-weight: 600;
1808
+ margin: 6px 0;
1809
+ color: rgba(0, 0, 0, 0.4);
1810
+ text-transform: uppercase;
1811
+ }
1812
+ .aaravpos-pro-image {
1813
+ width: 40px;
1814
+ height: 40px;
1815
+ border-radius: 8px;
1816
+ object-fit: cover;
1817
+ border: 1px solid rgba(0, 0, 0, 0.1);
1818
+ }
1819
+ .aaravpos-pro-avatar {
1820
+ width: 40px;
1821
+ height: 40px;
1822
+ border-radius: 8px;
1823
+ color: #fff;
1824
+ display: flex;
1825
+ align-items: center;
1826
+ justify-content: center;
1827
+ font-weight: 600;
1828
+ }
1829
+ .aaravpos-pro-info {
1830
+ overflow: hidden;
1831
+ }
1832
+ .aaravpos-pro-name {
1833
+ font-size: 14px;
1834
+ font-weight: 700;
1835
+ text-transform: uppercase;
1836
+ white-space: nowrap;
1837
+ overflow: hidden;
1838
+ text-overflow: ellipsis;
1839
+ margin: 0px 0px 5px 0px;
1840
+ }
1841
+ .aaravpos-pro-type {
1842
+ font-size: 12px;
1843
+ color: #6b7280;
1844
+ text-transform: uppercase;
1845
+ white-space: nowrap;
1846
+ overflow: hidden;
1847
+ text-overflow: ellipsis;
1848
+ }
1849
+ .aaravpos-summary-row {
1850
+ display: flex;
1851
+ justify-content: space-between;
1852
+ align-items: center;
1853
+ margin-bottom: 6px;
1854
+ font-size: 14px;
1855
+ font-weight: 600;
1856
+ color: #374151;
1857
+ }
1858
+ .aaravpos-summary-label {
1859
+ display: block;
1860
+ }
1861
+ .aaravpos-summary-value {
1862
+ display: flex;
1863
+ align-items: center;
1864
+ font-family: monospace;
1865
+ }
1866
+ .aaravpos-consent-box {
1867
+ margin-bottom: 12px;
1868
+ padding: 8px;
1869
+ background: #fefce8;
1870
+ border: 1px solid #fde68a;
1871
+ border-radius: 4px;
1872
+ }
1873
+ .aaravpos-consent-text {
1874
+ font-size: 12px;
1875
+ font-weight: 500;
1876
+ color: #854d0e;
1877
+ }
1878
+ .aaravpos-consent-progress {
1879
+ width: 100%;
1880
+ height: 6px;
1881
+ margin-top: 4px;
1882
+ background: #e5e7eb;
1883
+ border-radius: 9999px;
1884
+ overflow: hidden;
1885
+ }
1886
+ .aaravpos-consent-progress-bar {
1887
+ height: 100%;
1888
+ background: #ca8a04;
1889
+ border-radius: 9999px;
1890
+ transition: width 0.3s ease;
1891
+ }
1892
+ .aaravpos-tip-input-wrapper {
1893
+ overflow: hidden;
1894
+ }
1895
+ .aaravpos-tip-input {
1896
+ width: 100%;
1897
+ padding: 8px 12px;
1898
+ margin-bottom: 12px;
1899
+ border: 1px solid #d1d5db;
1900
+ border-radius: 4px;
1901
+ font-size: 14px;
1902
+ outline: none;
1903
+ box-sizing: border-box;
1904
+ transition: border-color 0.2s ease;
1905
+ }
1906
+ .aaravpos-tip-input:focus {
1907
+ border-color: #9ca3af;
1908
+ }
1909
+ .aaravpos-tip-title {
1910
+ margin-top: 16px;
1911
+ margin-bottom: 8px;
1912
+ font-size: 10px;
1913
+ font-weight: 700;
1914
+ text-transform: uppercase;
1915
+ letter-spacing: 1.5px;
1916
+ }
1917
+ .aaravpos-tip-options {
1918
+ display: flex;
1919
+ gap: 4px;
1920
+ margin-bottom: 8px;
1921
+ }
1922
+ .aaravpos-tip-btn {
1923
+ padding: 6px 8px;
1924
+ border: 1px solid var(--btn-bg-hover);
1925
+ border-radius: 4px;
1926
+ background: #fff;
1927
+ font-size: 12px;
1928
+ text-align: center;
1929
+ cursor: pointer;
1930
+ transition: all 0.2s ease;
1931
+ }
1932
+ .aaravpos-tip-btn-flex {
1933
+ flex: 1;
1934
+ }
1935
+ .aaravpos-tip-btn-fixed {
1936
+ flex: none;
1937
+ width: 64px;
1938
+ }
1939
+ .aaravpos-tip-btn-active {
1940
+ background: var(--btn-bg);
1941
+ border-color: var(--btn-bg);
1942
+ color: #fff;
1943
+ }
1944
+ .aaravpos-date-time {
1945
+ display: flex;
1946
+ justify-content: space-between;
1947
+ align-items: center;
1948
+ gap: 12px;
1949
+ font-size: 14px;
1950
+ font-weight: 700;
1951
+ margin-top: 10px;
1952
+ }
1953
+ .aaravpos-date-time-label {
1954
+ color: #111827;
1955
+ }
1956
+ .aaravpos-date-time-value {
1957
+ color: var(--btn-bg);
1958
+ font-weight: 700;
1959
+ }
1960
+ .aaravpos-date-time-empty {
1961
+ color: var(--text-muted);
1962
+ font-weight: 500;
1963
+ }
1964
+ .aaravpos-sidebar-close-btn {
1965
+ display: block;
1966
+ width: auto;
1967
+ padding: 8px;
1968
+ border: none;
1969
+ border-radius: 6px;
1970
+ background: transparent;
1971
+ cursor: pointer;
1972
+ font-size: 30px;
1973
+ transition: all 0.2s ease;
1974
+ }
1975
+ .aaravpos-sidebar-close-btn:hover {
1976
+ background: rgba(0, 0, 0, 0.05);
1977
+ }
1978
+ .aaravpos-date-modal-overlay {
1979
+ position: fixed;
1980
+ inset: 0;
1981
+ z-index: 200;
1982
+ display: flex;
1983
+ align-items: center;
1984
+ justify-content: center;
1985
+ min-height: calc(100dvh - 56px);
1986
+ background: rgba(14, 14, 14, 0.55);
1987
+ backdrop-filter: blur(4px);
1988
+ }
1989
+ .aaravpos-date-modal {
1990
+ width: 320px;
1991
+ max-width: 95vw;
1992
+ max-height: 90vh;
1993
+ display: flex;
1994
+ flex-direction: column;
1995
+ background: var(--canvas-bg);
1996
+ border-radius: 12px;
1997
+ overflow: hidden;
1998
+ box-shadow: 0 20px 45px rgba(0, 0, 0, 0.25);
1999
+ animation: aaravposPopIn 0.2s ease;
2000
+ }
2001
+ .aaravpos-date-modal-header {
2002
+ position: sticky;
2003
+ top: 0;
2004
+ z-index: 10;
2005
+ display: flex;
2006
+ align-items: center;
2007
+ justify-content: space-between;
2008
+ padding: 16px;
2009
+ background: var(--canvas-bg);
2010
+ border-bottom: 1px solid var(--border-color);
2011
+ }
2012
+ .aaravpos-date-modal-title {
2013
+ font-size: 22px;
2014
+ font-weight: 700;
2015
+ letter-spacing: 1px;
2016
+ text-transform: uppercase;
2017
+ margin: 0px;
2018
+ }
2019
+ .aaravpos-date-close-btn {
2020
+ width: 32px;
2021
+ height: 32px;
2022
+ display: flex;
2023
+ align-items: center;
2024
+ justify-content: center;
2025
+ border: none;
2026
+ border-radius: 999px;
2027
+ background: var(--surface-bg);
2028
+ color: var(--text-muted);
2029
+ cursor: pointer;
2030
+ transition: all 0.2s ease;
2031
+ }
2032
+ .aaravpos-date-close-btn:hover {
2033
+ background: var(--red-color);
2034
+ color: var(--btn-bg-hover);
2035
+ }
2036
+ .aaravpos-date-modal-body {
2037
+ overflow-y: auto;
2038
+ padding: 10px 28px 20px 28px;
2039
+ }
2040
+ .aaravpos-date-nav {
2041
+ display: flex;
2042
+ align-items: center;
2043
+ justify-content: space-between;
2044
+ margin-bottom: 16px;
2045
+ }
2046
+ .aaravpos-date-nav-btn {
2047
+ border: none;
2048
+ background: transparent;
2049
+ font-size: 18px;
2050
+ cursor: pointer;
2051
+ transition: all 0.2s ease;
2052
+ }
2053
+ .aaravpos-date-nav-btn:hover {
2054
+ color: var(--red-color);
2055
+ }
2056
+ .aaravpos-date-nav-btn:disabled {
2057
+ opacity: 0.3;
2058
+ cursor: not-allowed;
2059
+ }
2060
+ .aaravpos-date-month-label {
2061
+ font-size: 14px;
2062
+ font-weight: 600;
2063
+ }
2064
+ .aaravpos-calendar-grid {
2065
+ display: grid;
2066
+ grid-template-columns: repeat(7, 1fr);
2067
+ gap: 6px;
2068
+ }
2069
+ .aaravpos-calendar-weekday {
2070
+ padding: 4px 0;
2071
+ text-align: center;
2072
+ font-size: 10px;
2073
+ font-weight: 600;
2074
+ text-transform: uppercase;
2075
+ color: var(--text-muted);
2076
+ }
2077
+ .aaravpos-calendar-day {
2078
+ min-height: 34px;
2079
+ display: flex;
2080
+ align-items: center;
2081
+ justify-content: center;
2082
+ border-radius: 999px;
2083
+ font-size: 12px;
2084
+ font-family: monospace;
2085
+ transition: all 0.15s ease;
2086
+ }
2087
+ .aaravpos-calendar-day-active {
2088
+ cursor: pointer;
2089
+ }
2090
+ .aaravpos-calendar-day-active:hover {
2091
+ background: var(--btn-bg-hover);
2092
+ color: var(--btn-text-hover);
2093
+ }
2094
+ .aaravpos-calendar-day-today {
2095
+ outline: 1.5px solid var(--border-color);
2096
+ outline-offset: 1px;
2097
+ }
2098
+ .aaravpos-calendar-day-selected {
2099
+ background: var(--btn-bg);
2100
+ color: #fff;
2101
+ }
2102
+ .aaravpos-calendar-day-disabled {
2103
+ opacity: 0.4;
2104
+ cursor: not-allowed;
2105
+ }
2106
+ .aaravpos-calendar-day {
2107
+ position: relative;
2108
+ }
2109
+ .aaravpos-calendar-day-disabled {
2110
+ background: rgba(0, 0, 0, 0.03);
2111
+ cursor: not-allowed;
2112
+ opacity: 0.6;
2113
+ }
2114
+ .aaravpos-calendar-day-slash {
2115
+ position: absolute;
2116
+ inset: 0;
2117
+ display: flex;
2118
+ align-items: center;
2119
+ justify-content: center;
2120
+ pointer-events: none;
2121
+ }
2122
+ .aaravpos-calendar-day-slash::after {
2123
+ content: "";
2124
+ width: 140%;
2125
+ height: 1.5px;
2126
+ background: var(--app-bg);
2127
+ transform: rotate(-45deg);
2128
+ }
2129
+ .aaravpos-calendar-day-text {
2130
+ position: relative;
2131
+ z-index: 2;
2132
+ }
2133
+ .arravpos-date-card-disabled {
2134
+ position: relative;
2135
+ opacity: 0.6;
2136
+ cursor: not-allowed;
2137
+ overflow: hidden;
2138
+ }
2139
+ .arravpos-date-disabled-slash {
2140
+ position: absolute;
2141
+ top: 50%;
2142
+ left: -20%;
2143
+ width: 140%;
2144
+ height: 2px;
2145
+ background: #111;
2146
+ transform: rotate(-45deg);
2147
+ z-index: 1;
2148
+ }
2149
+ .arravpos-date-unavailable {
2150
+ font-size: 8px;
2151
+ font-weight: 700;
2152
+ margin-top: 2px;
2153
+ }
2154
+ .aaravpos-professional-skeleton {
2155
+ position: relative;
2156
+ height: 82px;
2157
+ overflow: hidden;
2158
+ border-radius: 4px;
2159
+ background: #e0e0e0;
2160
+ }
2161
+ .aaravpos-professional-skeleton::before {
2162
+ content: "";
2163
+ position: absolute;
2164
+ top: 0;
2165
+ left: -100%;
2166
+ width: 100%;
2167
+ height: 100%;
2168
+ background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.5), transparent);
2169
+ animation: aaravposShimmer 1.2s infinite;
2170
+ }
2171
+ .aaravpos-spinner-wrapper {
2172
+ display: flex;
2173
+ align-items: center;
2174
+ justify-content: center;
2175
+ }
2176
+ .aaravpos-spinner {
2177
+ width: 40px;
2178
+ height: 40px;
2179
+ border: 4px solid var(--btn-bg-hover);
2180
+ border-top-color: transparent;
2181
+ border-radius: 50%;
2182
+ animation: aaravposSpin 0.8s linear infinite;
2183
+ }
2184
+ .aaravpos-calendar-grid .cal-avail.cal-selected:after {
2185
+ background: #fff9;
2186
+ }
2187
+ .aaravpos-calendar-grid .cal-avail:after {
2188
+ content: "";
2189
+ background: var(--color-brand-green);
2190
+ border-radius: 50%;
2191
+ width: 3px;
2192
+ height: 3px;
2193
+ position: absolute;
2194
+ bottom: 2px;
2195
+ left: 50%;
2196
+ transform: translate(-50%);
2197
+ }
2198
+ .aaravpos-empty-services {
2199
+ grid-column: 1/-1;
2200
+ display: flex;
2201
+ flex-direction: column;
2202
+ align-items: center;
2203
+ justify-content: center;
2204
+ padding: 64px 24px;
2205
+ text-align: center;
2206
+ border: 1px dashed rgba(0, 0, 0, 0.2);
2207
+ border-radius: 8px;
2208
+ }
2209
+ .aaravpos-empty-services-title {
2210
+ margin-bottom: 8px;
2211
+ font-size: 18px;
2212
+ font-weight: 600;
2213
+ color: #111827;
2214
+ }
2215
+ .aaravpos-empty-services-text {
2216
+ max-width: 500px;
2217
+ font-size: 14px;
2218
+ line-height: 1.5;
2219
+ color: rgba(0, 0, 0, 0.5);
2220
+ }
2221
+ .arravpos-details-section {
2222
+ margin-top: 20px;
2223
+ }
2224
+ .arravpos-details-scroll {
2225
+ overflow-y: auto;
2226
+ padding-bottom: 80px;
2227
+ scrollbar-width: none;
2228
+ }
2229
+ .arravpos-details-scroll::-webkit-scrollbar {
2230
+ display: none;
2231
+ }
2232
+ .arravpos-details-grid {
2233
+ display: grid;
2234
+ grid-template-columns: 1fr;
2235
+ gap: 16px;
2236
+ }
2237
+ .arravpos-form-group {
2238
+ display: flex;
2239
+ flex-direction: column;
2240
+ width: 100%;
2241
+ }
2242
+ .arravpos-form-label {
2243
+ font-size: 12px;
2244
+ font-weight: 600;
2245
+ color: #4b5563;
2246
+ margin-bottom: 6px;
2247
+ display: flex;
2248
+ align-items: center;
2249
+ gap: 4px;
2250
+ }
2251
+ .arravpos-required {
2252
+ color: #ef4444;
2253
+ }
2254
+ .arravpos-input-wrapper {
2255
+ position: relative;
2256
+ width: 100%;
2257
+ }
2258
+ .arravpos-custom-input {
2259
+ border: 1px solid #d1d5db;
2260
+ border-radius: 4px;
2261
+ padding: 10px 12px;
2262
+ font-size: 14px;
2263
+ outline: none;
2264
+ transition: all 0.3s ease;
2265
+ background-color: #ffffff;
2266
+ }
2267
+ .arravpos-custom-input:focus, .arravpos-custom-input input:focus {
2268
+ border-color: black;
2269
+ }
2270
+ .arravpos-error-text {
2271
+ margin-top: 6px;
2272
+ font-size: 13px;
2273
+ color: #ef4444;
2274
+ }
2275
+ .arravpos-autofill-text {
2276
+ margin-top: 6px;
2277
+ font-size: 12px;
2278
+ color: #6b7280;
2279
+ display: flex;
2280
+ align-items: center;
2281
+ gap: 4px;
2282
+ }
2283
+ .arravpos-clear-text {
2284
+ color: #dc2626;
2285
+ cursor: pointer;
2286
+ font-weight: 500;
2287
+ }
2288
+ .arravpos-loader-wrapper {
2289
+ position: absolute;
2290
+ right: 10px;
2291
+ top: 50%;
2292
+ transform: translateY(-50%);
2293
+ }
2294
+ .arravpos-loader {
2295
+ width: 16px;
2296
+ height: 16px;
2297
+ border: 2px solid #d1d5db;
2298
+ border-top-color: #000000;
2299
+ border-radius: 50%;
2300
+ animation: arravpos-spin 0.8s linear infinite;
2301
+ }
2302
+ .arravpos-booking-wrapper {
2303
+ width: 100%;
2304
+ max-width: 100%;
2305
+ }
2306
+ .arravpos-outlet-info {
2307
+ display: flex;
2308
+ align-items: center;
2309
+ gap: 12px;
2310
+ padding: 12px;
2311
+ border-radius: 4px;
2312
+ margin-bottom: 8px;
2313
+ }
2314
+ .arravpos-outlet-logo {
2315
+ width: 40px;
2316
+ height: 40px;
2317
+ border-radius: 4px;
2318
+ overflow: hidden;
2319
+ flex-shrink: 0;
2320
+ display: flex;
2321
+ align-items: center;
2322
+ justify-content: center;
2323
+ }
2324
+ .arravpos-outlet-logo-img {
2325
+ width: 100%;
2326
+ height: 100%;
2327
+ object-fit: cover;
2328
+ }
2329
+ .arravpos-outlet-content {
2330
+ flex: 1;
2331
+ min-width: 0;
2332
+ }
2333
+ .arravpos-outlet-name {
2334
+ font-size: 14px;
2335
+ font-weight: 600;
2336
+ color: #111827;
2337
+ margin: 0;
2338
+ line-height: 1.4;
2339
+ }
2340
+ .arravpos-outlet-address {
2341
+ font-size: 12px;
2342
+ color: rgba(0, 0, 0, 0.7);
2343
+ margin-top: 2px;
2344
+ line-height: 1.5;
2345
+ word-break: break-word;
2346
+ }
2347
+ .arravpos-booking-scroll {
2348
+ height: calc(100dvh - 285px);
2349
+ overflow-y: auto;
2350
+ scrollbar-width: none;
2351
+ }
2352
+ .arravpos-booking-scroll::-webkit-scrollbar {
2353
+ display: none;
2354
+ }
2355
+ .arravpos-booking-grid {
2356
+ display: flex;
2357
+ gap: 28px;
2358
+ justify-content: space-between;
2359
+ }
2360
+ .arravpos-booking-column {
2361
+ width: 100%;
2362
+ min-width: 0;
2363
+ }
2364
+ .arravpos-appointment-header {
2365
+ display: flex;
2366
+ align-items: center;
2367
+ gap: 12px;
2368
+ }
2369
+ .arravpos-appointment-content {
2370
+ flex: 1;
2371
+ min-width: 0;
2372
+ }
2373
+ .arravpos-appointment-name {
2374
+ font-size: 14px;
2375
+ font-weight: 600;
2376
+ color: #111827;
2377
+ margin: 0;
2378
+ }
2379
+ .arravpos-appointment-services {
2380
+ font-size: 12px;
2381
+ color: #6b7280;
2382
+ margin-top: 2px;
2383
+ overflow: hidden;
2384
+ text-overflow: ellipsis;
2385
+ white-space: nowrap;
2386
+ margin-bottom: 0px;
2387
+ }
2388
+ .arravpos-appointment-price {
2389
+ font-family: monospace;
2390
+ font-weight: 600;
2391
+ font-size: 15px;
2392
+ color: #111827;
2393
+ white-space: nowrap;
2394
+ align-items: center;
2395
+ display: flex;
2396
+ flex-direction: row;
2397
+ }
2398
+ .arravpos-appointment-date {
2399
+ display: flex;
2400
+ align-items: center;
2401
+ gap: 8px;
2402
+ margin-top: 12px;
2403
+ padding-top: 12px;
2404
+ border-top: 1px solid #e5e7eb;
2405
+ }
2406
+ .arravpos-appointment-date-text {
2407
+ font-size: 14px;
2408
+ font-weight: 600;
2409
+ color: #111827;
2410
+ }
2411
+ .arravpos-success-wrapper {
2412
+ height: calc(100dvh - 5px);
2413
+ overflow-y: auto;
2414
+ scrollbar-width: none;
2415
+ }
2416
+ .arravpos-success-wrapper::-webkit-scrollbar {
2417
+ display: none;
2418
+ }
2419
+ .arravpos-success-motion {
2420
+ display: flex;
2421
+ flex-direction: column;
2422
+ align-items: center;
2423
+ justify-content: center;
2424
+ background: var(--canvas);
2425
+ text-align: center;
2426
+ padding: 16px;
2427
+ }
2428
+ .arravpos-success-icon {
2429
+ width: 34px;
2430
+ height: 34px;
2431
+ background: var(--btn-bg);
2432
+ color: var(--btn-text);
2433
+ border-radius: 9999px;
2434
+ flex-shrink: 0;
2435
+ display: flex;
2436
+ align-items: center;
2437
+ justify-content: center;
2438
+ font-size: 36px;
2439
+ margin-bottom: 24px;
2440
+ }
2441
+ .arravpos-success-title {
2442
+ font-family: "Bebas Neue", sans-serif;
2443
+ font-size: 20px;
2444
+ margin-bottom: 8px;
2445
+ }
2446
+ .arravpos-success-description {
2447
+ font-size: 14px;
2448
+ color: var(--muted);
2449
+ margin-bottom: 10px;
2450
+ line-height: 1.625;
2451
+ margin-top: 0px;
2452
+ }
2453
+ .arravpos-success-content {
2454
+ width: 100%;
2455
+ max-width: 570px;
2456
+ }
2457
+ .arravpos-success-card {
2458
+ background: #ffffff;
2459
+ border-radius: 6px;
2460
+ text-align: left;
2461
+ margin-bottom: 10px;
2462
+ padding: 10px;
2463
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
2464
+ height: 190px;
2465
+ overflow-x: scroll;
2466
+ scrollbar-width: none;
2467
+ -ms-overflow-style: none;
2468
+ }
2469
+ .arravpos-success-row {
2470
+ display: flex;
2471
+ justify-content: space-between;
2472
+ padding-top: 8px;
2473
+ padding-bottom: 8px;
2474
+ border-bottom: 1px solid #f3f4f6;
2475
+ }
2476
+ .arravpos-success-row-first {
2477
+ padding-top: 0;
2478
+ }
2479
+ .arravpos-total-row {
2480
+ display: flex;
2481
+ justify-content: space-between;
2482
+ padding-top: 16px;
2483
+ padding-bottom: 0;
2484
+ }
2485
+ .arravpos-label {
2486
+ color: #4b5563;
2487
+ font-size: 14px;
2488
+ font-weight: 700;
2489
+ }
2490
+ .arravpos-services-label {
2491
+ color: #6b7280;
2492
+ font-size: 14px;
2493
+ font-weight: 700;
2494
+ }
2495
+ .arravpos-value {
2496
+ font-size: 14px;
2497
+ font-weight: 500;
2498
+ color: #1f2937;
2499
+ }
2500
+ .arravpos-price {
2501
+ display: flex;
2502
+ flex-direction: row;
2503
+ align-items: center;
2504
+ color: #1f2937;
2505
+ font-weight: 600;
2506
+ }
2507
+ .arravpos-total-price {
2508
+ display: flex;
2509
+ flex-direction: row;
2510
+ align-items: center;
2511
+ color: var(--red);
2512
+ font-weight: 600;
2513
+ }
2514
+ .arravpos-services-header {
2515
+ align-items: center;
2516
+ }
2517
+ .arravpos-services-list {
2518
+ padding-top: 8px;
2519
+ padding-bottom: 8px;
2520
+ border-bottom: 1px solid #f3f4f6;
2521
+ color: #4b5563;
2522
+ font-size: 14px;
2523
+ font-weight: 700;
2524
+ white-space: pre-wrap;
2525
+ overflow-y: auto;
2526
+ max-height: 23vh;
2527
+ }
2528
+ .arravpos-service-row {
2529
+ display: flex;
2530
+ justify-content: space-between;
2531
+ font-size: 14px;
2532
+ padding-top: 6px;
2533
+ padding-bottom: 6px;
2534
+ }
2535
+ .arravpos-service-name {
2536
+ color: #374151;
2537
+ }
2538
+ .arravpos-service-price {
2539
+ color: #111827;
2540
+ display: flex;
2541
+ flex-direction: row;
2542
+ align-items: center;
2543
+ }
2544
+ .arravpos-more-services {
2545
+ text-align: center;
2546
+ font-size: 12px;
2547
+ color: #6b7280;
2548
+ margin-top: 8px;
2549
+ display: flex;
2550
+ flex-direction: row;
2551
+ align-items: center;
2552
+ justify-content: center;
2553
+ gap: 4px;
2554
+ }
2555
+ .arravpos-show-btn {
2556
+ color: #2563eb;
2557
+ font-size: 12px;
2558
+ font-weight: 500;
2559
+ cursor: pointer;
2560
+ background: transparent;
2561
+ border: none;
2562
+ }
2563
+ .arravpos-show-btn-inner {
2564
+ display: flex;
2565
+ flex-direction: row;
2566
+ align-items: center;
2567
+ gap: 4px;
2568
+ }
2569
+ .arravpos-book-btn {
2570
+ background: var(--btn-bg);
2571
+ color: var(--btn-text);
2572
+ border: 1px solid var(--btn-bg);
2573
+ padding: 8px 28px;
2574
+ cursor: pointer;
2575
+ font-size: 14px;
2576
+ width: 100%;
2577
+ display: flex;
2578
+ flex-direction: row;
2579
+ align-items: center;
2580
+ justify-content: center;
2581
+ gap: 8px;
2582
+ text-transform: uppercase;
2583
+ letter-spacing: 0.05em;
2584
+ border-radius: 4px;
2585
+ transition: all 0.3s ease;
2586
+ }
2587
+ .arravpos-book-btn:hover {
2588
+ color: var(--btn-text-hover);
2589
+ border-color: var(--btn-bg-hover);
2590
+ background: var(--btn-bg-hover);
2591
+ }
2592
+ .arravpos-payment-overlay {
2593
+ position: fixed;
2594
+ inset: 0;
2595
+ display: flex;
2596
+ align-items: center;
2597
+ justify-content: center;
2598
+ background-color: rgba(0, 0, 0, 0.4);
2599
+ z-index: 1020;
2600
+ padding: 16px;
2601
+ }
2602
+ .arravpos-payment-form {
2603
+ width: 100%;
2604
+ margin: auto;
2605
+ display: flex;
2606
+ align-items: center;
2607
+ justify-content: center;
2608
+ }
2609
+ .aaravpos-modal {
2610
+ background: #fff;
2611
+ border-radius: 16px;
2612
+ width: 100%;
2613
+ max-width: 100%;
2614
+ padding: 24px;
2615
+ box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
2616
+ box-sizing: border-box;
2617
+ }
2618
+ .arravpos-payment-header {
2619
+ display: flex;
2620
+ justify-content: space-between;
2621
+ margin-bottom: 20px;
2622
+ }
2623
+ .arravpos-payment-title {
2624
+ font-size: 18px;
2625
+ font-weight: 600;
2626
+ color: #111827;
2627
+ margin: 0px;
2628
+ }
2629
+ .arravpos-payment-amount {
2630
+ display: flex;
2631
+ flex-direction: row;
2632
+ align-items: center;
2633
+ font-weight: 600;
2634
+ color: #111827;
2635
+ }
2636
+ .arravpos-payment-fields {
2637
+ display: flex;
2638
+ flex-direction: column;
2639
+ gap: 16px;
2640
+ }
2641
+ .arravpos-payment-label {
2642
+ font-size: 12px;
2643
+ font-weight: 600;
2644
+ color: #4b5563;
2645
+ display: flex;
2646
+ margin-bottom: 4px;
2647
+ }
2648
+ .arravpos-payment-required {
2649
+ color: #ef4444;
2650
+ }
2651
+ .arravpos-payment-input {
2652
+ width: 100%;
2653
+ padding: 10px 12px;
2654
+ border: 1px solid red;
2655
+ border-radius: 2px;
2656
+ font-size: 14px;
2657
+ outline: none;
2658
+ transition: border-color 0.2s ease;
2659
+ }
2660
+ .arravpos-payment-input:focus {
2661
+ border-color: var(--red);
2662
+ }
2663
+ .arravpos-payment-error {
2664
+ color: #ef4444;
2665
+ font-size: 14px;
2666
+ margin-top: 4px;
2667
+ }
2668
+ .arravpos-payment-grid {
2669
+ display: grid;
2670
+ grid-template-columns: repeat(2, minmax(0, 1fr));
2671
+ gap: 16px;
2672
+ }
2673
+ .arravpos-payment-btn-grid {
2674
+ display: grid;
2675
+ grid-template-columns: repeat(2, minmax(0, 1fr));
2676
+ gap: 16px;
2677
+ margin-top: 20px;
2678
+ }
2679
+ .arravpos-payment-cancel-btn {
2680
+ padding: 10px 16px;
2681
+ cursor: pointer;
2682
+ border-radius: 6px;
2683
+ border: none;
2684
+ background: linear-gradient(to right, #ef4444, #dc2626);
2685
+ color: #ffffff;
2686
+ }
2687
+ .arravpos-payment-submit-btn {
2688
+ padding: 8px 16px;
2689
+ border-radius: 6px;
2690
+ cursor: pointer;
2691
+ border: none;
2692
+ background: #16a34a;
2693
+ color: #ffffff;
2694
+ transition: opacity 0.2s ease;
2695
+ }
2696
+ .arravpos-payment-submit-btn:disabled {
2697
+ opacity: 0.5;
2698
+ cursor: not-allowed;
2699
+ }
2700
+ .arravpos-consent-overlay {
2701
+ position: fixed;
2702
+ inset: 0;
2703
+ z-index: 1024;
2704
+ display: flex;
2705
+ align-items: center;
2706
+ justify-content: center;
2707
+ background-color: rgba(0, 0, 0, 0.4);
2708
+ padding: 16px;
2709
+ }
2710
+ .arravpos-consent-backdrop {
2711
+ position: fixed;
2712
+ inset: 0;
2713
+ background-color: rgba(0, 0, 0, 0.6);
2714
+ }
2715
+ .arravpos-consent-modal {
2716
+ position: relative;
2717
+ z-index: 10;
2718
+ width: 90%;
2719
+ max-height: 95vh;
2720
+ overflow-y: auto;
2721
+ background-color: #ffffff;
2722
+ border-radius: 12px;
2723
+ padding: 16px;
2724
+ }
2725
+ .arravpos-consent-header {
2726
+ display: flex;
2727
+ justify-content: space-between;
2728
+ margin-bottom: 10px;
2729
+ }
2730
+ .arravpos-consent-title {
2731
+ font-size: 16px;
2732
+ font-weight: 600;
2733
+ color: #111827;
2734
+ margin: 0px;
2735
+ }
2736
+ .arravpos-consent-close-btn {
2737
+ color: #9ca3af;
2738
+ cursor: pointer;
2739
+ border: none;
2740
+ background: transparent;
2741
+ transition: color 0.2s ease;
2742
+ }
2743
+ .arravpos-consent-close-btn:hover {
2744
+ color: #4b5563;
2745
+ }
2746
+ .arravpos-consent-content-wrapper {
2747
+ max-height: 42vh;
2748
+ }
2749
+ .arravpos-consent-content-box {
2750
+ border: 1px solid #e5e7eb;
2751
+ border-radius: 6px;
2752
+ padding: 16px;
2753
+ background-color: #f9fafb;
2754
+ }
2755
+ .arravpos-consent-content {
2756
+ color: #374151;
2757
+ white-space: pre-wrap;
2758
+ overflow-y: auto;
2759
+ max-height: 30vh;
2760
+ }
2761
+ .arravpos-consent-checkbox-label {
2762
+ display: flex;
2763
+ gap: 8px;
2764
+ align-items: center;
2765
+ margin-top: 12px;
2766
+ border-color: #e5e7eb;
2767
+ }
2768
+ .arravpos-consent-checkbox {
2769
+ width: 18px;
2770
+ height: 18px;
2771
+ color: #ef4444;
2772
+ background-color: #f3f4f6;
2773
+ border: 1px solid #d1d5db;
2774
+ border-radius: 4px;
2775
+ }
2776
+ .arravpos-consent-checkbox-text {
2777
+ font-size: 14px;
2778
+ font-weight: 500;
2779
+ color: #374151;
2780
+ }
2781
+ .arravpos-consent-typed-wrapper {
2782
+ margin-top: 16px;
2783
+ }
2784
+ .arravpos-consent-input-label {
2785
+ display: block;
2786
+ margin-bottom: 8px;
2787
+ font-size: 14px;
2788
+ font-weight: 500;
2789
+ color: #374151;
2790
+ }
2791
+ .arravpos-consent-required {
2792
+ color: #ef4444;
2793
+ }
2794
+ .arravpos-consent-input {
2795
+ width: 100%;
2796
+ padding: 8px 12px;
2797
+ border-radius: 6px;
2798
+ outline: none;
2799
+ }
2800
+ .arravpos-consent-input-normal {
2801
+ border: 1px solid #d1d5db;
2802
+ }
2803
+ .arravpos-consent-input-error {
2804
+ border: 1px solid #ef4444;
2805
+ }
2806
+ .arravpos-consent-helper-text {
2807
+ margin-top: 4px;
2808
+ font-size: 12px;
2809
+ color: #6b7280;
2810
+ }
2811
+ .arravpos-consent-error {
2812
+ font-size: 14px;
2813
+ color: #ef4444;
2814
+ }
2815
+ .arravpos-consent-signature-wrapper {
2816
+ margin-top: 16px;
2817
+ }
2818
+ .arravpos-consent-signature-canvas {
2819
+ width: 100%;
2820
+ height: 136px;
2821
+ overflow: hidden;
2822
+ border: 1px solid #d1d5db;
2823
+ border-radius: 6px;
2824
+ background-color: #ffffff;
2825
+ }
2826
+ .arravpos-consent-error-signature {
2827
+ margin-top: 4px;
2828
+ margin-bottom: 4px;
2829
+ }
2830
+ .arravpos-consent-signature-actions {
2831
+ display: flex;
2832
+ justify-content: space-between;
2833
+ margin-top: 8px;
2834
+ }
2835
+ .arravpos-consent-clear-btn {
2836
+ display: flex;
2837
+ flex-direction: row;
2838
+ align-items: center;
2839
+ gap: 4px;
2840
+ padding: 4px 8px;
2841
+ font-size: 14px;
2842
+ color: #4b5563;
2843
+ cursor: pointer;
2844
+ border: 1px solid #d1d5db;
2845
+ border-radius: 6px;
2846
+ background: transparent;
2847
+ }
2848
+ .arravpos-consent-clear-btn:hover {
2849
+ color: #1f2937;
2850
+ }
2851
+ .arravpos-consent-email-label {
2852
+ display: flex;
2853
+ gap: 8px;
2854
+ align-items: center;
2855
+ cursor: pointer;
2856
+ font-size: 14px;
2857
+ }
2858
+ .arravpos-consent-email-checkbox {
2859
+ width: 16px;
2860
+ height: 16px;
2861
+ accent-color: var(--btn-bg);
2862
+ background-color: #f3f4f6;
2863
+ border: 1px solid #d1d5db;
2864
+ border-radius: 4px;
2865
+ }
2866
+ .arravpos-consent-email-text {
2867
+ font-size: 14px;
2868
+ color: #374151;
2869
+ }
2870
+ .arravpos-consent-footer {
2871
+ display: flex;
2872
+ justify-content: flex-end;
2873
+ gap: 12px;
2874
+ margin-top: 20px;
2875
+ }
2876
+ .arravpos-consent-cancel-btn {
2877
+ padding: 8px 16px;
2878
+ border: 1px solid #d1d5db;
2879
+ border-radius: 6px;
2880
+ background: transparent;
2881
+ color: #374151;
2882
+ cursor: pointer;
2883
+ transition: color 0.2s ease;
2884
+ }
2885
+ .arravpos-consent-cancel-btn:hover {
2886
+ color: #111827;
2887
+ }
2888
+ .arravpos-consent-submit-btn {
2889
+ display: flex;
2890
+ align-items: center;
2891
+ gap: 8px;
2892
+ padding: 8px 16px;
2893
+ border: none;
2894
+ border-radius: 6px;
2895
+ transition: all 0.2s ease;
2896
+ }
2897
+ .arravpos-consent-submit-disabled {
2898
+ background-color: #d1d5db;
2899
+ color: #4b5563;
2900
+ cursor: not-allowed;
2901
+ }
2902
+ .arravpos-consent-submit-active {
2903
+ background-color: var(--btn-bg);
2904
+ color: #ffffff;
2905
+ cursor: pointer;
2906
+ }
2907
+ .arravpos-consent-submit-active:hover {
2908
+ background-color: var(--btn-bg-hover);
2909
+ }
2910
+ .arravpos-date-wrapper {
2911
+ margin-top: 8px;
2912
+ margin-bottom: 14px;
2913
+ display: flex;
2914
+ flex-direction: row;
2915
+ flex-wrap: wrap;
2916
+ }
2917
+ .arravpos-date-strip {
2918
+ display: flex;
2919
+ align-items: stretch;
2920
+ gap: 6px;
2921
+ overflow-x: auto;
2922
+ overflow-y: hidden;
2923
+ scrollbar-width: none;
2924
+ -webkit-overflow-scrolling: touch;
2925
+ scroll-behavior: smooth;
2926
+ }
2927
+ .arravpos-date-strip::-webkit-scrollbar {
2928
+ display: none;
2929
+ }
2930
+ .arravpos-date-card {
2931
+ flex-shrink: 0;
2932
+ display: flex;
2933
+ flex-direction: column;
2934
+ align-items: center;
2935
+ min-width: 26px;
2936
+ min-height: 50px;
2937
+ padding: 6px 8px;
2938
+ border-radius: 2px;
2939
+ cursor: pointer;
2940
+ transition: all 150ms ease;
2941
+ user-select: none;
2942
+ border: 1px solid transparent;
2943
+ }
2944
+ .arravpos-date-card-active {
2945
+ background-color: var(--btn-bg);
2946
+ color: var(--btn-text);
2947
+ border-color: var(--btn-bg);
2948
+ }
2949
+ .arravpos-date-card-default:hover {
2950
+ color: var(--btn-text-hover);
2951
+ border-color: var(--btn-bg-hover);
2952
+ background-color: var(--btn-bg-hover);
2953
+ }
2954
+ .arravpos-date-week {
2955
+ font-size: 10px;
2956
+ text-transform: uppercase;
2957
+ margin-bottom: 4px;
2958
+ line-height: 1;
2959
+ font-weight: 500;
2960
+ }
2961
+ .arravpos-date-day {
2962
+ font-family: monospace;
2963
+ font-size: 18px;
2964
+ line-height: 1;
2965
+ font-weight: 500;
2966
+ }
2967
+ .arravpos-date-today {
2968
+ margin-top: 6px;
2969
+ font-size: 8px;
2970
+ color: var(--red);
2971
+ font-weight: 700;
2972
+ line-height: 1;
2973
+ }
2974
+ .arravpos-calendar-btn {
2975
+ margin-left: 16px;
2976
+ padding: 8px;
2977
+ font-size: 14px;
2978
+ font-weight: 600;
2979
+ display: flex;
2980
+ flex-direction: column;
2981
+ align-items: center;
2982
+ justify-content: center;
2983
+ gap: 6px;
2984
+ border-radius: 2px;
2985
+ cursor: pointer;
2986
+ transition: all 150ms ease;
2987
+ min-width: 50px;
2988
+ user-select: none;
2989
+ background-color: var(--btn-bg);
2990
+ color: #ffffff;
2991
+ border: none;
2992
+ }
2993
+ .arravpos-selected-professional {
2994
+ display: flex;
2995
+ align-items: center;
2996
+ gap: 12px;
2997
+ margin-bottom: 10px;
2998
+ padding: 12px;
2999
+ background-color: var(--surface);
3000
+ border: 1px solid var(--btn-bg);
3001
+ border-radius: 2px;
3002
+ flex-wrap: wrap;
3003
+ }
3004
+ .arravpos-selected-professional-image {
3005
+ width: 40px;
3006
+ height: 40px;
3007
+ border-radius: 9999px;
3008
+ object-fit: cover;
3009
+ flex-shrink: 0;
3010
+ }
3011
+ .arravpos-selected-professional-avatar {
3012
+ width: 40px;
3013
+ height: 40px;
3014
+ border-radius: 9999px;
3015
+ background-color: #111111;
3016
+ color: #ffffff;
3017
+ display: flex;
3018
+ align-items: center;
3019
+ justify-content: center;
3020
+ flex-shrink: 0;
3021
+ }
3022
+ .arravpos-selected-professional-content {
3023
+ flex: 1;
3024
+ min-width: 0;
3025
+ }
3026
+ .arravpos-selected-professional-name {
3027
+ font-size: 14px;
3028
+ font-weight: 600;
3029
+ margin: 0px 0px 4px;
3030
+ }
3031
+ .arravpos-selected-professional-services {
3032
+ font-size: 12px;
3033
+ color: var(--muted);
3034
+ overflow: hidden;
3035
+ text-overflow: ellipsis;
3036
+ white-space: nowrap;
3037
+ margin: 0px;
3038
+ }
3039
+ .arravpos-scroll-area {
3040
+ overflow-y: auto;
3041
+ padding-bottom: 80px;
3042
+ scrollbar-width: none;
3043
+ height: 120px;
3044
+ }
3045
+ .arravpos-scroll-area::-webkit-scrollbar {
3046
+ display: none;
3047
+ }
3048
+ .arravpos-loader-wrapper {
3049
+ display: flex;
3050
+ align-items: center;
3051
+ justify-content: center;
3052
+ width: 100%;
3053
+ height: 100%;
3054
+ }
3055
+ .arravpos-loader {
3056
+ width: 32px;
3057
+ height: 32px;
3058
+ border-radius: 9999px;
3059
+ border: 3px solid var(--btn-bg);
3060
+ border-top-color: transparent;
3061
+ animation: arravpos-spin 1s linear infinite;
3062
+ }
3063
+ .arravpos-slot-icon {
3064
+ color: #fb923c;
3065
+ }
3066
+ .arravpos-slot-section {
3067
+ margin-bottom: 16px;
3068
+ border: 1px solid var(--btn-bg);
3069
+ border-radius: 2px;
3070
+ overflow: hidden;
3071
+ }
3072
+ .arravpos-slot-section-header {
3073
+ display: flex;
3074
+ align-items: center;
3075
+ justify-content: space-between;
3076
+ padding: 8px 10px;
3077
+ cursor: pointer;
3078
+ background-color: var(--surface);
3079
+ transition: background-color 0.2s ease;
3080
+ }
3081
+ .arravpos-slot-section-header:hover {
3082
+ background-color: rgba(var(--btn-bg), 0.08);
3083
+ }
3084
+ .arravpos-slot-section-title {
3085
+ display: flex;
3086
+ align-items: center;
3087
+ gap: 8px;
3088
+ font-size: 12px;
3089
+ font-weight: 700;
3090
+ text-transform: uppercase;
3091
+ letter-spacing: 1.2px;
3092
+ color: rgba(0, 0, 0, 0.8);
3093
+ }
3094
+ .arravpos-slot-section-arrow {
3095
+ transition: transform 0.2s ease;
3096
+ }
3097
+ .arravpos-slot-section-arrow-open {
3098
+ transform: rotate(180deg);
3099
+ }
3100
+ .arravpos-slot-section-content {
3101
+ padding: 12px;
3102
+ border-top: 1px solid var(--btn-bg);
3103
+ background-color: #ffffff;
3104
+ }
3105
+ .arravpos-slot-grid {
3106
+ display: grid;
3107
+ grid-template-columns: repeat(auto-fill, minmax(110px, 1fr));
3108
+ gap: 8px;
3109
+ }
3110
+ .arravpos-slot-card {
3111
+ display: flex;
3112
+ flex-direction: column;
3113
+ align-items: center;
3114
+ justify-content: center;
3115
+ padding: 12px;
3116
+ gap: 4px;
3117
+ border: 1px solid var(--btn-bg);
3118
+ border-radius: 2px;
3119
+ transition: all 0.2s ease;
3120
+ }
3121
+ .arravpos-slot-card-default {
3122
+ background-color: #ffffff;
3123
+ cursor: pointer;
3124
+ }
3125
+ .arravpos-slot-card-default:hover {
3126
+ color: var(--btn-bg);
3127
+ border-color: var(--btn-bg);
3128
+ }
3129
+ .arravpos-slot-card-selected {
3130
+ background-color: #fff8f8;
3131
+ color: var(--btn-bg);
3132
+ border-color: var(--btn-bg);
3133
+ cursor: pointer;
3134
+ }
3135
+ .arravpos-slot-card-disabled {
3136
+ background-color: #f3f4f6;
3137
+ color: #9ca3af;
3138
+ cursor: not-allowed;
3139
+ }
3140
+ .arravpos-slot-time {
3141
+ font-family: monospace;
3142
+ font-size: 14px;
3143
+ }
3144
+ .arravpos-slot-status {
3145
+ font-size: 10px;
3146
+ }
3147
+ .aaravpos-staff-wrapper {
3148
+ overflow-y: auto;
3149
+ padding-bottom: 80px;
3150
+ scrollbar-width: none;
3151
+ -ms-overflow-style: none;
3152
+ height: 120px;
3153
+ }
3154
+ .aaravpos-staff-wrapper::-webkit-scrollbar {
3155
+ display: none;
3156
+ }
3157
+ .arravpos-profile-image {
3158
+ width: 40px;
3159
+ height: 40px;
3160
+ border-radius: 9999px;
3161
+ object-fit: cover;
3162
+ flex-shrink: 0;
3163
+ }
3164
+ .arravpos-profile-avatar {
3165
+ width: 40px;
3166
+ height: 40px;
3167
+ border-radius: 9999px;
3168
+ background-color: #000000;
3169
+ color: #ffffff;
3170
+ display: flex;
3171
+ align-items: center;
3172
+ justify-content: center;
3173
+ flex-shrink: 0;
3174
+ }
3175
+ .arravpos-card-box {
3176
+ background-color: #ffffff;
3177
+ border: 1px solid var(--btn-bg);
3178
+ border-radius: 2px;
3179
+ padding: 16px;
3180
+ margin-bottom: 8px;
3181
+ font-size: 14px;
3182
+ }
3183
+ .arravpos-section-label {
3184
+ margin-top: 20px;
3185
+ margin-bottom: 8px;
3186
+ font-size: 10px;
3187
+ font-weight: 700;
3188
+ text-transform: uppercase;
3189
+ letter-spacing: 1.5px;
3190
+ color: rgba(0, 0, 0, 0.7);
3191
+ }
3192
+ .arravpos-select-card {
3193
+ display: flex;
3194
+ flex-direction: row;
3195
+ align-items: center;
3196
+ gap: 12px;
3197
+ padding: 12px;
3198
+ border-radius: 2px;
3199
+ cursor: pointer;
3200
+ margin-bottom: 8px;
3201
+ border: 1px solid;
3202
+ }
3203
+ .arravpos-select-card-default {
3204
+ border-color: var(--border);
3205
+ background-color: transparent;
3206
+ }
3207
+ .arravpos-select-card-active {
3208
+ border-color: var(--red);
3209
+ background-color: rgba(255, 0, 0, 0.05);
3210
+ }
3211
+ .arravpos-select-check {
3212
+ margin-left: auto;
3213
+ display: flex;
3214
+ align-items: center;
3215
+ justify-content: center;
3216
+ flex-shrink: 0;
3217
+ }
3218
+ .arravpos-date-nav-btn {
3219
+ flex-shrink: 0;
3220
+ width: 34px;
3221
+ background-color: rgb(242, 240, 236);
3222
+ border: 1px solid rgb(222, 218, 212);
3223
+ padding: 8px;
3224
+ border-radius: 2px;
3225
+ cursor: pointer;
3226
+ font-size: 14px;
3227
+ color: var(--muted);
3228
+ display: flex;
3229
+ align-items: center;
3230
+ justify-content: center;
3231
+ align-self: stretch;
3232
+ transition: all 150ms ease;
3233
+ }
3234
+ .arravpos-date-nav-btn:hover {
3235
+ border-color: var(--red);
3236
+ color: var(--red);
3237
+ background-color: rgba(215, 38, 61, 0.12);
3238
+ }
3239
+ .aaravpos-loading-container {
3240
+ display: flex;
3241
+ align-items: center;
3242
+ justify-content: center;
3243
+ height: 100vh;
3244
+ }
3245
+ .aaravpos-loading-text {
3246
+ font-size: 14px;
3247
+ color: #222;
3248
+ }
3249
+ .aaravpos-error-container {
3250
+ display: flex;
3251
+ flex-direction: column;
3252
+ align-items: center;
3253
+ justify-content: center;
3254
+ height: 100vh;
3255
+ padding: 20px;
3256
+ text-align: center;
3257
+ }
3258
+ .aaravpos-error-text {
3259
+ color: #dc2626;
3260
+ margin-bottom: 16px;
3261
+ font-size: 14px;
3262
+ font-weight: 500;
3263
+ }
3264
+ .aaravpos-book-btn {
3265
+ display: flex;
3266
+ align-items: center;
3267
+ gap: 8px;
3268
+ padding: 12px 28px;
3269
+ background: var(--btn-bg);
3270
+ color: var(--btn-text);
3271
+ border: 1px solid var(--btn-bg);
3272
+ border-radius: 4px;
3273
+ cursor: pointer;
3274
+ text-transform: uppercase;
3275
+ letter-spacing: 0.5px;
3276
+ font-size: 16px;
3277
+ transition: all 0.2s ease;
3278
+ }
3279
+ .aaravpos-book-btn:hover {
3280
+ background: var(--btn-bg-hover);
3281
+ border-color: var(--btn-bg-hover);
3282
+ color: var(--btn-text-hover);
3283
+ }
3284
+ .aaravpos-form-control {
3285
+ display: flex;
3286
+ flex-direction: column;
3287
+ }
3288
+ @media (min-width: 640px) {
3289
+ .custom-container {
3290
+ padding-left: 32px;
3291
+ padding-right: 32px;
3292
+ }
3293
+ .aaravpos-title {
3294
+ font-size: 28px;
3295
+ }
3296
+ .aaravpos-outlet-grid {
3297
+ grid-template-columns: repeat(2, 1fr);
3298
+ }
3299
+ .aaravpos-modal {
3300
+ max-width: 32rem;
3301
+ }
3302
+ }
3303
+ @media (max-width: 768px) {
3304
+ .arravpos-select-card {
3305
+ gap: 10px;
3306
+ padding: 10px;
3307
+ }
3308
+ .aaravpos-common-btn {
3309
+ padding: 14px 8px;
3310
+ font-size: 12px;
3311
+ }
3312
+ .aaravpos-date-modal {
3313
+ height: fit-content;
3314
+ border-top-left-radius: 18px;
3315
+ border-top-right-radius: 18px;
3316
+ border-bottom-left-radius: 0;
3317
+ border-bottom-right-radius: 0;
3318
+ }
3319
+ .aaravpos-date-modal-header {
3320
+ padding-left: 16px;
3321
+ padding-right: 16px;
3322
+ }
3323
+ .aaravpos-date-modal-title {
3324
+ font-size: 18px;
3325
+ }
3326
+ .aaravpos-calendar-grid {
3327
+ gap: 8px;
3328
+ }
3329
+ .aaravpos-calendar-day {
3330
+ min-height: 40px;
3331
+ }
3332
+ .arravpos-date-nav-btn svg {
3333
+ width: 18px;
3334
+ height: 18px;
3335
+ }
3336
+ .arravpos-date-strip {
3337
+ gap: 5px;
3338
+ }
3339
+ .arravpos-date-week {
3340
+ font-size: 9px;
3341
+ }
3342
+ .arravpos-date-day {
3343
+ font-size: 20px;
3344
+ }
3345
+ .arravpos-date-today {
3346
+ font-size: 7px;
3347
+ }
3348
+ .arravpos-select-check svg {
3349
+ width: 18px;
3350
+ height: 18px;
3351
+ }
3352
+ .arravpos-card-box {
3353
+ padding: 14px;
3354
+ font-size: 13px;
3355
+ }
3356
+ .arravpos-booking-scroll {
3357
+ height: calc(100dvh - 200px);
3358
+ }
3359
+ .arravpos-calendar-btn {
3360
+ font-size: 12px;
3361
+ }
3362
+ .arravpos-outlet-info {
3363
+ padding: 10px;
3364
+ }
3365
+ .arravpos-outlet-logo {
3366
+ width: 36px;
3367
+ height: 36px;
3368
+ }
3369
+ .arravpos-appointment-header {
3370
+ align-items: flex-start;
3371
+ }
3372
+ .arravpos-appointment-price {
3373
+ font-size: 14px;
3374
+ }
3375
+ .arravpos-appointment-services {
3376
+ white-space: normal;
3377
+ display: -webkit-box;
3378
+ -webkit-line-clamp: 2;
3379
+ line-clamp: 2;
3380
+ -webkit-box-orient: vertical;
3381
+ }
3382
+ }
3383
+ @media (min-width: 768px) {
3384
+ .arravpos-section-label {
3385
+ margin-top: 18px;
3386
+ font-size: 9px;
3387
+ letter-spacing: 1.3px;
3388
+ }
3389
+ .arravpos-profile-avatar {
3390
+ width: 36px;
3391
+ height: 36px;
3392
+ font-size: 14px;
3393
+ }
3394
+ .arravpos-profile-image {
3395
+ width: 36px;
3396
+ height: 36px;
3397
+ }
3398
+ .aaravpos-desktop-stepper {
3399
+ display: flex;
3400
+ align-items: center;
3401
+ gap: 16px;
3402
+ width: 100%;
3403
+ }
3404
+ .aaravpos-services-wrapper.standalone {
3405
+ height: calc(100dvh - 300px);
3406
+ }
3407
+ .aaravpos-services-wrapper.standalone {
3408
+ height: calc(100dvh - 300px);
3409
+ }
3410
+ .aaravpos-layout-wrapper {
3411
+ grid-template-columns: minmax(0, 1fr) 350px;
3412
+ }
3413
+ .aaravpos-sidebar {
3414
+ display: flex;
3415
+ }
3416
+ .aaravpos-mobile-button {
3417
+ display: none;
3418
+ }
3419
+ .aaravpos-sidebar-mobile-content {
3420
+ padding-left: 24px;
3421
+ padding-right: 24px;
3422
+ }
3423
+ .aaravpos-order-list {
3424
+ height: calc(100dvh - 195px);
3425
+ }
3426
+ .aaravpos-pro-order-list {
3427
+ height: calc(100dvh - 220px);
3428
+ }
3429
+ .aaravpos-staff-wrapper {
3430
+ height: calc(100dvh - 200px);
3431
+ }
3432
+ .aaravpos-sidebar-close-btn {
3433
+ display: none;
3434
+ }
3435
+ .arravpos-details-grid {
3436
+ grid-template-columns: repeat(2, 1fr);
3437
+ gap: 20px;
3438
+ }
3439
+ .aaravpos-modal {
3440
+ max-width: 36rem;
3441
+ }
3442
+ }
3443
+ @media (max-width: 480px) {
3444
+ .arravpos-date-nav-btn {
3445
+ width: 30px;
3446
+ padding: 6px;
3447
+ }
3448
+ .arravpos-date-nav-btn svg {
3449
+ width: 16px;
3450
+ height: 16px;
3451
+ }
3452
+ .arravpos-date-strip {
3453
+ gap: 4px;
3454
+ }
3455
+ .arravpos-date-card {
3456
+ min-width: 26px;
3457
+ min-height: 40px;
3458
+ padding: 8px 4px;
3459
+ }
3460
+ .arravpos-date-week {
3461
+ font-size: 8px;
3462
+ margin-bottom: 3px;
3463
+ }
3464
+ .arravpos-date-day {
3465
+ font-size: 18px;
3466
+ }
3467
+ .arravpos-date-today {
3468
+ margin-top: 4px;
3469
+ font-size: 6px;
3470
+ }
3471
+ .arravpos-select-check svg {
3472
+ width: 16px;
3473
+ height: 16px;
3474
+ }
3475
+ .arravpos-select-card {
3476
+ gap: 8px;
3477
+ padding: 8px;
3478
+ }
3479
+ .arravpos-section-label {
3480
+ margin-top: 16px;
3481
+ font-size: 8px;
3482
+ letter-spacing: 1.1px;
3483
+ }
3484
+ .arravpos-card-box {
3485
+ padding: 12px;
3486
+ font-size: 12px;
3487
+ }
3488
+ .arravpos-profile-image {
3489
+ width: 32px;
3490
+ height: 32px;
3491
+ }
3492
+ .arravpos-profile-avatar {
3493
+ width: 32px;
3494
+ height: 32px;
3495
+ font-size: 12px;
3496
+ }
3497
+ .arravpos-outlet-name {
3498
+ font-size: 13px;
3499
+ }
3500
+ .arravpos-outlet-address {
3501
+ font-size: 11px;
3502
+ }
3503
+ .arravpos-appointment-name {
3504
+ font-size: 13px;
3505
+ }
3506
+ .arravpos-appointment-date-text {
3507
+ font-size: 13px;
3508
+ }
3509
+ }
3510
+ @media (min-width: 1024px) {
3511
+ .arravpos-date-strip {
3512
+ gap: 6px;
3513
+ }
3514
+ .custom-container {
3515
+ padding-left: 64px;
3516
+ padding-right: 64px;
3517
+ }
3518
+ .arravpos-consent-modal {
3519
+ width: 60%;
3520
+ }
3521
+ .arravpos-scroll-area {
3522
+ padding-bottom: 16px;
3523
+ }
3524
+ .arravpos-consent-title {
3525
+ font-size: 20px;
3526
+ }
3527
+ .aaravpos-header {
3528
+ flex-direction: row;
3529
+ align-items: center;
3530
+ }
3531
+ .aaravpos-search-wrapper {
3532
+ max-width: 240px;
3533
+ }
3534
+ .aaravpos-outlet-grid {
3535
+ grid-template-columns: repeat(3, 1fr);
3536
+ }
3537
+ .aaravpos-services-title {
3538
+ font-size: 36px;
3539
+ }
3540
+ .aaravpos-services-topbar {
3541
+ flex-direction: row;
3542
+ align-items: flex-end;
3543
+ gap: 32px;
3544
+ }
3545
+ .aaravpos-topbar {
3546
+ flex-direction: row;
3547
+ align-items: flex-end;
3548
+ gap: 32px;
3549
+ }
3550
+ .aaravpos-layout-wrapper {
3551
+ grid-template-columns: minmax(0, 1fr) 360px;
3552
+ }
3553
+ .arravpos-details-scroll {
3554
+ padding-bottom: 16px;
3555
+ }
3556
+ }
3557
+ @media (max-width: 1024px) {
3558
+ .arravpos-booking-grid {
3559
+ flex-direction: column;
3560
+ gap: 20px;
3561
+ }
3562
+ }
3563
+ @media (min-width: 1280px) {
3564
+ .aaravpos-title {
3565
+ font-size: 32px;
3566
+ }
3567
+ .aaravpos-outlet-grid {
3568
+ grid-template-columns: repeat(4, 1fr);
3569
+ }
3570
+ }
3571
+ @media (min-width: 1536px) {
3572
+ .aaravpos-outlet-grid {
3573
+ grid-template-columns: repeat(5, 1fr);
3574
+ }
3575
+ }
3576
+ @keyframes aaravpos-shimmer {
3577
+ 0% {
3578
+ left: -100%;
3579
+ }
3580
+ 100% {
3581
+ left: 100%;
3582
+ }
3583
+ }
3584
+ @keyframes fadeUp {
3585
+ from {
3586
+ opacity: 0;
3587
+ transform: translateY(8px);
3588
+ }
3589
+ to {
3590
+ opacity: 1;
3591
+ transform: translateY(0);
3592
+ }
3593
+ }
3594
+ @keyframes slotIn {
3595
+ from {
3596
+ opacity: 0;
3597
+ transform: translateY(6px);
3598
+ }
3599
+ to {
3600
+ opacity: 1;
3601
+ transform: translateY(0);
3602
+ }
3603
+ }
3604
+ @keyframes popIn {
3605
+ from {
3606
+ opacity: 0;
3607
+ transform: scale(0.95) translateY(10px);
3608
+ }
3609
+ to {
3610
+ opacity: 1;
3611
+ transform: scale(1) translateY(0);
3612
+ }
3613
+ }
3614
+ @keyframes pulseBrand {
3615
+ 0%, 100% {
3616
+ box-shadow: 0 0 0 16px color-mix(in srgb, var(--app-bg) 12%, transparent);
3617
+ }
3618
+ 50% {
3619
+ box-shadow: 0 0 0 24px color-mix(in srgb, var(--app-bg) 6%, transparent);
3620
+ }
3621
+ }
3622
+ @keyframes aaravposFadeIn {
3623
+ from {
3624
+ opacity: 0;
3625
+ transform: translateY(6px);
3626
+ }
3627
+ to {
3628
+ opacity: 1;
3629
+ transform: translateY(0);
3630
+ }
3631
+ }
3632
+ @keyframes aaravposFadeIn {
3633
+ from {
3634
+ opacity: 0;
3635
+ transform: translateY(12px);
3636
+ }
3637
+ to {
3638
+ opacity: 1;
3639
+ transform: translateY(0);
3640
+ }
3641
+ }
3642
+ @keyframes aaravposPopIn {
3643
+ from {
3644
+ opacity: 0;
3645
+ transform: scale(0.96);
3646
+ }
3647
+ to {
3648
+ opacity: 1;
3649
+ transform: scale(1);
3650
+ }
3651
+ }
3652
+ @keyframes aaravposShimmer {
3653
+ 100% {
3654
+ left: 100%;
3655
+ }
3656
+ }
3657
+ @keyframes aaravposSpin {
3658
+ from {
3659
+ transform: rotate(0deg);
3660
+ }
3661
+ to {
3662
+ transform: rotate(360deg);
3663
+ }
3664
+ }
3665
+ @keyframes arravpos-spin {
3666
+ to {
3667
+ transform: rotate(360deg);
3668
+ }
3669
+ }
3670
+ @keyframes arravpos-spin {
3671
+ to {
3672
+ transform: rotate(360deg);
1190
3673
  }
1191
3674
  }