@aaravpos/appointment-booking-plugin 1.0.3 → 1.0.4

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