@snapcall/stream-ui 1.16.0 → 1.17.0

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/stream-ui.js CHANGED
@@ -5,11 +5,13 @@ var $jQDcL$bundletextsnapcalldesignsystemdiststylecss = require("bundle-text:@sn
5
5
  var $jQDcL$reacthottoast = require("react-hot-toast");
6
6
  var $jQDcL$styledcomponents = require("styled-components");
7
7
  var $jQDcL$react = require("react");
8
+ var $jQDcL$snapcalldesignsystem = require("@snapcall/design-system");
8
9
  require("inobounce");
9
10
  var $jQDcL$reactquery = require("react-query");
10
11
  var $jQDcL$reacti18next = require("react-i18next");
11
12
  var $jQDcL$i18next = require("i18next");
12
13
  var $jQDcL$bowser = require("bowser");
14
+ var $jQDcL$reactstately = require("react-stately");
13
15
  var $jQDcL$uuid = require("uuid");
14
16
  var $jQDcL$protooclient = require("protoo-client");
15
17
  var $jQDcL$mediasoupclientlibProducer = require("mediasoup-client/lib/Producer");
@@ -17,10 +19,9 @@ var $jQDcL$sentrybrowser = require("@sentry/browser");
17
19
  var $jQDcL$mediasoupclient = require("mediasoup-client");
18
20
  var $jQDcL$mediapipeselfie_segmentation = require("@mediapipe/selfie_segmentation");
19
21
  var $jQDcL$buffer = require("buffer");
22
+ var $jQDcL$reacthookform = require("react-hook-form");
20
23
  var $jQDcL$reactdom = require("react-dom");
21
24
  var $jQDcL$qrcode = require("qrcode");
22
- var $jQDcL$reactstately = require("react-stately");
23
- var $jQDcL$snapcalldesignsystem = require("@snapcall/design-system");
24
25
  var $jQDcL$lottiefilesreactlottieplayer = require("@lottiefiles/react-lottie-player");
25
26
  var $jQDcL$classnames = require("classnames");
26
27
 
@@ -345,6 +346,7 @@ const $57b7750d9786bf6f$export$1cbfb36c1655a9a = (root, element)=>{
345
346
 
346
347
 
347
348
 
349
+
348
350
  const $393bda1b33846dfc$export$604ba5624273df44 = ()=>{
349
351
  try {
350
352
  const storedTheme = localStorage.getItem("stream_ui_language");
@@ -417,7 +419,8 @@ const $91fcbf58e59aae79$export$84584c2a98eb6753 = {
417
419
  title: "Copy link",
418
420
  description: "Copy link into clipboard",
419
421
  error: "An error occured when trying to copy to clipboard",
420
- copied: "Link copied to clipboard"
422
+ copied: "Link copied to clipboard",
423
+ copy: "Copy"
421
424
  },
422
425
  quickConnect: {
423
426
  title: "Quick Connect",
@@ -457,6 +460,28 @@ const $91fcbf58e59aae79$export$84584c2a98eb6753 = {
457
460
  invoice: "{{user}} sent you an invoice.",
458
461
  pay: "Pay"
459
462
  },
463
+ invitePeople: {
464
+ inviteRecordClip: "Invite to record clip",
465
+ copyCallLinkDescription: "Copy this link and send it to anyone you wish to invite to join the call.",
466
+ copyClipLinkDescription: "Copy this link and send it to anyone you wish to invite to record a clip.",
467
+ inviteCall: "Invite to join call",
468
+ sharePublicLink: "Share public link",
469
+ inviteByEmail: "Invite by email",
470
+ addEmailToInvite: "Add an email to invite.",
471
+ email: "Email",
472
+ emailPlaceholder: "Eg. john@acme.com",
473
+ invite: "Invite",
474
+ linkToJoinCall: "Link to join the call",
475
+ linkToRecordAClip: "Link to record a clip",
476
+ invalidEmail: "Invalid email format.",
477
+ addEmails: "Add emails...",
478
+ invitationSentTo_one: "Sent to {{ name }}",
479
+ invitationSentTo_other: "Sent to {{ name }} and {{ otherEmailsCount }}+",
480
+ error: "Failed to send, please try again later.",
481
+ inviteCallDefaultMessage: "Hey! You're invited to join our video call. Click the link to connect instantly.",
482
+ inviteClipDefaultMessage: "Hey! Please record your video clip now and provide us with more context to assist you better.",
483
+ message: "Message"
484
+ },
460
485
  youtube: {
461
486
  title: "Watch Together",
462
487
  url: "YOUTUBE URL",
@@ -549,7 +574,7 @@ const $91fcbf58e59aae79$export$84584c2a98eb6753 = {
549
574
  attachElements_other: "Attach {{ count }} elements",
550
575
  allowAccess: "Allow access",
551
576
  okay: "Okay",
552
- allowCamMicAccess: "Allow access to camera and microphone",
577
+ allowCamMicAccess: "Allow access to cam/mic",
553
578
  allowScreenShareAccess: "Allow access to screen sharing",
554
579
  permissionDeniedTitle: "Something went wrong!",
555
580
  permissionDeniedDescription: "Without access to the camera and microphone, you won't be able to capture photos or videos to share with the support team. Please grant access in your browser settings.",
@@ -557,19 +582,15 @@ const $91fcbf58e59aae79$export$84584c2a98eb6753 = {
557
582
  videoInstructionsTitle: "Ready to record a video?",
558
583
  screenShareInstructionsTitle: "Ready to share your screen?",
559
584
  instructions: {
560
- allowAccessOnPrompt: "When prompted, <1>allow access</1> to the camera and microphone.",
561
- tapPhotoButton: "Tap the <1 /><2>Camera button</2> to take a photo.",
562
- multiplePhotos: "Feel free to take multiple photos for more details.",
563
- reviewAndSendPhotos: "Review your photo and <1>send it when you're satisfied.</1>",
564
- reviewAndSendScreenShare: "Review your video and <1>send it when you're satisfied.</1>",
565
- tapVideoButton: "Tap the <1 /><2>Record button</2> to start recording.",
566
- videoSpeech: "You can <1>talk during</1> the recording to provide additional information.",
567
- tapStopVideoButton: "When you're done, tap the <1 /><2>Stop button</2>.",
568
- reviewAndSendVideos: "Review your video and <1>send it when you're satisfied</1>.",
569
- tapScreenShareButton: "Tap <1>Record my screen</1> to begin recording.",
570
- tapStopScreenShareButton: "When you're done, tap <1>Stop recording</1>.",
585
+ allowAccessOnPrompt: "When prompted, <bold>allow access</bold> to camera and microphone.",
586
+ multiplePhotos: "Take a <bold>photo or multiple</bold> for detail, then review.",
587
+ reviewAndSendPhotos: "<bold>Validate your photos</bold>, and they will be sent to us automatically.",
588
+ tapVideoButton: "<bold>Tap the record button</bold> to begin and feel free to provide commentary.",
589
+ videoSpeech: "You can <bold>talk during</bold> the recording to provide additional information.",
590
+ tapStopVideoButton: "<bold>Tap stop</bold> when you are done.",
591
+ reviewAndSendVideos: "<bold>Review your videos</bold>, and they will be sent to us automatically.",
571
592
  screenShareInstruction: "Select the screen or window you wish to record.",
572
- privacyPolicy: "By proceeding, you agree to our <1>Privacy Policy</1>."
593
+ privacyPolicy: "By proceeding, you agree to our <bold>Privacy Policy</bold>."
573
594
  },
574
595
  switchToMobileTitle: "Switch to your mobile device",
575
596
  switchToMobileDescription: "Experience greater convenience by using your phone to take photos and record videos.",
@@ -668,7 +689,8 @@ const $e52ca91c2b296e41$export$acb2a88f7d552ebf = {
668
689
  title: "Copier le lien",
669
690
  description: "Copier le lien dans le presse-papiers",
670
691
  error: "Une erreur est survenue pendant la copie du lien dans le presse-papier",
671
- copied: "Lien copi\xe9 dans le presse-papier"
692
+ copied: "Lien copi\xe9 dans le presse-papier",
693
+ copy: "Copier"
672
694
  },
673
695
  quickConnect: {
674
696
  title: "Quick Connect",
@@ -708,6 +730,28 @@ const $e52ca91c2b296e41$export$acb2a88f7d552ebf = {
708
730
  invoice: "{{user}} vous a envoy\xe9 une facture.",
709
731
  pay: "Payer"
710
732
  },
733
+ invitePeople: {
734
+ inviteRecordClip: "Inviter \xe0 enregistrer un clip",
735
+ copyCallLinkDescription: "Copiez ce lien et envoyez-le \xe0 toute personne que vous souhaitez inviter \xe0 rejoindre l'appel.",
736
+ copyClipLinkDescription: "Copiez ce lien et envoyez-le \xe0 toute personne que vous souhaitez inviter \xe0 enregistrer un clip.",
737
+ inviteCall: "Inviter \xe0 rejoindre l'appel",
738
+ sharePublicLink: "Partager le lien public",
739
+ inviteByEmail: "Inviter par email",
740
+ addEmailToInvite: "Ajoutez un e-mail pour inviter.",
741
+ email: "Email",
742
+ emailPlaceholder: "Ex. jean@acme.com",
743
+ invite: "Inviter",
744
+ linkToJoinCall: "Lien pour rejoindre l'appel",
745
+ linkToRecordAClip: "Lien pour enregistrer un clip",
746
+ invalidEmail: "Format d'email invalide.",
747
+ addEmails: "Ajouter des e-mails...",
748
+ invitationSentTo_one: "Envoy\xe9 \xe0 {{ name }}",
749
+ invitationSentTo_other: "Envoy\xe9 \xe0 {{ name }} et {{ otherEmailsCount }}+",
750
+ error: "\xc9chec de l'envoi, veuillez r\xe9essayer plus tard.",
751
+ inviteCallDefaultMessage: "Vous \xeates invit\xe9 \xe0 rejoindre notre appel vid\xe9o. Cliquez sur le lien pour vous connecter instantan\xe9ment.",
752
+ inviteClipDefaultMessage: "Veuillez enregistrer votre clip vid\xe9o maintenant et nous fournir plus de contexte pour mieux vous aider.",
753
+ message: "Message"
754
+ },
711
755
  youtube: {
712
756
  title: "Regardons Ensemble",
713
757
  url: "URL YOUTUBE",
@@ -795,32 +839,28 @@ const $e52ca91c2b296e41$export$acb2a88f7d552ebf = {
795
839
  sendElements_one: "Envoyer la {{ type }}",
796
840
  sendElements_other: "Envoyer {{ count }} \xe9l\xe9ments",
797
841
  attachElements_one: "Joindre {{ type }} au ticket",
798
- attachElements_other: "Joindre {{ count }}\xa0\xe9l\xe9ments",
842
+ attachElements_other: "Joindre {{ count }} \xe9l\xe9ments",
799
843
  clipCount_one: "{{ count }} clip",
800
844
  clipCount_other: "{{ count }} clips",
801
845
  allowAccess: "Autoriser l'acc\xe8s",
802
846
  okay: "D'accord",
803
- allowCamMicAccess: "Autoriser l'acc\xe8s \xe0 la cam\xe9ra et au micro",
847
+ allowCamMicAccess: "Autoriser acc\xe8s cam\xe9ra/micro",
804
848
  allowScreenShareAccess: "Autoriser l'acc\xe8s au partage d'\xe9cran",
805
849
  permissionDeniedTitle: "Quelque chose s'est mal pass\xe9 !",
806
850
  permissionDeniedDescription: "Sans acc\xe8s \xe0 la cam\xe9ra et au microphone, vous ne pouvez pas prendre de photos ou de vid\xe9os \xe0 partager avec l'\xe9quipe d'assistance. Veuillez accorder l'acc\xe8s dans les param\xe8tres de votre navigateur.",
807
- photoInstructionsTitle: "Pr\xeat(e) \xe0 prendre une photo ?",
808
- videoInstructionsTitle: "Pr\xeat(e) \xe0 enregistrer une vid\xe9o ?",
809
- screenShareInstructionsTitle: "Pr\xeat(e) \xe0 partager votre \xe9cran ?",
851
+ photoInstructionsTitle: "Pr\xeat \xe0 prendre une photo ?",
852
+ videoInstructionsTitle: "Pr\xeat \xe0 enregistrer une vid\xe9o ?",
853
+ screenShareInstructionsTitle: "Pr\xeat \xe0 partager votre \xe9cran ?",
810
854
  instructions: {
811
- allowAccessOnPrompt: "Lorsque vous y \xeates invit\xe9(e), <1>autorisez l'acc\xe8s</1> \xe0 la cam\xe9ra et au microphone.",
812
- tapPhotoButton: "Appuyez sur le <1 /><2>bouton Appareil photo</2> pour prendre une photo.",
813
- multiplePhotos: "N'h\xe9sitez pas \xe0 prendre plusieurs photos pour plus de d\xe9tails.",
814
- reviewAndSendPhotos: "Vous pouvez revoir votre photo, puis <1>l'envoyer lorsque vous avez termin\xe9.</1>",
815
- tapVideoButton: "Appuyez sur le <1 /><2>bouton d'enregistrement</2> pour d\xe9marrer un enregistrement.",
855
+ allowAccessOnPrompt: "<bold>Autorisez l'acc\xe8s</bold> \xe0 la cam\xe9ra et au micro lorsque demand\xe9.",
856
+ multiplePhotos: "Prenez <bold>une ou plusieurs photos</bold> pour donner plus de d\xe9tails.",
857
+ reviewAndSendPhotos: "<bold>Validez vos photos</bold>, et elles nous seront envoy\xe9es automatiquement.",
858
+ tapVideoButton: "<bold>Appuyez sur Enregistrer</bold>. Pensez \xe0 commenter.",
816
859
  videoSpeech: "Vous pouvez <1>parler pendant</1> l'enregistrement pour ajouter des d\xe9tails.",
817
- tapStopVideoButton: "Lorsque vous avez termin\xe9, appuyez sur le <1 /><2>bouton Arr\xeater</2>.",
818
- reviewAndSendVideos: "Vous pouvez revoir votre vid\xe9o, puis <1>l'envoyer lorsque vous avez termin\xe9</2>.",
819
- tapScreenShareButton: "Appuyez sur <1>Enregistrer \xe9cran</1> pour d\xe9marrer un enregistrement.",
820
- tapStopScreenShareButton: "Lorsque vous avez termin\xe9, appuyez sur <1>Stop enregistrement</1>.",
821
- reviewAndSendScreenShare: "Vous pouvez revoir votre vid\xe9o, puis <1>l'envoyer lorsque vous avez termin\xe9.</1>",
860
+ tapStopVideoButton: "<bold>Appuyez sur Arr\xeat</bold> lorsque vous avez termin\xe9.",
861
+ reviewAndSendVideos: "<bold>Validez vos vid\xe9os</bold>, et elles nous seront envoy\xe9es automatiquement.",
822
862
  screenShareInstruction: "S\xe9lectionnez l'\xe9cran ou la fen\xeatre que vous souhaitez enregistrer.",
823
- privacyPolicy: "En poursuivant, vous acceptez notre <1>Politique de confidentialit\xe9</1>."
863
+ privacyPolicy: "En continuant, vous acceptez notre <bold>Politique de confidentialit\xe9</bold>."
824
864
  },
825
865
  switchToMobileTitle: "Passez sur votre mobile",
826
866
  switchToMobileDescription: "Profitez d'une exp\xe9rience encore plus pratique en utilisant votre t\xe9l\xe9phone pour prendre des photos et enregistrer des vid\xe9os.",
@@ -919,7 +959,8 @@ const $e0ae3d23c2381da3$export$3486a10f30cf1ee4 = {
919
959
  title: "Copia il link",
920
960
  description: "Copia il link negli appunti",
921
961
  error: "Si \xe8 verificato un errore durante la copia negli Appunti",
922
- copied: "Link copiato negli Appunti"
962
+ copied: "Link copiato negli Appunti",
963
+ copy: "Copia"
923
964
  },
924
965
  quickConnect: {
925
966
  title: "Connessione Rapida",
@@ -959,6 +1000,28 @@ const $e0ae3d23c2381da3$export$3486a10f30cf1ee4 = {
959
1000
  invoice: "{{User}} ti ha inviato una fattura.",
960
1001
  pay: "Paga"
961
1002
  },
1003
+ invitePeople: {
1004
+ inviteRecordClip: "Invita a registrare la clip",
1005
+ copyCallLinkDescription: "Copia questo link e invialo a chiunque desideri invitare a partecipare alla chiamata.",
1006
+ copyClipLinkDescription: "Copia questo collegamento e invialo a chiunque desideri invitare a registrare una clip.",
1007
+ inviteCall: "Invita a partecipare alla chiamata",
1008
+ sharePublicLink: "Condividi link",
1009
+ inviteByEmail: "Invita via email",
1010
+ addEmailToInvite: "Aggiungi un'e-mail per invitare.",
1011
+ email: "Email",
1012
+ emailPlaceholder: "Es. giovanni@acme.com",
1013
+ invite: "Invita",
1014
+ linkToJoinCall: "Link per partecipare alla chiamata",
1015
+ linkToRecordAClip: "Collegamento per registrare una clip",
1016
+ invalidEmail: "Formato email non valido.",
1017
+ addEmails: "Aggiungi email...",
1018
+ invitationSentTo_one: "Inviato a {{ name }}",
1019
+ invitationSentTo_other: "Inviato a {{ name }} e {{ otherEmailsCount }}+",
1020
+ error: "Impossibile inviare, riprova pi\xf9 tardi.",
1021
+ inviteCallDefaultMessage: "Sei invitato a partecipare alla nostra videochiamata. Fare clic sul collegamento per connettersi immediatamente.",
1022
+ inviteClipDefaultMessage: "Registra subito il tuo videoclip e forniscici pi\xf9 contesto per assisterti meglio.",
1023
+ message: "Messaggio"
1024
+ },
962
1025
  youtube: {
963
1026
  title: "Vedere Assieme",
964
1027
  url: "URL YOUTUBE",
@@ -1051,7 +1114,7 @@ const $e0ae3d23c2381da3$export$3486a10f30cf1ee4 = {
1051
1114
  clipCount_other: "{{ count }} clips",
1052
1115
  allowAccess: "Consenti accesso",
1053
1116
  okay: "Okay",
1054
- allowCamMicAccess: "Consenti accesso a fotocamera e microfono",
1117
+ allowCamMicAccess: "Consenti l'accesso a cam/mic",
1055
1118
  allowScreenShareAccess: "Consenti accesso alla condivisione dello schermo",
1056
1119
  permissionDeniedTitle: "Qualcosa \xe8 andato storto!",
1057
1120
  permissionDeniedDescription: "Senza l'accesso alla fotocamera e al microfono, non \xe8 possibile scattare foto o registrare video da condividere con il team di supporto. Si prega di concedere l'accesso nelle impostazioni del browser.",
@@ -1059,19 +1122,15 @@ const $e0ae3d23c2381da3$export$3486a10f30cf1ee4 = {
1059
1122
  videoInstructionsTitle: "Pronto a registrare un video?",
1060
1123
  screenShareInstructionsTitle: "Pronto a condividere il tuo schermo?",
1061
1124
  instructions: {
1062
- allowAccessOnPrompt: "Quando richiesto, <1>consenti l'accesso</1> a fotocamera e microfono.",
1063
- tapPhotoButton: "Tocca il pulsante <1 /><2>Fotocamera</2> per scattare una foto.",
1064
- multiplePhotos: "Non esitare a scattare pi\xf9 foto per maggiori dettagli.",
1065
- reviewAndSendPhotos: "Puoi rivedere la tua foto e poi <1>inviarla quando hai finito.</1>",
1066
- tapVideoButton: "Tocca il pulsante <1 /><2>Registra</2> per avviare una registrazione.",
1125
+ allowAccessOnPrompt: "<bold>Consenti l'accesso</bold> alla fotocamera e al microfono.",
1126
+ multiplePhotos: "Scatta <bold>una foto o pi\xf9</bold> di una per i dettagli.",
1127
+ reviewAndSendPhotos: "<bold>Convalida le tue foto</bold> e verranno inviate automaticamente a noi.",
1128
+ tapVideoButton: "<bold>Premi Registra</bold>. Ricordati di commentare.",
1067
1129
  videoSpeech: "Puoi <1>parlare durante</1> la registrazione per aggiungere dettagli.",
1068
- tapStopVideoButton: "Quando hai finito, tocca il pulsante <1 /><2>Ferma</2>.",
1069
- reviewAndSendVideos: "Puoi rivedere il tuo video e poi <1>inviarlo quando hai finito</1>.",
1070
- tapScreenShareButton: "Tocca <1>Registra il mio schermo</1> per avviare una registrazione.",
1071
- tapStopScreenShareButton: "Quando hai finito, tocca <1>Ferma registrazione</1>.",
1072
- reviewAndSendScreenShare: "Puoi rivedere il tuo video e poi <1>inviarlo quando hai finito.</1>",
1130
+ tapStopVideoButton: "<bold>Premi Stop</bold> quando hai finito.",
1131
+ reviewAndSendVideos: "<bold>Convalida i tuoi video</bold> e verranno inviati automaticamente a noi.",
1073
1132
  screenShareInstruction: "Seleziona lo schermo o la finestra che desideri registrare.",
1074
- privacyPolicy: "Procedendo, l'utente accetta la nostra <1>Privacy Policy</1>."
1133
+ privacyPolicy: "Procedendo, accetti la nostra <bold>Politica sulla Privacy.</bold>"
1075
1134
  },
1076
1135
  switchToMobileTitle: "Passa al tuo dispositivo mobile",
1077
1136
  switchToMobileDescription: "Goditi un'esperienza ancora pi\xf9 pratica utilizzando il tuo telefono per scattare foto e registrare video.",
@@ -1136,6 +1195,8 @@ var $b45c0bcc142f0b5e$export$2e2bcd8739ae039 = (0, ($parcel$interopDefault($jQDc
1136
1195
 
1137
1196
 
1138
1197
 
1198
+
1199
+
1139
1200
  /* eslint-disable no-console */
1140
1201
  const $d0c6baf97675ab49$var$LogLevel = {
1141
1202
  error: 1,
@@ -1967,6 +2028,7 @@ class $1dedebd5ff3002eb$export$2e2bcd8739ae039 extends $1dedebd5ff3002eb$var$Str
1967
2028
  };
1968
2029
  this.muted = false;
1969
2030
  this.roomId = "";
2031
+ this.companyId = 0;
1970
2032
  this.peerId = "";
1971
2033
  this.webcamProducer = null;
1972
2034
  this.customMessages = new Map();
@@ -2001,6 +2063,7 @@ class $1dedebd5ff3002eb$export$2e2bcd8739ae039 extends $1dedebd5ff3002eb$var$Str
2001
2063
  });
2002
2064
  return {
2003
2065
  roomId: this.roomId,
2066
+ companyId: this.companyId,
2004
2067
  peerId: this.peerId,
2005
2068
  profile: this.profile,
2006
2069
  joinOptions: this.joinOptions,
@@ -2067,7 +2130,7 @@ class $1dedebd5ff3002eb$export$2e2bcd8739ae039 extends $1dedebd5ff3002eb$var$Str
2067
2130
  if (!this.peerId) this.peerId = (0, $jQDcL$uuid.v4)();
2068
2131
  let url;
2069
2132
  try {
2070
- const { streamer_instance: instanceId , plan: { permissions: permissions , name: name } , recordings: recordings } = await fetch(`${this.config.apiUrl}/streams/${room}/info`, {
2133
+ const { streamer_instance: instanceId , plan: { permissions: permissions , name: name } , recordings: recordings , company_id: company_id } = await fetch(`${this.config.apiUrl}/streams/${room}/info`, {
2071
2134
  method: "get",
2072
2135
  headers: {
2073
2136
  "Content-Type": "application/json"
@@ -2076,6 +2139,7 @@ class $1dedebd5ff3002eb$export$2e2bcd8739ae039 extends $1dedebd5ff3002eb$var$Str
2076
2139
  if (response.ok) return response.json();
2077
2140
  throw new Error("Invalid room ID");
2078
2141
  });
2142
+ this.companyId = company_id;
2079
2143
  this.permissions = permissions;
2080
2144
  if (recordings?.headless === true) permissions.push("record_video_on_demand");
2081
2145
  this.plan = name;
@@ -5218,6 +5282,328 @@ const $5dcd9e6925c7037c$var$Sounds = ()=>{
5218
5282
  var $5dcd9e6925c7037c$export$2e2bcd8739ae039 = $5dcd9e6925c7037c$var$Sounds;
5219
5283
 
5220
5284
 
5285
+
5286
+
5287
+
5288
+
5289
+
5290
+
5291
+
5292
+
5293
+ const $bdd080364d556ec5$var$validateEmail = (email)=>{
5294
+ return String(email).toLowerCase().match(/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|.(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/);
5295
+ };
5296
+ const $bdd080364d556ec5$var$getTexts = (type, t)=>({
5297
+ instant: {
5298
+ title: t("invitePeople.inviteCall"),
5299
+ description: t("invitePeople.copyCallLinkDescription"),
5300
+ defaultMessage: t("invitePeople.inviteCallDefaultMessage")
5301
+ },
5302
+ assist: {
5303
+ title: t("invitePeople.inviteRecordClip"),
5304
+ description: t("invitePeople.copyClipLinkDescription"),
5305
+ defaultMessage: t("invitePeople.inviteClipDefaultMessage")
5306
+ }
5307
+ })[type];
5308
+ const $bdd080364d556ec5$export$1712c8fcb05f49a6 = ({ modalState: modalState , ...props })=>{
5309
+ const { t: t } = (0, $jQDcL$reacti18next.useTranslation)();
5310
+ const { toast: toast } = (0, $jQDcL$snapcalldesignsystem.useToast)();
5311
+ const { options: options , isAgent: isAgent , language: language } = (0, $jQDcL$react.useContext)((0, $8b39f32976a7698a$export$2e2bcd8739ae039));
5312
+ const [type, setType] = (0, $jQDcL$react.useState)("instant");
5313
+ const [selectedKey, setSelectedKey] = (0, $jQDcL$react.useState)("public");
5314
+ const formContext = (0, $jQDcL$reacthookform.useForm)({
5315
+ defaultValues: {
5316
+ emails: [],
5317
+ message: ""
5318
+ }
5319
+ });
5320
+ (0, $jQDcL$react.useEffect)(()=>{
5321
+ if (!modalState.isOpen) formContext.reset();
5322
+ }, [
5323
+ modalState.isOpen,
5324
+ formContext
5325
+ ]);
5326
+ const texts = (0, $jQDcL$react.useMemo)(()=>{
5327
+ return $bdd080364d556ec5$var$getTexts(type, t);
5328
+ }, [
5329
+ t,
5330
+ type
5331
+ ]);
5332
+ const streamURL = (0, $jQDcL$react.useMemo)(()=>{
5333
+ const url = new URL(options.sharedURL || window.location.href);
5334
+ if (type === "assist") url.searchParams.set("recorder", "1");
5335
+ return url.href;
5336
+ }, [
5337
+ type,
5338
+ options.sharedURL
5339
+ ]);
5340
+ const sendPublicInvite = (emails)=>{
5341
+ const { roomId: roomId } = (0, $c48c1ecc38fed4e9$export$2f377c2162fd02b2).getState();
5342
+ return fetch(`${options.apiUrl}/public/streams/${roomId}/invite`, {
5343
+ method: "POST",
5344
+ headers: {
5345
+ "Content-Type": "application/json"
5346
+ },
5347
+ body: JSON.stringify({
5348
+ type: type,
5349
+ emails: emails,
5350
+ lang: language
5351
+ })
5352
+ });
5353
+ };
5354
+ const sendAuthInvite = (emails, message)=>{
5355
+ const { roomId: roomId , companyId: companyId , joinOptions: joinOptions } = (0, $c48c1ecc38fed4e9$export$2f377c2162fd02b2).getState();
5356
+ return fetch(`${options.apiUrl}/companies/${companyId}/streams/${roomId}/invite`, {
5357
+ method: "POST",
5358
+ headers: {
5359
+ "Content-Type": "application/json",
5360
+ Authorization: `Bearer ${joinOptions.apiKey}`
5361
+ },
5362
+ body: JSON.stringify({
5363
+ type: type,
5364
+ emails: emails,
5365
+ text: message || texts.defaultMessage
5366
+ })
5367
+ });
5368
+ };
5369
+ const copyStreamUrl = async (url)=>{
5370
+ try {
5371
+ await (0, $0bea101d3ef852fb$export$2e2bcd8739ae039)(url);
5372
+ toast({
5373
+ title: t("copyLink.copied"),
5374
+ icon: /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $jQDcL$snapcalldesignsystem.Copy5Icon), {})
5375
+ });
5376
+ } catch (err) {
5377
+ console.warn(err);
5378
+ toast({
5379
+ title: t("copyLink.error"),
5380
+ icon: /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $jQDcL$snapcalldesignsystem.Copy5Icon), {})
5381
+ });
5382
+ }
5383
+ };
5384
+ const onSubmit = formContext.handleSubmit(async (data)=>{
5385
+ let result;
5386
+ if (isAgent) result = await sendAuthInvite(data.emails, data.message);
5387
+ else result = await sendPublicInvite(data.emails);
5388
+ if (result.ok) {
5389
+ const [firstInvited, ...emails] = data.emails;
5390
+ toast({
5391
+ title: t("invitePeople.invitationSentTo", {
5392
+ name: firstInvited,
5393
+ count: emails.length + 1,
5394
+ otherEmailsCount: emails.length
5395
+ }),
5396
+ icon: /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $jQDcL$snapcalldesignsystem.CheckIcon), {})
5397
+ });
5398
+ formContext.reset();
5399
+ modalState.close();
5400
+ } else toast({
5401
+ title: t("invitePeople.error"),
5402
+ icon: /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $jQDcL$snapcalldesignsystem.AlertTriangleIcon), {})
5403
+ });
5404
+ });
5405
+ return /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $jQDcL$snapcalldesignsystem.Dialog), {
5406
+ open: modalState.isOpen,
5407
+ onOpenChange: (open)=>{
5408
+ !open && modalState.close();
5409
+ },
5410
+ ...props,
5411
+ children: /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsxs)((0, $jQDcL$snapcalldesignsystem.DialogContent), {
5412
+ className: "outline-none",
5413
+ children: [
5414
+ /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $jQDcL$snapcalldesignsystem.DialogHeader), {
5415
+ children: /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $jQDcL$snapcalldesignsystem.DialogTitle), {
5416
+ children: texts.title
5417
+ })
5418
+ }),
5419
+ /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsxs)((0, $jQDcL$snapcalldesignsystem.Tabs), {
5420
+ defaultValue: selectedKey,
5421
+ onValueChange: (key)=>setSelectedKey(String(key)),
5422
+ className: "w-full",
5423
+ children: [
5424
+ /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsxs)((0, $jQDcL$snapcalldesignsystem.TabsList), {
5425
+ className: "w-full mb-4",
5426
+ children: [
5427
+ /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $jQDcL$snapcalldesignsystem.TabsTrigger), {
5428
+ className: "w-full",
5429
+ value: "public",
5430
+ children: t("invitePeople.sharePublicLink")
5431
+ }),
5432
+ /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $jQDcL$snapcalldesignsystem.TabsTrigger), {
5433
+ className: "w-full",
5434
+ value: "invitePeople",
5435
+ children: t("invitePeople.inviteByEmail")
5436
+ })
5437
+ ]
5438
+ }),
5439
+ /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $jQDcL$snapcalldesignsystem.TabsContent), {
5440
+ value: "public",
5441
+ children: /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsxs)("div", {
5442
+ className: "flex flex-col max-w-full gap-4 overflow-hidden",
5443
+ children: [
5444
+ /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsxs)("div", {
5445
+ className: "flex items-center gap-2 py-2 pl-4 pr-2 border border-gray-200 rounded-md bg-gray-25",
5446
+ children: [
5447
+ /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)("input", {
5448
+ readOnly: true,
5449
+ onChange: ()=>{},
5450
+ className: "text-gray-700 truncate text-md grow focus-visible:outline-none",
5451
+ value: streamURL
5452
+ }),
5453
+ /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsxs)((0, $jQDcL$snapcalldesignsystem.Button), {
5454
+ className: "shrink-0",
5455
+ onClick: ()=>copyStreamUrl(streamURL),
5456
+ size: "sm",
5457
+ children: [
5458
+ /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $jQDcL$snapcalldesignsystem.CopyIcon), {
5459
+ className: "text-white",
5460
+ size: 16
5461
+ }),
5462
+ t("copyLink.copy")
5463
+ ]
5464
+ })
5465
+ ]
5466
+ }),
5467
+ /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)("span", {
5468
+ className: "text-sm text-gray-700",
5469
+ children: texts.description
5470
+ })
5471
+ ]
5472
+ })
5473
+ }),
5474
+ /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $jQDcL$snapcalldesignsystem.TabsContent), {
5475
+ value: "invitePeople",
5476
+ children: /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $jQDcL$snapcalldesignsystem.Form), {
5477
+ ...formContext,
5478
+ children: /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsxs)("form", {
5479
+ className: "flex flex-col gap-4",
5480
+ onSubmit: (e)=>{
5481
+ e.preventDefault();
5482
+ onSubmit();
5483
+ },
5484
+ children: [
5485
+ /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $jQDcL$snapcalldesignsystem.FormField), {
5486
+ control: formContext.control,
5487
+ name: "emails",
5488
+ rules: {
5489
+ required: t("invitePeople.addEmailToInvite"),
5490
+ validate: {
5491
+ allEmails: (value)=>{
5492
+ if (!value.every($bdd080364d556ec5$var$validateEmail)) return t("invitePeople.invalidEmail");
5493
+ }
5494
+ }
5495
+ },
5496
+ render: ({ field: field })=>/*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsxs)((0, $jQDcL$snapcalldesignsystem.FormItem), {
5497
+ children: [
5498
+ /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $jQDcL$snapcalldesignsystem.FormLabel), {
5499
+ children: t("invitePeople.inviteByEmail")
5500
+ }),
5501
+ /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $jQDcL$snapcalldesignsystem.FormControl), {
5502
+ children: /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $jQDcL$snapcalldesignsystem.CreatableSelect), {
5503
+ placeholder: t("invitePeople.emailPlaceholder"),
5504
+ newLabel: `${t("invitePeople.email")}: `,
5505
+ value: field.value,
5506
+ onValueChanged: (v)=>{
5507
+ field.onChange(v);
5508
+ },
5509
+ multiple: true
5510
+ })
5511
+ }),
5512
+ /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $jQDcL$snapcalldesignsystem.FormMessage), {})
5513
+ ]
5514
+ })
5515
+ }),
5516
+ isAgent && /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $jQDcL$snapcalldesignsystem.FormField), {
5517
+ control: formContext.control,
5518
+ name: "message",
5519
+ render: ({ field: field })=>/*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsxs)((0, $jQDcL$snapcalldesignsystem.FormItem), {
5520
+ children: [
5521
+ /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $jQDcL$snapcalldesignsystem.FormLabel), {
5522
+ children: t("invitePeople.message")
5523
+ }),
5524
+ /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $jQDcL$snapcalldesignsystem.FormControl), {
5525
+ children: /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $jQDcL$snapcalldesignsystem.Textarea), {
5526
+ placeholder: texts.defaultMessage,
5527
+ ...field
5528
+ })
5529
+ }),
5530
+ /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $jQDcL$snapcalldesignsystem.FormMessage), {})
5531
+ ]
5532
+ })
5533
+ }),
5534
+ /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)("div", {
5535
+ className: "flex justify-end",
5536
+ children: /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsxs)((0, $jQDcL$snapcalldesignsystem.Button), {
5537
+ size: "sm",
5538
+ children: [
5539
+ /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $jQDcL$snapcalldesignsystem.Send3Icon), {
5540
+ size: 16,
5541
+ className: "text-white"
5542
+ }),
5543
+ t("invitePeople.invite")
5544
+ ]
5545
+ })
5546
+ }),
5547
+ /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)("input", {
5548
+ className: "hidden",
5549
+ type: "submit"
5550
+ })
5551
+ ]
5552
+ })
5553
+ })
5554
+ })
5555
+ ]
5556
+ }),
5557
+ /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)("hr", {
5558
+ className: "w-full h-[1px] bg-gray-200"
5559
+ }),
5560
+ /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsxs)((0, $jQDcL$snapcalldesignsystem.Select), {
5561
+ defaultValue: type,
5562
+ onValueChange: (v)=>{
5563
+ const selectedType = v;
5564
+ setType(selectedType);
5565
+ },
5566
+ children: [
5567
+ /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsxs)((0, $jQDcL$snapcalldesignsystem.SelectTrigger), {
5568
+ className: "w-full",
5569
+ children: [
5570
+ type === "instant" ? /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $jQDcL$snapcalldesignsystem.PhoneCall1Icon), {
5571
+ size: 18,
5572
+ duotone: true,
5573
+ className: "text-blue-700"
5574
+ }) : /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $jQDcL$snapcalldesignsystem.VideoRecorderIcon), {
5575
+ size: 18,
5576
+ duotone: true,
5577
+ className: "text-blue-700"
5578
+ }),
5579
+ /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)("div", {
5580
+ className: "flex-grow pl-2 text-left",
5581
+ children: /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $jQDcL$snapcalldesignsystem.SelectValue), {})
5582
+ })
5583
+ ]
5584
+ }),
5585
+ /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $jQDcL$snapcalldesignsystem.SelectContent), {
5586
+ children: /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsxs)((0, $jQDcL$snapcalldesignsystem.SelectGroup), {
5587
+ children: [
5588
+ /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $jQDcL$snapcalldesignsystem.SelectItem), {
5589
+ value: "instant",
5590
+ children: t("invitePeople.linkToJoinCall")
5591
+ }),
5592
+ /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $jQDcL$snapcalldesignsystem.SelectItem), {
5593
+ value: "assist",
5594
+ children: t("invitePeople.linkToRecordAClip")
5595
+ })
5596
+ ]
5597
+ })
5598
+ })
5599
+ ]
5600
+ })
5601
+ ]
5602
+ })
5603
+ });
5604
+ };
5605
+
5606
+
5221
5607
  const $e1930b467e7d8845$var$multiPiP = new (0, $21395e477f83709c$export$45fabd1ce5e673de)();
5222
5608
  const $e1930b467e7d8845$var$browser = $jQDcL$bowser.parse(window.navigator.userAgent);
5223
5609
  const $e1930b467e7d8845$var$Header = ()=>{
@@ -5225,6 +5611,7 @@ const $e1930b467e7d8845$var$Header = ()=>{
5225
5611
  const { setIsQuickConnectPopupVisible: setIsQuickConnectPopupVisible , setIsSettingsMenuVisible: setIsSettingsMenuVisible , setIsVirtualBackgroundPopupVisible: setIsVirtualBackgroundPopupVisible , options: options , muted: muted , streaming: streaming , permissions: permissions , plan: plan , setBlockedFeaturePopupOpen: setBlockedFeaturePopupOpen , isAgent: isAgent , videoRecording: videoRecording , setVideoRecording: setVideoRecording } = (0, $jQDcL$react.useContext)((0, $8b39f32976a7698a$export$2e2bcd8739ae039));
5226
5612
  const { streams: streams } = (0, $3f6e908c45fcc5b3$export$b5633a7cfbe42d9f)();
5227
5613
  const [extraOptions, setExtraOptions] = (0, $jQDcL$react.useState)(options.extraSettingsOptions || []);
5614
+ const inviteModal = (0, $jQDcL$reactstately.useOverlayTriggerState)({});
5228
5615
  const onSetExtraSettingsOptions = (event)=>{
5229
5616
  const { extraOptions: newExtraOptions } = event.detail;
5230
5617
  setExtraOptions(newExtraOptions);
@@ -5308,6 +5695,15 @@ const $e1930b467e7d8845$var$Header = ()=>{
5308
5695
  title: t("quickConnect.title"),
5309
5696
  jsxIcon: /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $cce7f1c9e9c29503$export$6470d09a29d34d08), {}),
5310
5697
  action: onScanQuickConnectClick
5698
+ },
5699
+ {
5700
+ id: "invite",
5701
+ title: t("invitePeople.invite"),
5702
+ jsxIcon: /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $jQDcL$snapcalldesignsystem.UserPlus1Icon), {
5703
+ size: 24,
5704
+ className: "text-white"
5705
+ }),
5706
+ action: ()=>inviteModal.setOpen(true)
5311
5707
  }
5312
5708
  ]
5313
5709
  },
@@ -5372,6 +5768,7 @@ const $e1930b467e7d8845$var$Header = ()=>{
5372
5768
  options.sharedURL,
5373
5769
  muted,
5374
5770
  streaming,
5771
+ inviteModal,
5375
5772
  setIsQuickConnectPopupVisible,
5376
5773
  setBlockedFeaturePopupOpen,
5377
5774
  setIsSettingsMenuVisible,
@@ -5380,6 +5777,9 @@ const $e1930b467e7d8845$var$Header = ()=>{
5380
5777
  ]);
5381
5778
  return /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsxs)((0, $1949f8f101c8cf77$export$1e86fd0e1db89578), {
5382
5779
  children: [
5780
+ /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $bdd080364d556ec5$export$1712c8fcb05f49a6), {
5781
+ modalState: inviteModal
5782
+ }),
5383
5783
  /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsxs)((0, $1949f8f101c8cf77$export$d43ffeaaec0b2a58), {
5384
5784
  children: [
5385
5785
  /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $6d8b37b4bd2444ef$export$2e2bcd8739ae039), {
@@ -12984,6 +13384,7 @@ function $52e751d204780518$export$c74cd098b7a410cb({ mode: mode = "photo" , requ
12984
13384
  });
12985
13385
  const [noSoundToastId, setNoSoundToastId] = (0, $jQDcL$react.useState)(null);
12986
13386
  const [continueSpeakingToastId, setContinueSpeakingToastId] = (0, $jQDcL$react.useState)(null);
13387
+ const [flow, setFlow] = (0, $jQDcL$react.useState)();
12987
13388
  const updateAudioLevel = (0, $jQDcL$react.useCallback)((event)=>{
12988
13389
  const { audioLevel: audioLevel } = event.detail;
12989
13390
  if (timer !== 0 && streaming) setAverageAudioLevel((prev)=>((prev || 0) * (Math.floor(timer) - 1) + audioLevel) / timer);
@@ -13077,7 +13478,9 @@ function $52e751d204780518$export$c74cd098b7a410cb({ mode: mode = "photo" , requ
13077
13478
  assetLoading: assetLoading,
13078
13479
  setAssetLoading: setAssetLoading,
13079
13480
  captureThumbnail: captureThumbnail,
13080
- lastRecordingAudioLevel: averageAudioLevel || 0
13481
+ lastRecordingAudioLevel: averageAudioLevel || 0,
13482
+ flow: flow,
13483
+ setFlow: setFlow
13081
13484
  };
13082
13485
  }
13083
13486
 
@@ -13969,72 +14372,6 @@ const $b758582ffbe79e9a$export$287f8fcc69caf433 = /*#__PURE__*/ (0, $jQDcL$react
13969
14372
 
13970
14373
 
13971
14374
 
13972
- const $bec7bca3a7448591$export$f9da3144ae2525a3 = ({ sideColor: sideColor , mainColor: mainColor })=>/*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsxs)("svg", {
13973
- width: "20",
13974
- height: "21",
13975
- viewBox: "0 0 20 21",
13976
- fill: "none",
13977
- xmlns: "http://www.w3.org/2000/svg",
13978
- style: {
13979
- display: "inline"
13980
- },
13981
- transform: "translate(0 -1)",
13982
- children: [
13983
- /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)("path", {
13984
- d: "M10 2.167a8.333 8.333 0 1 0 0 16.666 8.333 8.333 0 0 0 0-16.666Zm0 15a6.667 6.667 0 1 1 0-13.334 6.667 6.667 0 0 1 0 13.333Z",
13985
- fill: sideColor || "#1D1C20"
13986
- }),
13987
- /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)("path", {
13988
- d: "M6.76 5.65a5.833 5.833 0 1 1 6.481 9.7 5.833 5.833 0 0 1-6.481-9.7Z",
13989
- fill: mainColor || "#F12828"
13990
- })
13991
- ]
13992
- });
13993
- const $bec7bca3a7448591$export$c6a849fd9d9d93a2 = ({ sideColor: sideColor , mainColor: mainColor })=>/*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsxs)("svg", {
13994
- width: "20",
13995
- height: "20",
13996
- viewBox: "0 0 20 20",
13997
- fill: "none",
13998
- xmlns: "http://www.w3.org/2000/svg",
13999
- style: {
14000
- display: "inline"
14001
- },
14002
- transform: "translate(0 -1)",
14003
- children: [
14004
- /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)("path", {
14005
- d: "M10 1.667a8.333 8.333 0 1 0 0 16.666 8.333 8.333 0 0 0 0-16.666Zm0 15a6.667 6.667 0 1 1 0-13.334 6.667 6.667 0 0 1 0 13.333Z",
14006
- fill: sideColor || "#1D1C20"
14007
- }),
14008
- /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)("path", {
14009
- d: "M7.5 6.667h5a.833.833 0 0 1 .833.833v5a.833.833 0 0 1-.834.834h-5a.833.833 0 0 1-.833-.834v-5a.833.833 0 0 1 .833-.833Z",
14010
- fill: mainColor || "#F12828"
14011
- })
14012
- ]
14013
- });
14014
- const $bec7bca3a7448591$export$dce36e07153365d = ()=>/*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsxs)("svg", {
14015
- width: "20",
14016
- height: "20",
14017
- viewBox: "0 0 20 20",
14018
- fill: "none",
14019
- xmlns: "http://www.w3.org/2000/svg",
14020
- style: {
14021
- display: "inline"
14022
- },
14023
- transform: "translate(0 -1)",
14024
- children: [
14025
- /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)("path", {
14026
- d: "M10 1.667a8.333 8.333 0 1 0 0 16.666 8.333 8.333 0 0 0 0-16.666Zm0 15a6.666 6.666 0 1 1 0-13.333 6.666 6.666 0 0 1 0 13.333Z",
14027
- fill: "#1D1C20"
14028
- }),
14029
- /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)("path", {
14030
- d: "M6.76 5.15a5.833 5.833 0 1 1 6.481 9.7 5.833 5.833 0 0 1-6.481-9.7Z",
14031
- fill: "#1D1C20"
14032
- })
14033
- ]
14034
- });
14035
-
14036
-
14037
-
14038
14375
 
14039
14376
  const $f341dd104b321776$var$savedPermissions = {
14040
14377
  audio: false,
@@ -14071,7 +14408,7 @@ const $47755bb1d707f6f6$var$Bold = ({ children: children })=>/*#__PURE__*/ (0,
14071
14408
  });
14072
14409
  const $47755bb1d707f6f6$export$788cb893d96254c8 = ({ state: state , mode: mode , primaryAction: primaryAction })=>{
14073
14410
  const { t: t } = (0, $jQDcL$reacti18next.useTranslation)();
14074
- const getUserMediaMutation = (0, $f341dd104b321776$export$d791e41b9a4de1f2)({
14411
+ (0, $f341dd104b321776$export$d791e41b9a4de1f2)({
14075
14412
  audio: true,
14076
14413
  video: true
14077
14414
  });
@@ -14087,155 +14424,205 @@ const $47755bb1d707f6f6$export$788cb893d96254c8 = ({ state: state , mode: mode ,
14087
14424
  const { orientation: orientation } = (0, $jQDcL$react.useContext)((0, $8b39f32976a7698a$export$2e2bcd8739ae039));
14088
14425
  const device = orientation === "landscape" ? "desktop" : "mobile";
14089
14426
  const videoLength = permissionsState === "granted" ? "short" : "full";
14090
- const ref = (0, $jQDcL$react.useRef)(null);
14091
14427
  const title = mode === "photo" ? t("recorder.photoInstructionsTitle") : t("recorder.videoInstructionsTitle");
14092
- const mediaInstruction = [
14093
- /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsxs)((0, $jQDcL$reacti18next.Trans), {
14094
- i18nKey: "recorder.instructions.allowAccessOnPrompt",
14095
- children: [
14096
- "When prompted, ",
14097
- /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)($47755bb1d707f6f6$var$Bold, {
14098
- children: "allow access"
14099
- }),
14100
- " to camera and microphone."
14101
- ]
14102
- })
14103
- ];
14104
14428
  const instructionPhoto = [
14105
- /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsxs)((0, $jQDcL$reacti18next.Trans), {
14106
- i18nKey: "recorder.instructions.tapPhotoButton",
14107
- com: true,
14108
- children: [
14109
- "Tap the ",
14110
- /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $bec7bca3a7448591$export$dce36e07153365d), {}),
14111
- /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)($47755bb1d707f6f6$var$Bold, {
14112
- children: " Camera button"
14113
- }),
14114
- " to take a photo."
14115
- ]
14429
+ /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $jQDcL$reacti18next.Trans), {
14430
+ i18nKey: "recorder.instructions.allowAccessOnPrompt",
14431
+ components: {
14432
+ bold: /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)($47755bb1d707f6f6$var$Bold, {})
14433
+ }
14434
+ }),
14435
+ /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $jQDcL$reacti18next.Trans), {
14436
+ i18nKey: "recorder.instructions.multiplePhotos",
14437
+ components: {
14438
+ bold: /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)($47755bb1d707f6f6$var$Bold, {})
14439
+ }
14116
14440
  }),
14117
- t("recorder.instructions.multiplePhotos"),
14118
- /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsxs)((0, $jQDcL$reacti18next.Trans), {
14441
+ /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $jQDcL$reacti18next.Trans), {
14119
14442
  i18nKey: "recorder.instructions.reviewAndSendPhotos",
14120
- children: [
14121
- "You can review your photo and then ",
14122
- /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)($47755bb1d707f6f6$var$Bold, {
14123
- children: "send it when you're done."
14124
- })
14125
- ]
14443
+ components: {
14444
+ bold: /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)($47755bb1d707f6f6$var$Bold, {})
14445
+ }
14126
14446
  })
14127
14447
  ];
14128
14448
  const instructionVideo = [
14129
- /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsxs)((0, $jQDcL$reacti18next.Trans), {
14449
+ /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $jQDcL$reacti18next.Trans), {
14130
14450
  i18nKey: "recorder.instructions.tapVideoButton",
14131
- children: [
14132
- "Tap the ",
14133
- /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $bec7bca3a7448591$export$f9da3144ae2525a3), {}),
14134
- /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)($47755bb1d707f6f6$var$Bold, {
14135
- children: " Record button"
14136
- }),
14137
- " to start a recording."
14138
- ]
14139
- }),
14140
- /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsxs)((0, $jQDcL$reacti18next.Trans), {
14141
- i18nKey: "recorder.instructions.videoSpeech",
14142
- children: [
14143
- "You can ",
14144
- /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)($47755bb1d707f6f6$var$Bold, {
14145
- children: "speak during"
14146
- }),
14147
- " the recording for added detail."
14148
- ]
14451
+ components: {
14452
+ bold: /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)($47755bb1d707f6f6$var$Bold, {})
14453
+ }
14149
14454
  }),
14150
- /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsxs)((0, $jQDcL$reacti18next.Trans), {
14455
+ /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $jQDcL$reacti18next.Trans), {
14151
14456
  i18nKey: "recorder.instructions.tapStopVideoButton",
14152
- children: [
14153
- "When you're finished, tap the ",
14154
- /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $bec7bca3a7448591$export$c6a849fd9d9d93a2), {}),
14155
- /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)($47755bb1d707f6f6$var$Bold, {
14156
- children: " Stop button"
14157
- }),
14158
- "."
14159
- ]
14457
+ components: {
14458
+ bold: /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)($47755bb1d707f6f6$var$Bold, {})
14459
+ }
14160
14460
  }),
14161
- /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsxs)((0, $jQDcL$reacti18next.Trans), {
14461
+ /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $jQDcL$reacti18next.Trans), {
14162
14462
  i18nKey: "recorder.instructions.reviewAndSendVideos",
14163
- children: [
14164
- "You can review your video and then ",
14165
- /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)($47755bb1d707f6f6$var$Bold, {
14166
- children: "send it when you're done"
14167
- }),
14168
- "."
14169
- ]
14463
+ components: {
14464
+ bold: /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)($47755bb1d707f6f6$var$Bold, {})
14465
+ }
14170
14466
  })
14171
14467
  ];
14172
- const instructions = [];
14173
- if (!getUserMediaMutation.savedPermissions.audio) instructions.push(...mediaInstruction);
14174
- instructions.push(...mode === "photo" ? instructionPhoto : instructionVideo);
14468
+ const instructions = mode === "photo" ? instructionPhoto : instructionVideo;
14175
14469
  return /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $jQDcL$snapcalldesignsystem.AlertDialog), {
14176
14470
  open: state.isOpen,
14177
14471
  onOpenChange: (open)=>{
14178
14472
  !open && state.close();
14179
14473
  },
14180
14474
  children: /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsxs)((0, $jQDcL$snapcalldesignsystem.AlertDialogContent), {
14181
- className: "max-h-screen overflow-y-auto",
14475
+ className: "max-h-screen rounded-xl overflow-y-auto md:w-[334px] w-[334px]",
14182
14476
  children: [
14477
+ /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsxs)("div", {
14478
+ className: "relative rounded-xl",
14479
+ children: [
14480
+ /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)("video", {
14481
+ className: "w-full rounded-[inherit]",
14482
+ src: `${"https://stream-assets.snapcall.io"}/animations/${device}-assist-onboarding-${mode}-${videoLength}.mp4`,
14483
+ playsInline: true,
14484
+ autoPlay: true,
14485
+ muted: true,
14486
+ loop: true
14487
+ }),
14488
+ /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)("div", {
14489
+ className: "absolute inset-0 ring-2 ring-inset ring-white/20 rounded-[inherit]"
14490
+ })
14491
+ ]
14492
+ }),
14183
14493
  /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $jQDcL$snapcalldesignsystem.AlertDialogHeader), {
14184
14494
  children: /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $jQDcL$snapcalldesignsystem.AlertDialogTitle), {
14185
14495
  children: title
14186
14496
  })
14187
14497
  }),
14188
- /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsxs)("div", {
14189
- className: "flex flex-col gap-[20px]",
14498
+ /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)("div", {
14499
+ className: "flex flex-col gap-3",
14500
+ children: instructions.map((value, index)=>/*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsxs)("div", {
14501
+ className: "flex items-center gap-2 p-2 bg-gray-50 rounded-lg",
14502
+ children: [
14503
+ /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)("div", {
14504
+ className: "flex items-center justify-center w-5 h-5 rounded-md bg-gray-200 text-xs font-semibold",
14505
+ children: index + 1
14506
+ }),
14507
+ /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)("span", {
14508
+ className: "w-[1px] h-full bg-gray-200"
14509
+ }),
14510
+ /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)("span", {
14511
+ className: "flex-1 text-sm text-gray-900",
14512
+ children: value
14513
+ })
14514
+ ]
14515
+ }, index))
14516
+ }),
14517
+ /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $jQDcL$snapcalldesignsystem.AlertDialogFooter), {
14518
+ children: primaryAction()
14519
+ }),
14520
+ /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)("p", {
14521
+ className: "text-xs text-gray-900 text-center",
14522
+ children: /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $jQDcL$reacti18next.Trans), {
14523
+ i18nKey: "recorder.instructions.privacyPolicy",
14524
+ components: {
14525
+ bold: // eslint-disable-next-line jsx-a11y/anchor-has-content
14526
+ /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)("a", {
14527
+ className: "font-semibold text-gray-1000 underline",
14528
+ href: "https://www.snapcall.io/privacy-policy",
14529
+ target: "_blank",
14530
+ rel: "noreferrer"
14531
+ })
14532
+ }
14533
+ })
14534
+ })
14535
+ ]
14536
+ })
14537
+ });
14538
+ };
14539
+
14540
+
14541
+
14542
+
14543
+
14544
+ const $6913097552ba508e$export$b916fa2db97921a4 = ({ state: state , flow: flow , primaryAction: primaryAction })=>{
14545
+ return /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $jQDcL$snapcalldesignsystem.AlertDialog), {
14546
+ open: state.isOpen,
14547
+ onOpenChange: (open)=>{
14548
+ !open && state.close();
14549
+ },
14550
+ children: /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsxs)((0, $jQDcL$snapcalldesignsystem.AlertDialogContent), {
14551
+ className: "w-[334px] md:w-[334px] rounded-xl max-h-screen overflow-y-auto",
14552
+ children: [
14553
+ flow.image_url ? /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsxs)("div", {
14554
+ className: "relative rounded-xl",
14190
14555
  children: [
14191
- /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)("div", {
14192
- className: "flex flex-col gap-[10px]",
14193
- ref: ref,
14194
- children: instructions.map((value, index)=>/*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsxs)("div", {
14195
- className: "flex flex-row justify-center gap-[5px]",
14196
- children: [
14197
- /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)("div", {
14198
- className: "flex items-center justify-center min-w-[24px] h-[24px] rounded-[50%] bg-secondaryVLight",
14199
- children: index + 1
14200
- }),
14201
- /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)("span", {
14202
- className: "w-full text-base text-primaryLight font-normal leading-[20px]",
14203
- children: value
14204
- })
14205
- ]
14206
- }, index))
14556
+ /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)("img", {
14557
+ className: "w-full h-[200px] object-cover rounded-[inherit]",
14558
+ src: flow.image_url,
14559
+ alt: ""
14207
14560
  }),
14208
14561
  /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)("div", {
14209
- className: "flex items-center justify-center rounded-[8px] overflow-hidden",
14210
- children: /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)("video", {
14211
- src: `${"https://stream-assets.snapcall.io"}/animations/${device}-assist-onboarding-${mode}-${videoLength}.mp4`,
14212
- playsInline: true,
14213
- autoPlay: true,
14214
- muted: true,
14215
- loop: true
14216
- })
14562
+ className: "absolute inset-0 ring-2 ring-inset ring-white/20 rounded-[inherit]"
14217
14563
  }),
14218
- /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)("p", {
14219
- className: "text-xs text-[#707070] text-center",
14220
- children: /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsxs)((0, $jQDcL$reacti18next.Trans), {
14221
- i18nKey: "recorder.instructions.privacyPolicy",
14222
- children: [
14223
- "By proceeding, you agree to our",
14224
- /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)("a", {
14225
- className: "font-semibold text-black",
14226
- href: "https://www.snapcall.io/privacy-policy",
14227
- target: "_blank",
14228
- rel: "noreferrer",
14229
- children: "privacy policy"
14230
- }),
14231
- "."
14232
- ]
14233
- })
14564
+ flow.logo_url && /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsxs)("div", {
14565
+ className: "absolute bottom-2 right-2 rounded-lg",
14566
+ children: [
14567
+ /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)("img", {
14568
+ className: "w-8 h-8 object-cover rounded-[inherit]",
14569
+ src: flow.logo_url,
14570
+ alt: ""
14571
+ }),
14572
+ /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)("div", {
14573
+ className: "absolute inset-0 ring-2 ring-inset ring-white/20 rounded-[inherit]"
14574
+ })
14575
+ ]
14234
14576
  })
14235
14577
  ]
14578
+ }) : flow.logo_url ? /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)("div", {
14579
+ className: "h-[200px] bg-cover bg-center rounded-xl",
14580
+ style: {
14581
+ backgroundImage: `url(${flow.logo_url})`
14582
+ },
14583
+ children: /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)("div", {
14584
+ className: "flex justify-center items-center w-full h-full backdrop-blur-[30px] rounded-[inherit]",
14585
+ children: /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsxs)("div", {
14586
+ className: "absolute rounded-2xl",
14587
+ children: [
14588
+ /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)("img", {
14589
+ className: "w-[100px] h-[100px] object-cover rounded-[inherit]",
14590
+ src: flow.logo_url,
14591
+ alt: ""
14592
+ }),
14593
+ /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)("div", {
14594
+ className: "absolute inset-0 ring-4 ring-inset ring-white/20 rounded-[inherit]"
14595
+ })
14596
+ ]
14597
+ })
14598
+ })
14599
+ }) : /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $jQDcL$reactjsxruntime.Fragment), {}),
14600
+ /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $jQDcL$snapcalldesignsystem.AlertDialogHeader), {
14601
+ children: /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $jQDcL$snapcalldesignsystem.AlertDialogTitle), {
14602
+ children: flow.title
14603
+ })
14604
+ }),
14605
+ /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)("p", {
14606
+ className: "text-sm text-gray-700 whitespace-pre-line",
14607
+ children: flow.text
14236
14608
  }),
14237
14609
  /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $jQDcL$snapcalldesignsystem.AlertDialogFooter), {
14238
14610
  children: primaryAction()
14611
+ }),
14612
+ /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)("p", {
14613
+ className: "text-xs text-[#707070] text-center",
14614
+ children: /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $jQDcL$reacti18next.Trans), {
14615
+ i18nKey: "recorder.instructions.privacyPolicy",
14616
+ components: {
14617
+ bold: // eslint-disable-next-line jsx-a11y/anchor-has-content
14618
+ /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)("a", {
14619
+ className: "font-semibold text-gray-1000 underline",
14620
+ href: "https://www.snapcall.io/privacy-policy",
14621
+ target: "_blank",
14622
+ rel: "noreferrer"
14623
+ })
14624
+ }
14625
+ })
14239
14626
  })
14240
14627
  ]
14241
14628
  })
@@ -14248,6 +14635,47 @@ const $47755bb1d707f6f6$export$788cb893d96254c8 = ({ state: state , mode: mode ,
14248
14635
 
14249
14636
 
14250
14637
 
14638
+ const $898fb6529f10b70f$export$a530fe7a272dd531 = ({ state: state , recorderState: recorderState })=>{
14639
+ const { options: options } = (0, $jQDcL$react.useContext)((0, $8b39f32976a7698a$export$2e2bcd8739ae039));
14640
+ (0, $jQDcL$react.useEffect)(()=>{
14641
+ const fetchFlow = async ()=>{
14642
+ const { roomId: roomId } = (0, $c48c1ecc38fed4e9$export$2f377c2162fd02b2).getState();
14643
+ const language = navigator.language.slice(0, 2);
14644
+ const result = await fetch(`${options.apiUrl}/streams/${roomId}/flow?lang=${language}`);
14645
+ if (result.ok) {
14646
+ const flow = await result.json();
14647
+ recorderState.setFlow(flow);
14648
+ } else recorderState.setFlow(null);
14649
+ };
14650
+ fetchFlow();
14651
+ // eslint-disable-next-line react-hooks/exhaustive-deps
14652
+ }, [
14653
+ options.apiUrl
14654
+ ]);
14655
+ return /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $jQDcL$snapcalldesignsystem.AlertDialog), {
14656
+ open: state.isOpen,
14657
+ onOpenChange: (open)=>{
14658
+ !open && state.close();
14659
+ },
14660
+ children: /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $jQDcL$snapcalldesignsystem.AlertDialogContent), {
14661
+ className: "max-h-screen overflow-y-auto w-[334px] md:w-[334px] rounded-xl",
14662
+ children: /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)("div", {
14663
+ className: "flex items-center justify-center h-[200px]",
14664
+ children: /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $jQDcL$snapcalldesignsystem.SpinnerIcon), {
14665
+ className: "text-blue-700 animate-spin",
14666
+ size: 64
14667
+ })
14668
+ })
14669
+ })
14670
+ });
14671
+ };
14672
+
14673
+
14674
+
14675
+
14676
+
14677
+
14678
+
14251
14679
 
14252
14680
 
14253
14681
 
@@ -14472,8 +14900,7 @@ const $674454a6d2a40e95$export$5b8e641151f8011d = ({ recorderState: recorderStat
14472
14900
  exitStreaming
14473
14901
  ]);
14474
14902
  (0, $jQDcL$react.useEffect)(()=>{
14475
- if (getUserMediaMutation.savedPermissions.audio) return;
14476
- if (isAgent && !isDesktop) getUserMediaMutation.mutate(undefined, getUserMediaMutationOptions);
14903
+ if (isAgent && !isDesktop && !getUserMediaMutation.savedPermissions.audio && getUserMediaMutation.isIdle) getUserMediaMutation.mutate(undefined, getUserMediaMutationOptions);
14477
14904
  }, [
14478
14905
  getUserMediaMutation,
14479
14906
  isAgent,
@@ -14497,31 +14924,39 @@ const $674454a6d2a40e95$export$5b8e641151f8011d = ({ recorderState: recorderStat
14497
14924
  })
14498
14925
  });
14499
14926
  };
14927
+ const modalsButton = ()=>/*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $jQDcL$snapcalldesignsystem.Button), {
14928
+ size: "sm",
14929
+ className: "w-full",
14930
+ disabled: !selfPeerId || getUserMediaMutation.isLoading,
14931
+ onClick: ()=>{
14932
+ const { deviceState: deviceState } = (0, $c48c1ecc38fed4e9$export$2f377c2162fd02b2).getState();
14933
+ if (!getUserMediaMutation.savedPermissions.audio || !getUserMediaMutation.savedPermissions.video || !deviceState.camera.enabled) return getUserMediaMutation.mutate(undefined, getUserMediaMutationOptions);
14934
+ instructionModalState.close();
14935
+ },
14936
+ children: !getUserMediaMutation.savedPermissions.audio || !getUserMediaMutation.savedPermissions.video ? /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsxs)((0, $jQDcL$reactjsxruntime.Fragment), {
14937
+ children: [
14938
+ /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $jQDcL$snapcalldesignsystem.CheckCircleIcon), {
14939
+ size: 18,
14940
+ className: "text-white"
14941
+ }),
14942
+ t("recorder.allowCamMicAccess")
14943
+ ]
14944
+ }) : t("recorder.okay")
14945
+ });
14500
14946
  return /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsxs)("div", {
14501
14947
  className: "flex flex-col justify-center min-h-0 gap-6 antialiased shrink grow inter",
14502
14948
  children: [
14503
- /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $47755bb1d707f6f6$export$788cb893d96254c8), {
14949
+ typeof recorderState.flow === "undefined" ? /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $898fb6529f10b70f$export$a530fe7a272dd531), {
14950
+ state: instructionModalState,
14951
+ recorderState: recorderState
14952
+ }) : recorderState.flow ? /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $6913097552ba508e$export$b916fa2db97921a4), {
14953
+ state: instructionModalState,
14954
+ flow: recorderState.flow,
14955
+ primaryAction: modalsButton
14956
+ }) : /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $47755bb1d707f6f6$export$788cb893d96254c8), {
14504
14957
  state: instructionModalState,
14505
14958
  mode: recorderState.mode,
14506
- primaryAction: ()=>/*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $jQDcL$snapcalldesignsystem.Button), {
14507
- size: "sm",
14508
- className: "w-full",
14509
- disabled: !selfPeerId || getUserMediaMutation.isLoading,
14510
- onClick: ()=>{
14511
- const { deviceState: deviceState } = (0, $c48c1ecc38fed4e9$export$2f377c2162fd02b2).getState();
14512
- if (!getUserMediaMutation.savedPermissions.audio || !getUserMediaMutation.savedPermissions.video || !deviceState.camera.enabled) return getUserMediaMutation.mutate(undefined, getUserMediaMutationOptions);
14513
- instructionModalState.close();
14514
- },
14515
- children: !getUserMediaMutation.savedPermissions.audio || !getUserMediaMutation.savedPermissions.video ? /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsxs)((0, $jQDcL$reactjsxruntime.Fragment), {
14516
- children: [
14517
- /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $jQDcL$snapcalldesignsystem.CheckIcon), {
14518
- size: 18,
14519
- className: "text-white"
14520
- }),
14521
- t("recorder.allowCamMicAccess")
14522
- ]
14523
- }) : t("recorder.okay")
14524
- })
14959
+ primaryAction: modalsButton
14525
14960
  }),
14526
14961
  /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $1edfa10ad1e88512$export$f9d8408fefd786da), {
14527
14962
  state: qrCodeModalState,
@@ -14645,7 +15080,6 @@ const $674454a6d2a40e95$export$5b8e641151f8011d = ({ recorderState: recorderStat
14645
15080
 
14646
15081
 
14647
15082
 
14648
-
14649
15083
  const $62f98fb6dc42877d$var$Bold = ({ children: children })=>/*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)("span", {
14650
15084
  className: "font-medium text-white",
14651
15085
  children: children
@@ -14653,56 +15087,32 @@ const $62f98fb6dc42877d$var$Bold = ({ children: children })=>/*#__PURE__*/ (0,
14653
15087
  const $62f98fb6dc42877d$export$f361d4ae234b90f4 = ()=>{
14654
15088
  const { t: t } = (0, $jQDcL$reacti18next.useTranslation)();
14655
15089
  const instructions = [
14656
- /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsxs)((0, $jQDcL$reacti18next.Trans), {
15090
+ /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $jQDcL$reacti18next.Trans), {
14657
15091
  i18nKey: "recorder.instructions.tapVideoButton",
14658
- children: [
14659
- "Tap the ",
14660
- /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $bec7bca3a7448591$export$f9da3144ae2525a3), {
14661
- sideColor: "#FFFFFF",
14662
- mainColor: "#E5484D"
14663
- }),
14664
- /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)($62f98fb6dc42877d$var$Bold, {
14665
- children: " Record button"
14666
- }),
14667
- " to start a recording."
14668
- ]
15092
+ components: {
15093
+ bold: /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)($62f98fb6dc42877d$var$Bold, {})
15094
+ }
14669
15095
  }),
14670
15096
  /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $jQDcL$reacti18next.Trans), {
14671
15097
  i18nKey: "recorder.instructions.screenShareInstruction"
14672
15098
  }),
14673
- /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsxs)((0, $jQDcL$reacti18next.Trans), {
15099
+ /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $jQDcL$reacti18next.Trans), {
14674
15100
  i18nKey: "recorder.instructions.videoSpeech",
14675
- children: [
14676
- "You can ",
14677
- /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)($62f98fb6dc42877d$var$Bold, {
14678
- children: "speak during"
14679
- }),
14680
- " the recording for added detail."
14681
- ]
15101
+ components: {
15102
+ bold: /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)($62f98fb6dc42877d$var$Bold, {})
15103
+ }
14682
15104
  }),
14683
- /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsxs)((0, $jQDcL$reacti18next.Trans), {
15105
+ /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $jQDcL$reacti18next.Trans), {
14684
15106
  i18nKey: "recorder.instructions.tapStopVideoButton",
14685
- children: [
14686
- "When you're finished, tap the ",
14687
- /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $bec7bca3a7448591$export$c6a849fd9d9d93a2), {
14688
- sideColor: "#FFFFFF",
14689
- mainColor: "#E5484D"
14690
- }),
14691
- /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)($62f98fb6dc42877d$var$Bold, {
14692
- children: " Stop button"
14693
- }),
14694
- "."
14695
- ]
15107
+ components: {
15108
+ bold: /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)($62f98fb6dc42877d$var$Bold, {})
15109
+ }
14696
15110
  }),
14697
- /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsxs)((0, $jQDcL$reacti18next.Trans), {
15111
+ /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $jQDcL$reacti18next.Trans), {
14698
15112
  i18nKey: "recorder.instructions.reviewAndSendVideos",
14699
- children: [
14700
- "You can review your video and then ",
14701
- /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)($62f98fb6dc42877d$var$Bold, {
14702
- children: "send it when you're done"
14703
- }),
14704
- "."
14705
- ]
15113
+ components: {
15114
+ bold: /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)($62f98fb6dc42877d$var$Bold, {})
15115
+ }
14706
15116
  })
14707
15117
  ];
14708
15118
  return /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsxs)("div", {
@@ -14902,6 +15312,7 @@ const $2256a219b427127c$export$c31ece446899894 = ({ state: state })=>{
14902
15312
  !open && state.close();
14903
15313
  },
14904
15314
  children: /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsxs)((0, $jQDcL$snapcalldesignsystem.AlertDialogContent), {
15315
+ className: "rounded-xl",
14905
15316
  children: [
14906
15317
  /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsxs)((0, $jQDcL$snapcalldesignsystem.AlertDialogHeader), {
14907
15318
  children: [
@@ -15056,6 +15467,7 @@ const $4dfa3a33e9391c56$export$863486d455ab61f3 = ({ modalState: modalState , on
15056
15467
  !open && modalState.close();
15057
15468
  },
15058
15469
  children: /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsxs)((0, $jQDcL$snapcalldesignsystem.AlertDialogContent), {
15470
+ className: "rounded-xl",
15059
15471
  children: [
15060
15472
  /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsxs)((0, $jQDcL$snapcalldesignsystem.AlertDialogHeader), {
15061
15473
  children: [
@@ -15879,6 +16291,10 @@ const $ee8cb448c2c74888$var$StreamUI = ({ options: options })=>{
15879
16291
  children: [
15880
16292
  streamState === "loading" && /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $7ce296d839195d38$export$669f6ea7d267feaf), {}),
15881
16293
  /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $e66cc5db58913155$export$2e2bcd8739ae039), {}),
16294
+ /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $jQDcL$snapcalldesignsystem.Toaster), {
16295
+ duration: 3000,
16296
+ className: "gap-2"
16297
+ }),
15882
16298
  /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $5dcd9e6925c7037c$export$2e2bcd8739ae039), {}),
15883
16299
  isBlockedDevicesPopupOpen && /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $77862aeb490f36a3$export$2e2bcd8739ae039), {
15884
16300
  close: ()=>{
@@ -16334,7 +16750,7 @@ var $3305ca02e86dabd1$export$2e2bcd8739ae039 = $3305ca02e86dabd1$var$GreetingVie
16334
16750
 
16335
16751
 
16336
16752
  var $54541b0286afc2de$exports = {};
16337
- $54541b0286afc2de$exports = "*, :before, :after, ::backdrop {\n --tw-border-spacing-x: 0;\n --tw-border-spacing-y: 0;\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-rotate: 0;\n --tw-skew-x: 0;\n --tw-skew-y: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-pan-x: ;\n --tw-pan-y: ;\n --tw-pinch-zoom: ;\n --tw-scroll-snap-strictness: proximity;\n --tw-ordinal: ;\n --tw-slashed-zero: ;\n --tw-numeric-figure: ;\n --tw-numeric-spacing: ;\n --tw-numeric-fraction: ;\n --tw-ring-inset: ;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-color: #93c5fd80;\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-colored: 0 0 #0000;\n --tw-blur: ;\n --tw-brightness: ;\n --tw-contrast: ;\n --tw-grayscale: ;\n --tw-hue-rotate: ;\n --tw-invert: ;\n --tw-saturate: ;\n --tw-sepia: ;\n --tw-drop-shadow: ;\n --tw-backdrop-blur: ;\n --tw-backdrop-brightness: ;\n --tw-backdrop-contrast: ;\n --tw-backdrop-grayscale: ;\n --tw-backdrop-hue-rotate: ;\n --tw-backdrop-invert: ;\n --tw-backdrop-opacity: ;\n --tw-backdrop-saturate: ;\n --tw-backdrop-sepia: ;\n}\n\n.sr-only {\n width: 1px;\n height: 1px;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border-width: 0;\n margin: -1px;\n padding: 0;\n position: absolute;\n overflow: hidden;\n}\n\n.pointer-events-auto {\n pointer-events: auto;\n}\n\n.visible {\n visibility: visible;\n}\n\n.invisible {\n visibility: hidden;\n}\n\n.fixed {\n position: fixed;\n}\n\n.absolute {\n position: absolute;\n}\n\n.relative {\n position: relative;\n}\n\n.inset-0 {\n inset: 0;\n}\n\n.top-2 {\n top: .5rem;\n}\n\n.left-1\\/2 {\n left: 50%;\n}\n\n.top-auto {\n top: auto;\n}\n\n.bottom-4 {\n bottom: 1rem;\n}\n\n.top-1\\/2 {\n top: 50%;\n}\n\n.left-\\[50\\%\\] {\n left: 50%;\n}\n\n.top-\\[50\\%\\] {\n top: 50%;\n}\n\n.bottom-0 {\n bottom: 0;\n}\n\n.right-0 {\n right: 0;\n}\n\n.left-1 {\n left: .25rem;\n}\n\n.right-1 {\n right: .25rem;\n}\n\n.right-6 {\n right: 1.5rem;\n}\n\n.top-6 {\n top: 1.5rem;\n}\n\n.top-8 {\n top: 2rem;\n}\n\n.z-10 {\n z-index: 10;\n}\n\n.z-50 {\n z-index: 50;\n}\n\n.z-\\[150\\] {\n z-index: 150;\n}\n\n.z-\\[100\\] {\n z-index: 100;\n}\n\n.mx-auto {\n margin-left: auto;\n margin-right: auto;\n}\n\n.-mx-1 {\n margin-left: -.25rem;\n margin-right: -.25rem;\n}\n\n.mx-1 {\n margin-left: .25rem;\n margin-right: .25rem;\n}\n\n.my-1 {\n margin-top: .25rem;\n margin-bottom: .25rem;\n}\n\n.mb-\\[9px\\] {\n margin-bottom: 9px;\n}\n\n.mt-1 {\n margin-top: .25rem;\n}\n\n.mr-2\\.5 {\n margin-right: .625rem;\n}\n\n.mr-2 {\n margin-right: .5rem;\n}\n\n.mt-2 {\n margin-top: .5rem;\n}\n\n.-mr-2 {\n margin-right: -.5rem;\n}\n\n.ml-1 {\n margin-left: .25rem;\n}\n\n.box-border {\n box-sizing: border-box;\n}\n\n.block {\n display: block;\n}\n\n.inline-block {\n display: inline-block;\n}\n\n.inline {\n display: inline;\n}\n\n.flex {\n display: flex;\n}\n\n.inline-flex {\n display: inline-flex;\n}\n\n.table {\n display: table;\n}\n\n.grid {\n display: grid;\n}\n\n.hidden {\n display: none;\n}\n\n.h-5 {\n height: 1.25rem;\n}\n\n.h-full {\n height: 100%;\n}\n\n.h-4 {\n height: 1rem;\n}\n\n.h-\\[150px\\] {\n height: 150px;\n}\n\n.h-12 {\n height: 3rem;\n}\n\n.h-16 {\n height: 4rem;\n}\n\n.h-\\[24px\\] {\n height: 24px;\n}\n\n.h-screen {\n height: 100vh;\n}\n\n.h-\\[384px\\] {\n height: 384px;\n}\n\n.h-1\\/3 {\n height: 33.3333%;\n}\n\n.h-\\[16px\\] {\n height: 16px;\n}\n\n.h-\\[36px\\] {\n height: 36px;\n}\n\n.h-\\[45px\\] {\n height: 45px;\n}\n\n.h-\\[72px\\] {\n height: 72px;\n}\n\n.h-8 {\n height: 2rem;\n}\n\n.h-3 {\n height: .75rem;\n}\n\n.h-px {\n height: 1px;\n}\n\n.h-9 {\n height: 2.25rem;\n}\n\n.h-\\[40px\\] {\n height: 40px;\n}\n\n.h-6 {\n height: 1.5rem;\n}\n\n.h-14 {\n height: 3.5rem;\n}\n\n.max-h-full {\n max-height: 100%;\n}\n\n.max-h-screen {\n max-height: 100vh;\n}\n\n.max-h-\\[90\\%\\] {\n max-height: 90%;\n}\n\n.max-h-\\[90vh\\] {\n max-height: 90vh;\n}\n\n.max-h-\\[70px\\] {\n max-height: 70px;\n}\n\n.max-h-\\[300px\\] {\n max-height: 300px;\n}\n\n.min-h-0 {\n min-height: 0;\n}\n\n.min-h-\\[80px\\] {\n min-height: 80px;\n}\n\n.w-5 {\n width: 1.25rem;\n}\n\n.w-full {\n width: 100%;\n}\n\n.w-4 {\n width: 1rem;\n}\n\n.w-0 {\n width: 0;\n}\n\n.w-\\[42px\\] {\n width: 42px;\n}\n\n.w-max {\n width: max-content;\n}\n\n.w-\\[130px\\] {\n width: 130px;\n}\n\n.w-12 {\n width: 3rem;\n}\n\n.w-16 {\n width: 4rem;\n}\n\n.w-\\[24px\\] {\n width: 24px;\n}\n\n.w-\\[50\\%\\] {\n width: 50%;\n}\n\n.w-1\\/3 {\n width: 33.3333%;\n}\n\n.w-\\[16px\\] {\n width: 16px;\n}\n\n.w-\\[36px\\] {\n width: 36px;\n}\n\n.w-\\[45px\\] {\n width: 45px;\n}\n\n.w-\\[72px\\] {\n width: 72px;\n}\n\n.w-8 {\n width: 2rem;\n}\n\n.w-3 {\n width: .75rem;\n}\n\n.w-72 {\n width: 18rem;\n}\n\n.min-w-0 {\n min-width: 0;\n}\n\n.min-w-\\[24px\\] {\n min-width: 24px;\n}\n\n.min-w-full {\n min-width: 100%;\n}\n\n.min-w-\\[144px\\] {\n min-width: 144px;\n}\n\n.min-w-\\[120px\\] {\n min-width: 120px;\n}\n\n.min-w-\\[250px\\] {\n min-width: 250px;\n}\n\n.max-w-\\[1110px\\] {\n max-width: 1110px;\n}\n\n.max-w-\\[500px\\] {\n max-width: 500px;\n}\n\n.max-w-full {\n max-width: 100%;\n}\n\n.max-w-\\[90\\%\\] {\n max-width: 90%;\n}\n\n.max-w-\\[70px\\] {\n max-width: 70px;\n}\n\n.max-w-\\[350px\\] {\n max-width: 350px;\n}\n\n.max-w-\\[400px\\] {\n max-width: 400px;\n}\n\n.flex-1 {\n flex: 1;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0;\n}\n\n.shrink {\n flex-shrink: 1;\n}\n\n.shrink-0 {\n flex-shrink: 0;\n}\n\n.flex-grow, .grow {\n flex-grow: 1;\n}\n\n.grow-0 {\n flex-grow: 0;\n}\n\n.border-collapse {\n border-collapse: collapse;\n}\n\n.-translate-x-1\\/2 {\n --tw-translate-x: -50%;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.-translate-y-1\\/2 {\n --tw-translate-y: -50%;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.translate-x-\\[-50\\%\\] {\n --tw-translate-x: -50%;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.translate-y-\\[-50\\%\\] {\n --tw-translate-y: -50%;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.translate-y-0 {\n --tw-translate-y: 0px;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.translate-x-0\\.5 {\n --tw-translate-x: .125rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.translate-x-0 {\n --tw-translate-x: 0px;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.scale-x-\\[-1\\] {\n --tw-scale-x: -1;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.transform {\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n@keyframes spin {\n to {\n transform: rotate(360deg);\n }\n}\n\n.animate-spin {\n animation: 1s linear infinite spin;\n}\n\n.cursor-pointer {\n cursor: pointer;\n}\n\n.cursor-not-allowed {\n cursor: not-allowed;\n}\n\n.cursor-default {\n cursor: default;\n}\n\n.select-none {\n -webkit-user-select: none;\n user-select: none;\n}\n\n.resize {\n resize: both;\n}\n\n.appearance-none {\n appearance: none;\n}\n\n.flex-row {\n flex-direction: row;\n}\n\n.flex-col {\n flex-direction: column;\n}\n\n.flex-col-reverse {\n flex-direction: column-reverse;\n}\n\n.flex-wrap {\n flex-wrap: wrap;\n}\n\n.items-start {\n align-items: flex-start;\n}\n\n.items-end {\n align-items: flex-end;\n}\n\n.items-center {\n align-items: center;\n}\n\n.justify-end {\n justify-content: flex-end;\n}\n\n.justify-center {\n justify-content: center;\n}\n\n.justify-between {\n justify-content: space-between;\n}\n\n.gap-6 {\n gap: 1.5rem;\n}\n\n.gap-1 {\n gap: .25rem;\n}\n\n.gap-2 {\n gap: .5rem;\n}\n\n.gap-2\\.5 {\n gap: .625rem;\n}\n\n.gap-\\[20px\\] {\n gap: 20px;\n}\n\n.gap-\\[10px\\] {\n gap: 10px;\n}\n\n.gap-\\[5px\\] {\n gap: 5px;\n}\n\n.gap-4 {\n gap: 1rem;\n}\n\n.gap-1\\.5 {\n gap: .375rem;\n}\n\n.space-y-5 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(1.25rem * var(--tw-space-y-reverse));\n}\n\n.space-y-4 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(1rem * var(--tw-space-y-reverse));\n}\n\n.space-x-1 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-x-reverse: 0;\n margin-right: calc(.25rem * var(--tw-space-x-reverse));\n margin-left: calc(.25rem * calc(1 - var(--tw-space-x-reverse)));\n}\n\n.space-y-1 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(.25rem * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(.25rem * var(--tw-space-y-reverse));\n}\n\n.space-y-1\\.5 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(.375rem * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(.375rem * var(--tw-space-y-reverse));\n}\n\n.self-center {\n align-self: center;\n}\n\n.overflow-auto {\n overflow: auto;\n}\n\n.overflow-hidden {\n overflow: hidden;\n}\n\n.overflow-visible {\n overflow: visible;\n}\n\n.overflow-y-auto {\n overflow-y: auto;\n}\n\n.overflow-x-hidden {\n overflow-x: hidden;\n}\n\n.truncate {\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n}\n\n.whitespace-nowrap {\n white-space: nowrap;\n}\n\n.rounded-\\[10px\\] {\n border-radius: 10px;\n}\n\n.rounded-lg {\n border-radius: .5rem;\n}\n\n.rounded-md {\n border-radius: .375rem;\n}\n\n.rounded-full {\n border-radius: 9999px;\n}\n\n.rounded-\\[64px\\] {\n border-radius: 64px;\n}\n\n.\\!rounded-md {\n border-radius: .375rem !important;\n}\n\n.rounded-\\[50\\%\\] {\n border-radius: 50%;\n}\n\n.rounded-\\[8px\\] {\n border-radius: 8px;\n}\n\n.rounded-\\[inherit\\] {\n border-radius: inherit;\n}\n\n.rounded-\\[3px\\] {\n border-radius: 3px;\n}\n\n.rounded-\\[4px\\] {\n border-radius: 4px;\n}\n\n.rounded-\\[6px\\] {\n border-radius: 6px;\n}\n\n.rounded {\n border-radius: .25rem;\n}\n\n.rounded-t-3xl {\n border-top-left-radius: 1.5rem;\n border-top-right-radius: 1.5rem;\n}\n\n.border {\n border-width: 1px;\n}\n\n.border-\\[3px\\] {\n border-width: 3px;\n}\n\n.border-\\[5px\\] {\n border-width: 5px;\n}\n\n.border-0 {\n border-width: 0;\n}\n\n.border-\\[4px\\] {\n border-width: 4px;\n}\n\n.border-\\[2px\\], .border-2 {\n border-width: 2px;\n}\n\n.border-b {\n border-bottom-width: 1px;\n}\n\n.border-l {\n border-left-width: 1px;\n}\n\n.border-r {\n border-right-width: 1px;\n}\n\n.border-gray-200 {\n --tw-border-opacity: 1;\n border-color: rgb(var(--color-gray-200) / var(--tw-border-opacity));\n}\n\n.border-amber-700 {\n --tw-border-opacity: 1;\n border-color: rgb(var(--color-amber-700) / var(--tw-border-opacity));\n}\n\n.border-white {\n --tw-border-opacity: 1;\n border-color: rgb(255 255 255 / var(--tw-border-opacity));\n}\n\n.border-gray-1000 {\n --tw-border-opacity: 1;\n border-color: rgb(var(--color-gray-1000) / var(--tw-border-opacity));\n}\n\n.border-transparent {\n border-color: #0000;\n}\n\n.border-\\[white\\] {\n --tw-border-opacity: 1;\n border-color: rgb(255 255 255 / var(--tw-border-opacity));\n}\n\n.border-red-700 {\n --tw-border-opacity: 1;\n border-color: rgb(var(--color-red-700) / var(--tw-border-opacity));\n}\n\n.border-gray-600 {\n --tw-border-opacity: 1;\n border-color: rgb(var(--color-gray-600) / var(--tw-border-opacity));\n}\n\n.border-b-red-700 {\n --tw-border-opacity: 1;\n border-bottom-color: rgb(var(--color-red-700) / var(--tw-border-opacity));\n}\n\n.border-l-red-700 {\n --tw-border-opacity: 1;\n border-left-color: rgb(var(--color-red-700) / var(--tw-border-opacity));\n}\n\n.bg-gray-1000 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gray-1000) / var(--tw-bg-opacity));\n}\n\n.bg-amber-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-amber-100) / var(--tw-bg-opacity));\n}\n\n.bg-black\\/\\[\\.6\\] {\n background-color: #0009;\n}\n\n.bg-\\[\\#242424\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(36 36 36 / var(--tw-bg-opacity));\n}\n\n.bg-white {\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity));\n}\n\n.bg-\\[\\#ff0000\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(255 0 0 / var(--tw-bg-opacity));\n}\n\n.\\!bg-transparent {\n background-color: #0000 !important;\n}\n\n.bg-\\[\\#171717\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(23 23 23 / var(--tw-bg-opacity));\n}\n\n.bg-secondaryVLight {\n --tw-bg-opacity: 1;\n background-color: rgb(235 235 235 / var(--tw-bg-opacity));\n}\n\n.bg-blue-700 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-blue-700) / var(--tw-bg-opacity));\n}\n\n.bg-gray-50 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gray-50) / var(--tw-bg-opacity));\n}\n\n.bg-transparent {\n background-color: #0000;\n}\n\n.bg-red-700 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-red-700) / var(--tw-bg-opacity));\n}\n\n.bg-black\\/25 {\n background-color: #00000040;\n}\n\n.bg-amber-200 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-amber-200) / var(--tw-bg-opacity));\n}\n\n.bg-red-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-red-300) / var(--tw-bg-opacity));\n}\n\n.bg-green-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-green-300) / var(--tw-bg-opacity));\n}\n\n.bg-plum-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-plum-300) / var(--tw-bg-opacity));\n}\n\n.bg-crimson-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-crimson-300) / var(--tw-bg-opacity));\n}\n\n.bg-blue-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-blue-300) / var(--tw-bg-opacity));\n}\n\n.bg-purple-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-purple-300) / var(--tw-bg-opacity));\n}\n\n.bg-violet-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-violet-300) / var(--tw-bg-opacity));\n}\n\n.bg-indigo-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-indigo-300) / var(--tw-bg-opacity));\n}\n\n.bg-cyan-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-cyan-300) / var(--tw-bg-opacity));\n}\n\n.bg-teal-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-teal-300) / var(--tw-bg-opacity));\n}\n\n.bg-grass-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-grass-300) / var(--tw-bg-opacity));\n}\n\n.bg-brown-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-brown-300) / var(--tw-bg-opacity));\n}\n\n.bg-lime-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-lime-300) / var(--tw-bg-opacity));\n}\n\n.bg-yellow-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-yellow-300) / var(--tw-bg-opacity));\n}\n\n.bg-gold-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gold-300) / var(--tw-bg-opacity));\n}\n\n.bg-bronze-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-bronze-300) / var(--tw-bg-opacity));\n}\n\n.bg-gray-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gray-300) / var(--tw-bg-opacity));\n}\n\n.bg-green-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-green-100) / var(--tw-bg-opacity));\n}\n\n.bg-red-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-red-100) / var(--tw-bg-opacity));\n}\n\n.bg-blue-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-blue-100) / var(--tw-bg-opacity));\n}\n\n.bg-crimson-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-crimson-100) / var(--tw-bg-opacity));\n}\n\n.bg-violet-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-violet-100) / var(--tw-bg-opacity));\n}\n\n.bg-cyan-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-cyan-100) / var(--tw-bg-opacity));\n}\n\n.bg-teal-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-teal-100) / var(--tw-bg-opacity));\n}\n\n.bg-brown-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-brown-100) / var(--tw-bg-opacity));\n}\n\n.bg-orange-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-orange-100) / var(--tw-bg-opacity));\n}\n\n.bg-gray-900 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gray-900) / var(--tw-bg-opacity));\n}\n\n.bg-green-700 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-green-700) / var(--tw-bg-opacity));\n}\n\n.bg-amber-700 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-amber-700) / var(--tw-bg-opacity));\n}\n\n.bg-crimson-700 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-crimson-700) / var(--tw-bg-opacity));\n}\n\n.bg-violet-700 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-violet-700) / var(--tw-bg-opacity));\n}\n\n.bg-cyan-700 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-cyan-700) / var(--tw-bg-opacity));\n}\n\n.bg-teal-700 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-teal-700) / var(--tw-bg-opacity));\n}\n\n.bg-brown-700 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-brown-700) / var(--tw-bg-opacity));\n}\n\n.bg-orange-700 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-orange-700) / var(--tw-bg-opacity));\n}\n\n.bg-gray-1000\\/25 {\n background-color: rgb(var(--color-gray-1000) / .25);\n}\n\n.bg-gray-600 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gray-600) / var(--tw-bg-opacity));\n}\n\n.bg-\\[url\\(\\'https\\:\\/\\/cdn\\.snapcall\\.io\\/img\\/assist\\/gradient-bg\\.jpg\\'\\)\\] {\n background-image: url(\"https://cdn.snapcall.io/img/assist/gradient-bg.jpg\");\n}\n\n.bg-cover {\n background-size: cover;\n}\n\n.object-contain {\n object-fit: contain;\n}\n\n.object-cover {\n object-fit: cover;\n}\n\n.p-6 {\n padding: 1.5rem;\n}\n\n.p-2 {\n padding: .5rem;\n}\n\n.p-4 {\n padding: 1rem;\n}\n\n.p-2\\.5 {\n padding: .625rem;\n}\n\n.p-\\[11px\\] {\n padding: 11px;\n}\n\n.p-3 {\n padding: .75rem;\n}\n\n.p-0 {\n padding: 0;\n}\n\n.p-1 {\n padding: .25rem;\n}\n\n.p-1\\.5 {\n padding: .375rem;\n}\n\n.py-2\\.5 {\n padding-top: .625rem;\n padding-bottom: .625rem;\n}\n\n.py-2 {\n padding-top: .5rem;\n padding-bottom: .5rem;\n}\n\n.px-3\\.5 {\n padding-left: .875rem;\n padding-right: .875rem;\n}\n\n.px-3 {\n padding-left: .75rem;\n padding-right: .75rem;\n}\n\n.px-\\[60px\\] {\n padding-left: 60px;\n padding-right: 60px;\n}\n\n.px-2 {\n padding-left: .5rem;\n padding-right: .5rem;\n}\n\n.py-1 {\n padding-top: .25rem;\n padding-bottom: .25rem;\n}\n\n.px-2\\.5 {\n padding-left: .625rem;\n padding-right: .625rem;\n}\n\n.py-1\\.5 {\n padding-top: .375rem;\n padding-bottom: .375rem;\n}\n\n.px-4 {\n padding-left: 1rem;\n padding-right: 1rem;\n}\n\n.py-3 {\n padding-top: .75rem;\n padding-bottom: .75rem;\n}\n\n.py-0\\.5 {\n padding-top: .125rem;\n padding-bottom: .125rem;\n}\n\n.py-0 {\n padding-top: 0;\n padding-bottom: 0;\n}\n\n.py-12 {\n padding-top: 3rem;\n padding-bottom: 3rem;\n}\n\n.pr-3\\.5 {\n padding-right: .875rem;\n}\n\n.pl-2\\.5 {\n padding-left: .625rem;\n}\n\n.pr-3 {\n padding-right: .75rem;\n}\n\n.pl-2 {\n padding-left: .5rem;\n}\n\n.pb-\\[20px\\] {\n padding-bottom: 20px;\n}\n\n.pb-\\[9px\\] {\n padding-bottom: 9px;\n}\n\n.pb-2 {\n padding-bottom: .5rem;\n}\n\n.pt-1 {\n padding-top: .25rem;\n}\n\n.text-left {\n text-align: left;\n}\n\n.text-center {\n text-align: center;\n}\n\n.align-middle {\n vertical-align: middle;\n}\n\n.text-md {\n letter-spacing: -.02em;\n font-size: 16px;\n line-height: 20px;\n}\n\n.text-sm {\n letter-spacing: -.02em;\n font-size: 14px;\n line-height: 20px;\n}\n\n.text-\\[112px\\] {\n font-size: 112px;\n}\n\n.text-lg {\n letter-spacing: -.02em;\n font-size: 18px;\n line-height: 22px;\n}\n\n.text-xs {\n letter-spacing: -.02em;\n font-size: 12px;\n line-height: 16px;\n}\n\n.text-\\[10px\\] {\n font-size: 10px;\n}\n\n.text-\\[30px\\] {\n font-size: 30px;\n}\n\n.font-medium {\n font-weight: 500;\n}\n\n.font-semibold {\n font-weight: 600;\n}\n\n.font-normal {\n font-weight: 400;\n}\n\n.leading-\\[20px\\] {\n line-height: 20px;\n}\n\n.leading-none {\n line-height: 1;\n}\n\n.text-gray-1000 {\n --tw-text-opacity: 1;\n color: rgb(var(--color-gray-1000) / var(--tw-text-opacity));\n}\n\n.text-blue-700 {\n --tw-text-opacity: 1;\n color: rgb(var(--color-blue-700) / var(--tw-text-opacity));\n}\n\n.text-white {\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / var(--tw-text-opacity));\n}\n\n.text-red-700 {\n --tw-text-opacity: 1;\n color: rgb(var(--color-red-700) / var(--tw-text-opacity));\n}\n\n.text-gray-700 {\n --tw-text-opacity: 1;\n color: rgb(var(--color-gray-700) / var(--tw-text-opacity));\n}\n\n.text-amber-700 {\n --tw-text-opacity: 1;\n color: rgb(var(--color-amber-700) / var(--tw-text-opacity));\n}\n\n.text-current {\n color: currentColor;\n}\n\n.text-white\\/80 {\n color: #fffc;\n}\n\n.text-gray-100 {\n --tw-text-opacity: 1;\n color: rgb(var(--color-gray-100) / var(--tw-text-opacity));\n}\n\n.text-primary {\n --tw-text-opacity: 1;\n color: rgb(29 28 32 / var(--tw-text-opacity));\n}\n\n.text-primaryLight {\n --tw-text-opacity: 1;\n color: rgb(86 86 86 / var(--tw-text-opacity));\n}\n\n.text-\\[\\#707070\\] {\n --tw-text-opacity: 1;\n color: rgb(112 112 112 / var(--tw-text-opacity));\n}\n\n.text-black {\n --tw-text-opacity: 1;\n color: rgb(0 0 0 / var(--tw-text-opacity));\n}\n\n.text-green-700 {\n --tw-text-opacity: 1;\n color: rgb(var(--color-green-700) / var(--tw-text-opacity));\n}\n\n.text-plum-700 {\n --tw-text-opacity: 1;\n color: rgb(var(--color-plum-700) / var(--tw-text-opacity));\n}\n\n.text-crimson-700 {\n --tw-text-opacity: 1;\n color: rgb(var(--color-crimson-700) / var(--tw-text-opacity));\n}\n\n.text-purple-700 {\n --tw-text-opacity: 1;\n color: rgb(var(--color-purple-700) / var(--tw-text-opacity));\n}\n\n.text-violet-700 {\n --tw-text-opacity: 1;\n color: rgb(var(--color-violet-700) / var(--tw-text-opacity));\n}\n\n.text-indigo-700 {\n --tw-text-opacity: 1;\n color: rgb(var(--color-indigo-700) / var(--tw-text-opacity));\n}\n\n.text-cyan-700 {\n --tw-text-opacity: 1;\n color: rgb(var(--color-cyan-700) / var(--tw-text-opacity));\n}\n\n.text-teal-700 {\n --tw-text-opacity: 1;\n color: rgb(var(--color-teal-700) / var(--tw-text-opacity));\n}\n\n.text-grass-700 {\n --tw-text-opacity: 1;\n color: rgb(var(--color-grass-700) / var(--tw-text-opacity));\n}\n\n.text-brown-700 {\n --tw-text-opacity: 1;\n color: rgb(var(--color-brown-700) / var(--tw-text-opacity));\n}\n\n.text-lime-700 {\n --tw-text-opacity: 1;\n color: rgb(var(--color-lime-700) / var(--tw-text-opacity));\n}\n\n.text-yellow-700 {\n --tw-text-opacity: 1;\n color: rgb(var(--color-yellow-700) / var(--tw-text-opacity));\n}\n\n.text-gold-700 {\n --tw-text-opacity: 1;\n color: rgb(var(--color-gold-700) / var(--tw-text-opacity));\n}\n\n.text-bronze-700 {\n --tw-text-opacity: 1;\n color: rgb(var(--color-bronze-700) / var(--tw-text-opacity));\n}\n\n.text-gray-900 {\n --tw-text-opacity: 1;\n color: rgb(var(--color-gray-900) / var(--tw-text-opacity));\n}\n\n.text-orange-700 {\n --tw-text-opacity: 1;\n color: rgb(var(--color-orange-700) / var(--tw-text-opacity));\n}\n\n.underline-offset-8 {\n text-underline-offset: 8px;\n}\n\n.antialiased {\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\n.opacity-50 {\n opacity: .5;\n}\n\n.shadow-lg {\n --tw-shadow: 0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;\n --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.shadow-md {\n --tw-shadow: 0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;\n --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.shadow-dropdown-sm {\n --tw-shadow: 0px 1px 2px 0px #1018280f, 0px 1px 3px 0px #1018281a;\n --tw-shadow-colored: 0px 1px 2px 0px var(--tw-shadow-color), 0px 1px 3px 0px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.shadow-sm {\n --tw-shadow: 0 1px 2px 0 #0000000d;\n --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.outline-none {\n outline-offset: 2px;\n outline: 2px solid #0000;\n}\n\n.outline {\n outline-style: solid;\n}\n\n.ring-1 {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\n}\n\n.ring-inset {\n --tw-ring-inset: inset;\n}\n\n.ring-gray-200 {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(var(--color-gray-200) / var(--tw-ring-opacity));\n}\n\n.ring-blue-700 {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(var(--color-blue-700) / var(--tw-ring-opacity));\n}\n\n.ring-white {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(255 255 255 / var(--tw-ring-opacity));\n}\n\n.ring-green-300 {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(var(--color-green-300) / var(--tw-ring-opacity));\n}\n\n.ring-red-300 {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(var(--color-red-300) / var(--tw-ring-opacity));\n}\n\n.ring-amber-300 {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(var(--color-amber-300) / var(--tw-ring-opacity));\n}\n\n.ring-blue-300 {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(var(--color-blue-300) / var(--tw-ring-opacity));\n}\n\n.ring-crimson-300 {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(var(--color-crimson-300) / var(--tw-ring-opacity));\n}\n\n.ring-violet-300 {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(var(--color-violet-300) / var(--tw-ring-opacity));\n}\n\n.ring-cyan-300 {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(var(--color-cyan-300) / var(--tw-ring-opacity));\n}\n\n.ring-teal-300 {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(var(--color-teal-300) / var(--tw-ring-opacity));\n}\n\n.ring-brown-300 {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(var(--color-brown-300) / var(--tw-ring-opacity));\n}\n\n.ring-orange-300 {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(var(--color-orange-300) / var(--tw-ring-opacity));\n}\n\n.ring-offset-0 {\n --tw-ring-offset-width: 0px;\n}\n\n.ring-offset-white {\n --tw-ring-offset-color: #fff;\n}\n\n.blur {\n --tw-blur: blur(8px);\n filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);\n}\n\n.filter {\n filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);\n}\n\n.backdrop-blur-sm {\n --tw-backdrop-blur: blur(4px);\n -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);\n backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);\n}\n\n.transition-all {\n transition-property: all;\n transition-duration: .15s;\n transition-timing-function: cubic-bezier(.4, 0, .2, 1);\n}\n\n.transition {\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter, backdrop-filter;\n transition-duration: .15s;\n transition-timing-function: cubic-bezier(.4, 0, .2, 1);\n}\n\n.transition-transform {\n transition-property: transform;\n transition-duration: .15s;\n transition-timing-function: cubic-bezier(.4, 0, .2, 1);\n}\n\n.transition-colors {\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;\n transition-duration: .15s;\n transition-timing-function: cubic-bezier(.4, 0, .2, 1);\n}\n\n.duration-300 {\n transition-duration: .3s;\n}\n\n.duration-1000 {\n transition-duration: 1s;\n}\n\n.duration-200 {\n transition-duration: .2s;\n}\n\n.ease-linear {\n transition-timing-function: linear;\n}\n\n.ease-out {\n transition-timing-function: cubic-bezier(0, 0, .2, 1);\n}\n\n.will-change-transform {\n will-change: transform;\n}\n\n@keyframes enter {\n from {\n opacity: var(--tw-enter-opacity, 1);\n transform: translate3d(var(--tw-enter-translate-x, 0), var(--tw-enter-translate-y, 0), 0) scale3d(var(--tw-enter-scale, 1), var(--tw-enter-scale, 1), var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0));\n }\n}\n\n@keyframes exit {\n to {\n opacity: var(--tw-exit-opacity, 1);\n transform: translate3d(var(--tw-exit-translate-x, 0), var(--tw-exit-translate-y, 0), 0) scale3d(var(--tw-exit-scale, 1), var(--tw-exit-scale, 1), var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0));\n }\n}\n\n.animate-in {\n --tw-enter-opacity: initial;\n --tw-enter-scale: initial;\n --tw-enter-rotate: initial;\n --tw-enter-translate-x: initial;\n --tw-enter-translate-y: initial;\n animation-name: enter;\n animation-duration: .15s;\n}\n\n.fade-in-0, .fade-in {\n --tw-enter-opacity: 0;\n}\n\n.fade-out {\n --tw-exit-opacity: 0;\n}\n\n.zoom-in-95 {\n --tw-enter-scale: .95;\n}\n\n.duration-300 {\n animation-duration: .3s;\n}\n\n.duration-1000 {\n animation-duration: 1s;\n}\n\n.duration-200 {\n animation-duration: .2s;\n}\n\n.ease-linear {\n animation-timing-function: linear;\n}\n\n.ease-out {\n animation-timing-function: cubic-bezier(0, 0, .2, 1);\n}\n\n.paused {\n animation-play-state: paused;\n}\n\n.inter {\n font-family: Inter, sans-serif;\n}\n\n@supports (font-variation-settings: normal) {\n .inter {\n font-family: Inter var, sans-serif;\n }\n}\n\n.placeholder\\:text-gray-900::placeholder {\n --tw-text-opacity: 1;\n color: rgb(var(--color-gray-900) / var(--tw-text-opacity));\n}\n\n.placeholder\\:text-gray-700::placeholder {\n --tw-text-opacity: 1;\n color: rgb(var(--color-gray-700) / var(--tw-text-opacity));\n}\n\n.focus-within\\:relative:focus-within {\n position: relative;\n}\n\n.focus-within\\:z-20:focus-within {\n z-index: 20;\n}\n\n.focus-within\\:border-gray-200:focus-within {\n --tw-border-opacity: 1;\n border-color: rgb(var(--color-gray-200) / var(--tw-border-opacity));\n}\n\n.focus-within\\:bg-gray-100:focus-within {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gray-100) / var(--tw-bg-opacity));\n}\n\n.focus-within\\:outline:focus-within {\n outline-style: solid;\n}\n\n.focus-within\\:outline-\\[2px\\]:focus-within {\n outline-width: 2px;\n}\n\n.focus-within\\:outline-offset-\\[2px\\]:focus-within {\n outline-offset: 2px;\n}\n\n.focus-within\\:outline-blue-300:focus-within {\n outline-color: rgb(var(--color-blue-300) / 1);\n}\n\n.focus-within\\:outline-red-700:focus-within {\n outline-color: rgb(var(--color-red-700) / 1);\n}\n\n.hover\\:bg-\\[\\#292929\\]:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(41 41 41 / var(--tw-bg-opacity));\n}\n\n.hover\\:bg-blue-100:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-blue-100) / var(--tw-bg-opacity));\n}\n\n.hover\\:bg-blue-800:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-blue-800) / var(--tw-bg-opacity));\n}\n\n.hover\\:bg-gray-100:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gray-100) / var(--tw-bg-opacity));\n}\n\n.hover\\:bg-gray-50:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gray-50) / var(--tw-bg-opacity));\n}\n\n.hover\\:bg-blue-50:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-blue-50) / var(--tw-bg-opacity));\n}\n\n.hover\\:bg-red-800:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-red-800) / var(--tw-bg-opacity));\n}\n\n.hover\\:bg-red-100:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-red-100) / var(--tw-bg-opacity));\n}\n\n.hover\\:bg-blue-700:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-blue-700) / var(--tw-bg-opacity));\n}\n\n.hover\\:text-blue-700:hover {\n --tw-text-opacity: 1;\n color: rgb(var(--color-blue-700) / var(--tw-text-opacity));\n}\n\n.hover\\:text-white:hover {\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / var(--tw-text-opacity));\n}\n\n.hover\\:underline:hover {\n text-decoration-line: underline;\n}\n\n.focus\\:bg-gray-100:focus {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gray-100) / var(--tw-bg-opacity));\n}\n\n.focus\\:outline-none:focus {\n outline-offset: 2px;\n outline: 2px solid #0000;\n}\n\n.focus\\:ring-2:focus {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\n}\n\n.focus\\:ring-1:focus {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\n}\n\n.focus\\:ring-offset-2:focus {\n --tw-ring-offset-width: 2px;\n}\n\n.focus-visible\\:outline-none:focus-visible {\n outline-offset: 2px;\n outline: 2px solid #0000;\n}\n\n.focus-visible\\:ring-2:focus-visible {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\n}\n\n.focus-visible\\:ring-blue-1000:focus-visible {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(var(--color-blue-1000) / var(--tw-ring-opacity));\n}\n\n.focus-visible\\:ring-gray-1000:focus-visible {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(var(--color-gray-1000) / var(--tw-ring-opacity));\n}\n\n.focus-visible\\:ring-blue-700:focus-visible {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(var(--color-blue-700) / var(--tw-ring-opacity));\n}\n\n.focus-visible\\:ring-red-1000:focus-visible {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(var(--color-red-1000) / var(--tw-ring-opacity));\n}\n\n.focus-visible\\:ring-red-700:focus-visible {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(var(--color-red-700) / var(--tw-ring-opacity));\n}\n\n.focus-visible\\:ring-offset-2:focus-visible {\n --tw-ring-offset-width: 2px;\n}\n\n.active\\:bg-\\[\\#292929\\]:active {\n --tw-bg-opacity: 1;\n background-color: rgb(41 41 41 / var(--tw-bg-opacity));\n}\n\n.active\\:bg-blue-900:active {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-blue-900) / var(--tw-bg-opacity));\n}\n\n.active\\:bg-gray-500:active {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gray-500) / var(--tw-bg-opacity));\n}\n\n.active\\:bg-blue-200:active {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-blue-200) / var(--tw-bg-opacity));\n}\n\n.active\\:bg-gray-200:active {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gray-200) / var(--tw-bg-opacity));\n}\n\n.active\\:bg-red-900:active {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-red-900) / var(--tw-bg-opacity));\n}\n\n.active\\:bg-red-200:active {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-red-200) / var(--tw-bg-opacity));\n}\n\n.active\\:bg-gray-100:active {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gray-100) / var(--tw-bg-opacity));\n}\n\n.active\\:text-blue-700:active {\n --tw-text-opacity: 1;\n color: rgb(var(--color-blue-700) / var(--tw-text-opacity));\n}\n\n.active\\:text-blue-900:active {\n --tw-text-opacity: 1;\n color: rgb(var(--color-blue-900) / var(--tw-text-opacity));\n}\n\n.disabled\\:pointer-events-none:disabled {\n pointer-events: none;\n}\n\n.disabled\\:cursor-not-allowed:disabled {\n cursor: not-allowed;\n}\n\n.disabled\\:opacity-40:disabled {\n opacity: .4;\n}\n\n.disabled\\:opacity-50:disabled {\n opacity: .5;\n}\n\n.group:focus-within .group-focus-within\\:bg-gray-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gray-100) / var(--tw-bg-opacity));\n}\n\n.group:hover .group-hover\\:bg-gray-50 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gray-50) / var(--tw-bg-opacity));\n}\n\n.group:active .group-active\\:bg-gray-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gray-100) / var(--tw-bg-opacity));\n}\n\n.peer:disabled ~ .peer-disabled\\:cursor-not-allowed {\n cursor: not-allowed;\n}\n\n.peer:disabled ~ .peer-disabled\\:opacity-70 {\n opacity: .7;\n}\n\n.aria-selected\\:bg-blue-100[aria-selected=\"true\"] {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-blue-100) / var(--tw-bg-opacity));\n}\n\n.aria-selected\\:text-blue-700[aria-selected=\"true\"] {\n --tw-text-opacity: 1;\n color: rgb(var(--color-blue-700) / var(--tw-text-opacity));\n}\n\n.aria-selected\\:opacity-100[aria-selected=\"true\"] {\n opacity: 1;\n}\n\n.data-\\[disabled\\]\\:pointer-events-none[data-disabled] {\n pointer-events: none;\n}\n\n.data-\\[side\\=bottom\\]\\:translate-y-1[data-side=\"bottom\"] {\n --tw-translate-y: .25rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.data-\\[side\\=left\\]\\:-translate-x-1[data-side=\"left\"] {\n --tw-translate-x: -.25rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.data-\\[side\\=right\\]\\:translate-x-1[data-side=\"right\"] {\n --tw-translate-x: .25rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.data-\\[side\\=top\\]\\:-translate-y-1[data-side=\"top\"] {\n --tw-translate-y: -.25rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.data-\\[state\\=checked\\]\\:translate-x-5[data-state=\"checked\"] {\n --tw-translate-x: 1.25rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.data-\\[swipe\\=cancel\\]\\:translate-x-0[data-swipe=\"cancel\"] {\n --tw-translate-x: 0px;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.data-\\[swipe\\=end\\]\\:translate-x-\\[var\\(--radix-toast-swipe-end-x\\)\\][data-swipe=\"end\"] {\n --tw-translate-x: var(--radix-toast-swipe-end-x);\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.data-\\[swipe\\=move\\]\\:translate-x-\\[var\\(--radix-toast-swipe-move-x\\)\\][data-swipe=\"move\"] {\n --tw-translate-x: var(--radix-toast-swipe-move-x);\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n@keyframes accordion-up {\n from {\n height: var(--radix-accordion-content-height);\n }\n\n to {\n height: 0;\n }\n}\n\n.data-\\[state\\=closed\\]\\:animate-accordion-up[data-state=\"closed\"] {\n animation: .2s ease-out accordion-up;\n}\n\n@keyframes accordion-down {\n from {\n height: 0;\n }\n\n to {\n height: var(--radix-accordion-content-height);\n }\n}\n\n.data-\\[state\\=open\\]\\:animate-accordion-down[data-state=\"open\"] {\n animation: .2s ease-out accordion-down;\n}\n\n.data-\\[disabled\\]\\:cursor-not-allowed[data-disabled] {\n cursor: not-allowed;\n}\n\n.data-\\[state\\=checked\\]\\:border-blue-700[data-state=\"checked\"] {\n --tw-border-opacity: 1;\n border-color: rgb(var(--color-blue-700) / var(--tw-border-opacity));\n}\n\n.data-\\[state\\=checked\\]\\:bg-blue-700[data-state=\"checked\"] {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-blue-700) / var(--tw-bg-opacity));\n}\n\n.data-\\[state\\=checked\\]\\:bg-gray-50[data-state=\"checked\"], .data-\\[selected\\=true\\]\\:bg-gray-50[data-selected=\"true\"] {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gray-50) / var(--tw-bg-opacity));\n}\n\n.data-\\[disabled\\]\\:data-\\[state\\=unchecked\\]\\:bg-gray-300[data-state=\"unchecked\"][data-disabled] {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gray-300) / var(--tw-bg-opacity));\n}\n\n.data-\\[state\\=checked\\]\\:bg-white[data-state=\"checked\"] {\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity));\n}\n\n.data-\\[state\\=selected\\]\\:bg-gray-50[data-state=\"selected\"] {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gray-50) / var(--tw-bg-opacity));\n}\n\n.data-\\[state\\=active\\]\\:bg-white[data-state=\"active\"] {\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity));\n}\n\n.data-\\[state\\=active\\]\\:font-semibold[data-state=\"active\"] {\n font-weight: 600;\n}\n\n.data-\\[state\\=active\\]\\:text-gray-1000[data-state=\"active\"] {\n --tw-text-opacity: 1;\n color: rgb(var(--color-gray-1000) / var(--tw-text-opacity));\n}\n\n.data-\\[state\\=active\\]\\:text-blue-700[data-state=\"active\"] {\n --tw-text-opacity: 1;\n color: rgb(var(--color-blue-700) / var(--tw-text-opacity));\n}\n\n.data-\\[disabled\\]\\:opacity-40[data-disabled] {\n opacity: .4;\n}\n\n.data-\\[disabled\\]\\:opacity-50[data-disabled] {\n opacity: .5;\n}\n\n.data-\\[state\\=active\\]\\:shadow-sm[data-state=\"active\"] {\n --tw-shadow: 0 1px 2px 0 #0000000d;\n --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.data-\\[swipe\\=move\\]\\:transition-none[data-swipe=\"move\"] {\n transition-property: none;\n}\n\n.data-\\[state\\=open\\]\\:animate-in[data-state=\"open\"] {\n --tw-enter-opacity: initial;\n --tw-enter-scale: initial;\n --tw-enter-rotate: initial;\n --tw-enter-translate-x: initial;\n --tw-enter-translate-y: initial;\n animation-name: enter;\n animation-duration: .15s;\n}\n\n.data-\\[state\\=closed\\]\\:animate-out[data-state=\"closed\"], .data-\\[swipe\\=end\\]\\:animate-out[data-swipe=\"end\"] {\n --tw-exit-opacity: initial;\n --tw-exit-scale: initial;\n --tw-exit-rotate: initial;\n --tw-exit-translate-x: initial;\n --tw-exit-translate-y: initial;\n animation-name: exit;\n animation-duration: .15s;\n}\n\n.data-\\[state\\=closed\\]\\:fade-out-0[data-state=\"closed\"] {\n --tw-exit-opacity: 0;\n}\n\n.data-\\[state\\=open\\]\\:fade-in-0[data-state=\"open\"] {\n --tw-enter-opacity: 0;\n}\n\n.data-\\[state\\=closed\\]\\:fade-out-80[data-state=\"closed\"] {\n --tw-exit-opacity: .8;\n}\n\n.data-\\[state\\=closed\\]\\:fade-out[data-state=\"closed\"] {\n --tw-exit-opacity: 0;\n}\n\n.data-\\[state\\=closed\\]\\:zoom-out-95[data-state=\"closed\"] {\n --tw-exit-scale: .95;\n}\n\n.data-\\[state\\=open\\]\\:zoom-in-95[data-state=\"open\"] {\n --tw-enter-scale: .95;\n}\n\n.data-\\[state\\=closed\\]\\:slide-out-to-left-1\\/2[data-state=\"closed\"] {\n --tw-exit-translate-x: -50%;\n}\n\n.data-\\[state\\=closed\\]\\:slide-out-to-top-\\[48\\%\\][data-state=\"closed\"] {\n --tw-exit-translate-y: -48%;\n}\n\n.data-\\[state\\=open\\]\\:slide-in-from-left-1\\/2[data-state=\"open\"] {\n --tw-enter-translate-x: -50%;\n}\n\n.data-\\[state\\=open\\]\\:slide-in-from-top-\\[48\\%\\][data-state=\"open\"] {\n --tw-enter-translate-y: -48%;\n}\n\n.data-\\[state\\=open\\]\\:slide-in-from-bottom-\\[100\\%\\][data-state=\"open\"] {\n --tw-enter-translate-y: 100%;\n}\n\n.data-\\[state\\=closed\\]\\:slide-out-to-bottom-\\[100\\%\\][data-state=\"closed\"] {\n --tw-exit-translate-y: 100%;\n}\n\n.data-\\[state\\=open\\]\\:slide-in-from-left-\\[50\\%\\][data-state=\"open\"] {\n --tw-enter-translate-x: -50%;\n}\n\n.data-\\[state\\=closed\\]\\:slide-out-to-left-\\[50\\%\\][data-state=\"closed\"] {\n --tw-exit-translate-x: -50%;\n}\n\n.data-\\[side\\=bottom\\]\\:slide-in-from-top-2[data-side=\"bottom\"] {\n --tw-enter-translate-y: -.5rem;\n}\n\n.data-\\[side\\=left\\]\\:slide-in-from-right-2[data-side=\"left\"] {\n --tw-enter-translate-x: .5rem;\n}\n\n.data-\\[side\\=right\\]\\:slide-in-from-left-2[data-side=\"right\"] {\n --tw-enter-translate-x: -.5rem;\n}\n\n.data-\\[side\\=top\\]\\:slide-in-from-bottom-2[data-side=\"top\"] {\n --tw-enter-translate-y: .5rem;\n}\n\n.data-\\[state\\=open\\]\\:slide-in-from-top-full[data-state=\"open\"] {\n --tw-enter-translate-y: -100%;\n}\n\n.group[data-state=\"open\"] .group-data-\\[state\\=open\\]\\:rotate-180 {\n --tw-rotate: 180deg;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.group[data-disabled] .group-data-\\[disabled\\]\\:cursor-not-allowed {\n cursor: not-allowed;\n}\n\n.group[data-state=\"checked\"] .group-data-\\[state\\=checked\\]\\:bg-gray-50 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gray-50) / var(--tw-bg-opacity));\n}\n\n.group[data-disabled] .group-data-\\[disabled\\]\\:opacity-50 {\n opacity: .5;\n}\n\n@media not all and (min-width: 640px) {\n .max-sm\\:gap-4 {\n gap: 1rem;\n }\n\n .max-sm\\:p-4 {\n padding: 1rem;\n }\n}\n\n@media (min-width: 640px) {\n .sm\\:mt-0 {\n margin-top: 0;\n }\n\n .sm\\:w-1\\/2 {\n width: 50%;\n }\n\n .sm\\:flex-row {\n flex-direction: row;\n }\n\n .sm\\:flex-col {\n flex-direction: column;\n }\n\n .sm\\:justify-end {\n justify-content: flex-end;\n }\n\n .sm\\:justify-center {\n justify-content: center;\n }\n\n .sm\\:space-x-2 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-x-reverse: 0;\n margin-right: calc(.5rem * var(--tw-space-x-reverse));\n margin-left: calc(.5rem * calc(1 - var(--tw-space-x-reverse)));\n }\n\n .sm\\:space-x-4 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-x-reverse: 0;\n margin-right: calc(1rem * var(--tw-space-x-reverse));\n margin-left: calc(1rem * calc(1 - var(--tw-space-x-reverse)));\n }\n\n .sm\\:space-y-0 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(0px * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(0px * var(--tw-space-y-reverse));\n }\n\n .sm\\:rounded-xl {\n border-radius: .75rem;\n }\n\n .sm\\:text-left {\n text-align: left;\n }\n\n .data-\\[state\\=open\\]\\:sm\\:slide-in-from-bottom-full[data-state=\"open\"] {\n --tw-enter-translate-y: 100%;\n }\n}\n\n@media (min-width: 768px) {\n .md\\:w-screen {\n width: 100vw;\n }\n\n .md\\:w-full {\n width: 100%;\n }\n\n .md\\:max-w-\\[420px\\] {\n max-width: 420px;\n }\n}\n\n.\\[\\&\\>svg\\]\\:h-\\[18px\\] > svg {\n height: 18px;\n}\n\n.\\[\\&\\>svg\\]\\:w-\\[18px\\] > svg {\n width: 18px;\n}\n\n.\\[\\&\\:has\\(\\[aria-selected\\]\\)\\]\\:bg-blue-100:has([aria-selected]) {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-blue-100) / var(--tw-bg-opacity));\n}\n\n.first\\:\\[\\&\\:has\\(\\[aria-selected\\]\\)\\]\\:rounded-l-md:has([aria-selected]):first-child {\n border-top-left-radius: .375rem;\n border-bottom-left-radius: .375rem;\n}\n\n.last\\:\\[\\&\\:has\\(\\[aria-selected\\]\\)\\]\\:rounded-r-md:has([aria-selected]):last-child {\n border-top-right-radius: .375rem;\n border-bottom-right-radius: .375rem;\n}\n\n.\\[\\&\\:not\\(\\[aria-selected\\]\\)\\]\\:hover\\:bg-gray-100:hover:not([aria-selected]) {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gray-100) / var(--tw-bg-opacity));\n}\n\n.\\[\\&_\\[cmdk-group-heading\\]\\]\\:px-2 [cmdk-group-heading] {\n padding-left: .5rem;\n padding-right: .5rem;\n}\n\n.\\[\\&_\\[cmdk-group-heading\\]\\]\\:py-1\\.5 [cmdk-group-heading] {\n padding-top: .375rem;\n padding-bottom: .375rem;\n}\n\n.\\[\\&_\\[cmdk-group-heading\\]\\]\\:text-sm [cmdk-group-heading] {\n letter-spacing: -.02em;\n font-size: 14px;\n line-height: 20px;\n}\n\n.\\[\\&_\\[cmdk-group-heading\\]\\]\\:font-medium [cmdk-group-heading] {\n font-weight: 500;\n}\n\n.\\[\\&_tr\\]\\:border-b tr {\n border-bottom-width: 1px;\n}\n\n.\\[\\&_tr\\:last-child\\]\\:border-0 tr:last-child {\n border-width: 0;\n}\n\n.\\[\\&_tr\\:hover\\]\\:bg-gray-25 tr:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gray-25) / var(--tw-bg-opacity));\n}\n\n.\\[\\&_tr\\:active\\]\\:bg-gray-50 tr:active, .\\[\\&_tr\\:hover\\:active\\]\\:bg-gray-50 tr:hover:active {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gray-50) / var(--tw-bg-opacity));\n}\n\n.\\[\\&\\:has\\(\\[role\\=checkbox\\]\\)\\]\\:pr-0:has([role=\"checkbox\"]) {\n padding-right: 0;\n}\n\n.\\[\\&\\>\\[role\\=checkbox\\]\\]\\:translate-y-\\[2px\\] > [role=\"checkbox\"] {\n --tw-translate-y: 2px;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n";
16753
+ $54541b0286afc2de$exports = "*, :before, :after, ::backdrop {\n --tw-border-spacing-x: 0;\n --tw-border-spacing-y: 0;\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-rotate: 0;\n --tw-skew-x: 0;\n --tw-skew-y: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-pan-x: ;\n --tw-pan-y: ;\n --tw-pinch-zoom: ;\n --tw-scroll-snap-strictness: proximity;\n --tw-ordinal: ;\n --tw-slashed-zero: ;\n --tw-numeric-figure: ;\n --tw-numeric-spacing: ;\n --tw-numeric-fraction: ;\n --tw-ring-inset: ;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-color: #93c5fd80;\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-colored: 0 0 #0000;\n --tw-blur: ;\n --tw-brightness: ;\n --tw-contrast: ;\n --tw-grayscale: ;\n --tw-hue-rotate: ;\n --tw-invert: ;\n --tw-saturate: ;\n --tw-sepia: ;\n --tw-drop-shadow: ;\n --tw-backdrop-blur: ;\n --tw-backdrop-brightness: ;\n --tw-backdrop-contrast: ;\n --tw-backdrop-grayscale: ;\n --tw-backdrop-hue-rotate: ;\n --tw-backdrop-invert: ;\n --tw-backdrop-opacity: ;\n --tw-backdrop-saturate: ;\n --tw-backdrop-sepia: ;\n}\n\n.sr-only {\n width: 1px;\n height: 1px;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border-width: 0;\n margin: -1px;\n padding: 0;\n position: absolute;\n overflow: hidden;\n}\n\n.pointer-events-auto {\n pointer-events: auto;\n}\n\n.visible {\n visibility: visible;\n}\n\n.invisible {\n visibility: hidden;\n}\n\n.fixed {\n position: fixed;\n}\n\n.absolute {\n position: absolute;\n}\n\n.relative {\n position: relative;\n}\n\n.inset-0 {\n inset: 0;\n}\n\n.top-2 {\n top: .5rem;\n}\n\n.left-1\\/2 {\n left: 50%;\n}\n\n.top-auto {\n top: auto;\n}\n\n.bottom-4 {\n bottom: 1rem;\n}\n\n.top-1\\/2 {\n top: 50%;\n}\n\n.bottom-2 {\n bottom: .5rem;\n}\n\n.right-2 {\n right: .5rem;\n}\n\n.left-\\[50\\%\\] {\n left: 50%;\n}\n\n.top-\\[50\\%\\] {\n top: 50%;\n}\n\n.bottom-0 {\n bottom: 0;\n}\n\n.right-0 {\n right: 0;\n}\n\n.left-1 {\n left: .25rem;\n}\n\n.right-1 {\n right: .25rem;\n}\n\n.right-6 {\n right: 1.5rem;\n}\n\n.top-6 {\n top: 1.5rem;\n}\n\n.top-8 {\n top: 2rem;\n}\n\n.z-10 {\n z-index: 10;\n}\n\n.z-50 {\n z-index: 50;\n}\n\n.z-\\[150\\] {\n z-index: 150;\n}\n\n.z-\\[100\\] {\n z-index: 100;\n}\n\n.mx-auto {\n margin-left: auto;\n margin-right: auto;\n}\n\n.-mx-1 {\n margin-left: -.25rem;\n margin-right: -.25rem;\n}\n\n.mx-1 {\n margin-left: .25rem;\n margin-right: .25rem;\n}\n\n.my-1 {\n margin-top: .25rem;\n margin-bottom: .25rem;\n}\n\n.mb-4 {\n margin-bottom: 1rem;\n}\n\n.mb-\\[9px\\] {\n margin-bottom: 9px;\n}\n\n.mt-1 {\n margin-top: .25rem;\n}\n\n.mr-2\\.5 {\n margin-right: .625rem;\n}\n\n.mr-2 {\n margin-right: .5rem;\n}\n\n.mt-2 {\n margin-top: .5rem;\n}\n\n.-mr-2 {\n margin-right: -.5rem;\n}\n\n.ml-1 {\n margin-left: .25rem;\n}\n\n.box-border {\n box-sizing: border-box;\n}\n\n.block {\n display: block;\n}\n\n.inline-block {\n display: inline-block;\n}\n\n.inline {\n display: inline;\n}\n\n.flex {\n display: flex;\n}\n\n.inline-flex {\n display: inline-flex;\n}\n\n.table {\n display: table;\n}\n\n.grid {\n display: grid;\n}\n\n.hidden {\n display: none;\n}\n\n.h-5 {\n height: 1.25rem;\n}\n\n.h-full {\n height: 100%;\n}\n\n.h-4 {\n height: 1rem;\n}\n\n.h-\\[1px\\] {\n height: 1px;\n}\n\n.h-\\[150px\\] {\n height: 150px;\n}\n\n.h-12 {\n height: 3rem;\n}\n\n.h-16 {\n height: 4rem;\n}\n\n.h-\\[24px\\] {\n height: 24px;\n}\n\n.h-screen {\n height: 100vh;\n}\n\n.h-\\[200px\\] {\n height: 200px;\n}\n\n.h-8 {\n height: 2rem;\n}\n\n.h-\\[100px\\] {\n height: 100px;\n}\n\n.h-\\[384px\\] {\n height: 384px;\n}\n\n.h-1\\/3 {\n height: 33.3333%;\n}\n\n.h-\\[16px\\] {\n height: 16px;\n}\n\n.h-\\[36px\\] {\n height: 36px;\n}\n\n.h-\\[45px\\] {\n height: 45px;\n}\n\n.h-\\[72px\\] {\n height: 72px;\n}\n\n.h-3 {\n height: .75rem;\n}\n\n.h-px {\n height: 1px;\n}\n\n.h-9 {\n height: 2.25rem;\n}\n\n.h-\\[40px\\] {\n height: 40px;\n}\n\n.h-6 {\n height: 1.5rem;\n}\n\n.h-14 {\n height: 3.5rem;\n}\n\n.max-h-full {\n max-height: 100%;\n}\n\n.max-h-screen {\n max-height: 100vh;\n}\n\n.max-h-\\[90\\%\\] {\n max-height: 90%;\n}\n\n.max-h-\\[90vh\\] {\n max-height: 90vh;\n}\n\n.max-h-\\[70px\\] {\n max-height: 70px;\n}\n\n.max-h-\\[300px\\] {\n max-height: 300px;\n}\n\n.max-h-\\[180px\\] {\n max-height: 180px;\n}\n\n.min-h-0 {\n min-height: 0;\n}\n\n.min-h-\\[80px\\] {\n min-height: 80px;\n}\n\n.w-5 {\n width: 1.25rem;\n}\n\n.w-full {\n width: 100%;\n}\n\n.w-4 {\n width: 1rem;\n}\n\n.w-0 {\n width: 0;\n}\n\n.w-\\[42px\\] {\n width: 42px;\n}\n\n.w-max {\n width: max-content;\n}\n\n.w-\\[130px\\] {\n width: 130px;\n}\n\n.w-12 {\n width: 3rem;\n}\n\n.w-16 {\n width: 4rem;\n}\n\n.w-\\[24px\\] {\n width: 24px;\n}\n\n.w-\\[50\\%\\] {\n width: 50%;\n}\n\n.w-\\[334px\\] {\n width: 334px;\n}\n\n.w-8 {\n width: 2rem;\n}\n\n.w-\\[100px\\] {\n width: 100px;\n}\n\n.w-\\[1px\\] {\n width: 1px;\n}\n\n.w-1\\/3 {\n width: 33.3333%;\n}\n\n.w-\\[16px\\] {\n width: 16px;\n}\n\n.w-\\[36px\\] {\n width: 36px;\n}\n\n.w-\\[45px\\] {\n width: 45px;\n}\n\n.w-\\[72px\\] {\n width: 72px;\n}\n\n.w-3 {\n width: .75rem;\n}\n\n.w-72 {\n width: 18rem;\n}\n\n.min-w-0 {\n min-width: 0;\n}\n\n.min-w-\\[24px\\] {\n min-width: 24px;\n}\n\n.min-w-full {\n min-width: 100%;\n}\n\n.min-w-\\[144px\\] {\n min-width: 144px;\n}\n\n.min-w-\\[120px\\] {\n min-width: 120px;\n}\n\n.min-w-\\[250px\\] {\n min-width: 250px;\n}\n\n.max-w-\\[1110px\\] {\n max-width: 1110px;\n}\n\n.max-w-full {\n max-width: 100%;\n}\n\n.max-w-\\[500px\\] {\n max-width: 500px;\n}\n\n.max-w-\\[90\\%\\] {\n max-width: 90%;\n}\n\n.max-w-\\[70px\\] {\n max-width: 70px;\n}\n\n.max-w-\\[350px\\] {\n max-width: 350px;\n}\n\n.max-w-\\[400px\\] {\n max-width: 400px;\n}\n\n.flex-1 {\n flex: 1;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0;\n}\n\n.shrink {\n flex-shrink: 1;\n}\n\n.shrink-0 {\n flex-shrink: 0;\n}\n\n.flex-grow, .grow {\n flex-grow: 1;\n}\n\n.grow-0 {\n flex-grow: 0;\n}\n\n.border-collapse {\n border-collapse: collapse;\n}\n\n.-translate-x-1\\/2 {\n --tw-translate-x: -50%;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.-translate-y-1\\/2 {\n --tw-translate-y: -50%;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.translate-x-\\[-50\\%\\] {\n --tw-translate-x: -50%;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.translate-y-\\[-50\\%\\] {\n --tw-translate-y: -50%;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.translate-y-0 {\n --tw-translate-y: 0px;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.translate-x-0\\.5 {\n --tw-translate-x: .125rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.translate-x-0 {\n --tw-translate-x: 0px;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.scale-x-\\[-1\\] {\n --tw-scale-x: -1;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.transform {\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n@keyframes spin {\n to {\n transform: rotate(360deg);\n }\n}\n\n.animate-spin {\n animation: 1s linear infinite spin;\n}\n\n.cursor-pointer {\n cursor: pointer;\n}\n\n.cursor-not-allowed {\n cursor: not-allowed;\n}\n\n.cursor-default {\n cursor: default;\n}\n\n.select-none {\n -webkit-user-select: none;\n user-select: none;\n}\n\n.resize {\n resize: both;\n}\n\n.appearance-none {\n appearance: none;\n}\n\n.flex-row {\n flex-direction: row;\n}\n\n.flex-col {\n flex-direction: column;\n}\n\n.flex-col-reverse {\n flex-direction: column-reverse;\n}\n\n.flex-wrap {\n flex-wrap: wrap;\n}\n\n.items-start {\n align-items: flex-start;\n}\n\n.items-end {\n align-items: flex-end;\n}\n\n.items-center {\n align-items: center;\n}\n\n.justify-end {\n justify-content: flex-end;\n}\n\n.justify-center {\n justify-content: center;\n}\n\n.justify-between {\n justify-content: space-between;\n}\n\n.gap-2 {\n gap: .5rem;\n}\n\n.gap-6 {\n gap: 1.5rem;\n}\n\n.gap-1 {\n gap: .25rem;\n}\n\n.gap-4 {\n gap: 1rem;\n}\n\n.gap-2\\.5 {\n gap: .625rem;\n}\n\n.gap-\\[20px\\] {\n gap: 20px;\n}\n\n.gap-\\[10px\\] {\n gap: 10px;\n}\n\n.gap-3 {\n gap: .75rem;\n}\n\n.gap-1\\.5 {\n gap: .375rem;\n}\n\n.space-y-5 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(1.25rem * var(--tw-space-y-reverse));\n}\n\n.space-y-4 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(1rem * var(--tw-space-y-reverse));\n}\n\n.space-x-1 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-x-reverse: 0;\n margin-right: calc(.25rem * var(--tw-space-x-reverse));\n margin-left: calc(.25rem * calc(1 - var(--tw-space-x-reverse)));\n}\n\n.space-y-1 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(.25rem * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(.25rem * var(--tw-space-y-reverse));\n}\n\n.space-y-1\\.5 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(.375rem * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(.375rem * var(--tw-space-y-reverse));\n}\n\n.self-center {\n align-self: center;\n}\n\n.overflow-auto {\n overflow: auto;\n}\n\n.overflow-hidden {\n overflow: hidden;\n}\n\n.overflow-visible {\n overflow: visible;\n}\n\n.overflow-y-auto {\n overflow-y: auto;\n}\n\n.overflow-x-hidden {\n overflow-x: hidden;\n}\n\n.truncate {\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n}\n\n.whitespace-nowrap {\n white-space: nowrap;\n}\n\n.whitespace-pre-line {\n white-space: pre-line;\n}\n\n.rounded-\\[10px\\] {\n border-radius: 10px;\n}\n\n.rounded-lg {\n border-radius: .5rem;\n}\n\n.rounded-md {\n border-radius: .375rem;\n}\n\n.rounded-full {\n border-radius: 9999px;\n}\n\n.rounded-\\[64px\\] {\n border-radius: 64px;\n}\n\n.\\!rounded-md {\n border-radius: .375rem !important;\n}\n\n.rounded-\\[50\\%\\] {\n border-radius: 50%;\n}\n\n.rounded-\\[8px\\] {\n border-radius: 8px;\n}\n\n.rounded-\\[inherit\\] {\n border-radius: inherit;\n}\n\n.rounded-xl {\n border-radius: .75rem;\n}\n\n.rounded-2xl {\n border-radius: 1rem;\n}\n\n.rounded-\\[3px\\] {\n border-radius: 3px;\n}\n\n.rounded-\\[4px\\] {\n border-radius: 4px;\n}\n\n.rounded-\\[6px\\] {\n border-radius: 6px;\n}\n\n.rounded {\n border-radius: .25rem;\n}\n\n.rounded-t-3xl {\n border-top-left-radius: 1.5rem;\n border-top-right-radius: 1.5rem;\n}\n\n.border {\n border-width: 1px;\n}\n\n.border-\\[3px\\] {\n border-width: 3px;\n}\n\n.border-\\[5px\\] {\n border-width: 5px;\n}\n\n.border-0 {\n border-width: 0;\n}\n\n.border-\\[4px\\] {\n border-width: 4px;\n}\n\n.border-\\[2px\\], .border-2 {\n border-width: 2px;\n}\n\n.border-b {\n border-bottom-width: 1px;\n}\n\n.border-l {\n border-left-width: 1px;\n}\n\n.border-r {\n border-right-width: 1px;\n}\n\n.border-gray-200 {\n --tw-border-opacity: 1;\n border-color: rgb(var(--color-gray-200) / var(--tw-border-opacity));\n}\n\n.border-amber-700 {\n --tw-border-opacity: 1;\n border-color: rgb(var(--color-amber-700) / var(--tw-border-opacity));\n}\n\n.border-white {\n --tw-border-opacity: 1;\n border-color: rgb(255 255 255 / var(--tw-border-opacity));\n}\n\n.border-gray-1000 {\n --tw-border-opacity: 1;\n border-color: rgb(var(--color-gray-1000) / var(--tw-border-opacity));\n}\n\n.border-transparent {\n border-color: #0000;\n}\n\n.border-\\[white\\] {\n --tw-border-opacity: 1;\n border-color: rgb(255 255 255 / var(--tw-border-opacity));\n}\n\n.border-red-700 {\n --tw-border-opacity: 1;\n border-color: rgb(var(--color-red-700) / var(--tw-border-opacity));\n}\n\n.border-gray-600 {\n --tw-border-opacity: 1;\n border-color: rgb(var(--color-gray-600) / var(--tw-border-opacity));\n}\n\n.border-b-red-700 {\n --tw-border-opacity: 1;\n border-bottom-color: rgb(var(--color-red-700) / var(--tw-border-opacity));\n}\n\n.border-l-red-700 {\n --tw-border-opacity: 1;\n border-left-color: rgb(var(--color-red-700) / var(--tw-border-opacity));\n}\n\n.bg-gray-1000 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gray-1000) / var(--tw-bg-opacity));\n}\n\n.bg-gray-25 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gray-25) / var(--tw-bg-opacity));\n}\n\n.bg-gray-200 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gray-200) / var(--tw-bg-opacity));\n}\n\n.bg-amber-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-amber-100) / var(--tw-bg-opacity));\n}\n\n.bg-black\\/\\[\\.6\\] {\n background-color: #0009;\n}\n\n.bg-\\[\\#242424\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(36 36 36 / var(--tw-bg-opacity));\n}\n\n.bg-white {\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity));\n}\n\n.bg-\\[\\#ff0000\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(255 0 0 / var(--tw-bg-opacity));\n}\n\n.\\!bg-transparent {\n background-color: #0000 !important;\n}\n\n.bg-\\[\\#171717\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(23 23 23 / var(--tw-bg-opacity));\n}\n\n.bg-gray-50 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gray-50) / var(--tw-bg-opacity));\n}\n\n.bg-blue-700 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-blue-700) / var(--tw-bg-opacity));\n}\n\n.bg-transparent {\n background-color: #0000;\n}\n\n.bg-red-700 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-red-700) / var(--tw-bg-opacity));\n}\n\n.bg-black\\/25 {\n background-color: #00000040;\n}\n\n.bg-amber-200 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-amber-200) / var(--tw-bg-opacity));\n}\n\n.bg-red-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-red-300) / var(--tw-bg-opacity));\n}\n\n.bg-green-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-green-300) / var(--tw-bg-opacity));\n}\n\n.bg-plum-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-plum-300) / var(--tw-bg-opacity));\n}\n\n.bg-crimson-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-crimson-300) / var(--tw-bg-opacity));\n}\n\n.bg-blue-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-blue-300) / var(--tw-bg-opacity));\n}\n\n.bg-purple-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-purple-300) / var(--tw-bg-opacity));\n}\n\n.bg-violet-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-violet-300) / var(--tw-bg-opacity));\n}\n\n.bg-indigo-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-indigo-300) / var(--tw-bg-opacity));\n}\n\n.bg-cyan-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-cyan-300) / var(--tw-bg-opacity));\n}\n\n.bg-teal-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-teal-300) / var(--tw-bg-opacity));\n}\n\n.bg-grass-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-grass-300) / var(--tw-bg-opacity));\n}\n\n.bg-brown-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-brown-300) / var(--tw-bg-opacity));\n}\n\n.bg-lime-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-lime-300) / var(--tw-bg-opacity));\n}\n\n.bg-yellow-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-yellow-300) / var(--tw-bg-opacity));\n}\n\n.bg-gold-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gold-300) / var(--tw-bg-opacity));\n}\n\n.bg-bronze-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-bronze-300) / var(--tw-bg-opacity));\n}\n\n.bg-gray-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gray-300) / var(--tw-bg-opacity));\n}\n\n.bg-green-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-green-100) / var(--tw-bg-opacity));\n}\n\n.bg-red-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-red-100) / var(--tw-bg-opacity));\n}\n\n.bg-blue-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-blue-100) / var(--tw-bg-opacity));\n}\n\n.bg-crimson-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-crimson-100) / var(--tw-bg-opacity));\n}\n\n.bg-violet-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-violet-100) / var(--tw-bg-opacity));\n}\n\n.bg-cyan-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-cyan-100) / var(--tw-bg-opacity));\n}\n\n.bg-teal-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-teal-100) / var(--tw-bg-opacity));\n}\n\n.bg-brown-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-brown-100) / var(--tw-bg-opacity));\n}\n\n.bg-orange-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-orange-100) / var(--tw-bg-opacity));\n}\n\n.bg-gray-900 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gray-900) / var(--tw-bg-opacity));\n}\n\n.bg-green-700 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-green-700) / var(--tw-bg-opacity));\n}\n\n.bg-amber-700 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-amber-700) / var(--tw-bg-opacity));\n}\n\n.bg-crimson-700 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-crimson-700) / var(--tw-bg-opacity));\n}\n\n.bg-violet-700 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-violet-700) / var(--tw-bg-opacity));\n}\n\n.bg-cyan-700 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-cyan-700) / var(--tw-bg-opacity));\n}\n\n.bg-teal-700 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-teal-700) / var(--tw-bg-opacity));\n}\n\n.bg-brown-700 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-brown-700) / var(--tw-bg-opacity));\n}\n\n.bg-orange-700 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-orange-700) / var(--tw-bg-opacity));\n}\n\n.bg-gray-1000\\/25 {\n background-color: rgb(var(--color-gray-1000) / .25);\n}\n\n.bg-gray-600 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gray-600) / var(--tw-bg-opacity));\n}\n\n.bg-\\[url\\(\\'https\\:\\/\\/cdn\\.snapcall\\.io\\/img\\/assist\\/gradient-bg\\.jpg\\'\\)\\] {\n background-image: url(\"https://cdn.snapcall.io/img/assist/gradient-bg.jpg\");\n}\n\n.bg-cover {\n background-size: cover;\n}\n\n.bg-center {\n background-position: center;\n}\n\n.object-contain {\n object-fit: contain;\n}\n\n.object-cover {\n object-fit: cover;\n}\n\n.p-6 {\n padding: 1.5rem;\n}\n\n.p-2 {\n padding: .5rem;\n}\n\n.p-4 {\n padding: 1rem;\n}\n\n.p-2\\.5 {\n padding: .625rem;\n}\n\n.p-\\[11px\\] {\n padding: 11px;\n}\n\n.p-3 {\n padding: .75rem;\n}\n\n.p-0 {\n padding: 0;\n}\n\n.p-1 {\n padding: .25rem;\n}\n\n.p-1\\.5 {\n padding: .375rem;\n}\n\n.py-2\\.5 {\n padding-top: .625rem;\n padding-bottom: .625rem;\n}\n\n.py-2 {\n padding-top: .5rem;\n padding-bottom: .5rem;\n}\n\n.px-3\\.5 {\n padding-left: .875rem;\n padding-right: .875rem;\n}\n\n.px-3 {\n padding-left: .75rem;\n padding-right: .75rem;\n}\n\n.px-\\[60px\\] {\n padding-left: 60px;\n padding-right: 60px;\n}\n\n.px-2 {\n padding-left: .5rem;\n padding-right: .5rem;\n}\n\n.py-1 {\n padding-top: .25rem;\n padding-bottom: .25rem;\n}\n\n.px-2\\.5 {\n padding-left: .625rem;\n padding-right: .625rem;\n}\n\n.py-1\\.5 {\n padding-top: .375rem;\n padding-bottom: .375rem;\n}\n\n.px-4 {\n padding-left: 1rem;\n padding-right: 1rem;\n}\n\n.py-3 {\n padding-top: .75rem;\n padding-bottom: .75rem;\n}\n\n.py-0\\.5 {\n padding-top: .125rem;\n padding-bottom: .125rem;\n}\n\n.py-0 {\n padding-top: 0;\n padding-bottom: 0;\n}\n\n.py-12 {\n padding-top: 3rem;\n padding-bottom: 3rem;\n}\n\n.pr-3\\.5 {\n padding-right: .875rem;\n}\n\n.pl-2\\.5 {\n padding-left: .625rem;\n}\n\n.pr-3 {\n padding-right: .75rem;\n}\n\n.pl-2 {\n padding-left: .5rem;\n}\n\n.pl-4 {\n padding-left: 1rem;\n}\n\n.pr-2 {\n padding-right: .5rem;\n}\n\n.pb-\\[20px\\] {\n padding-bottom: 20px;\n}\n\n.pb-\\[9px\\] {\n padding-bottom: 9px;\n}\n\n.pb-2 {\n padding-bottom: .5rem;\n}\n\n.pt-1 {\n padding-top: .25rem;\n}\n\n.text-left {\n text-align: left;\n}\n\n.text-center {\n text-align: center;\n}\n\n.align-middle {\n vertical-align: middle;\n}\n\n.text-md {\n letter-spacing: -.02em;\n font-size: 16px;\n line-height: 20px;\n}\n\n.text-sm {\n letter-spacing: -.02em;\n font-size: 14px;\n line-height: 20px;\n}\n\n.text-\\[112px\\] {\n font-size: 112px;\n}\n\n.text-lg {\n letter-spacing: -.02em;\n font-size: 18px;\n line-height: 22px;\n}\n\n.text-xs {\n letter-spacing: -.02em;\n font-size: 12px;\n line-height: 16px;\n}\n\n.text-\\[10px\\] {\n font-size: 10px;\n}\n\n.text-\\[30px\\] {\n font-size: 30px;\n}\n\n.font-medium {\n font-weight: 500;\n}\n\n.font-semibold {\n font-weight: 600;\n}\n\n.font-normal {\n font-weight: 400;\n}\n\n.leading-\\[20px\\] {\n line-height: 20px;\n}\n\n.leading-none {\n line-height: 1;\n}\n\n.text-gray-1000 {\n --tw-text-opacity: 1;\n color: rgb(var(--color-gray-1000) / var(--tw-text-opacity));\n}\n\n.text-blue-700 {\n --tw-text-opacity: 1;\n color: rgb(var(--color-blue-700) / var(--tw-text-opacity));\n}\n\n.text-white {\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / var(--tw-text-opacity));\n}\n\n.text-red-700 {\n --tw-text-opacity: 1;\n color: rgb(var(--color-red-700) / var(--tw-text-opacity));\n}\n\n.text-gray-700 {\n --tw-text-opacity: 1;\n color: rgb(var(--color-gray-700) / var(--tw-text-opacity));\n}\n\n.text-amber-700 {\n --tw-text-opacity: 1;\n color: rgb(var(--color-amber-700) / var(--tw-text-opacity));\n}\n\n.text-current {\n color: currentColor;\n}\n\n.text-white\\/80 {\n color: #fffc;\n}\n\n.text-gray-100 {\n --tw-text-opacity: 1;\n color: rgb(var(--color-gray-100) / var(--tw-text-opacity));\n}\n\n.text-\\[\\#707070\\] {\n --tw-text-opacity: 1;\n color: rgb(112 112 112 / var(--tw-text-opacity));\n}\n\n.text-primary {\n --tw-text-opacity: 1;\n color: rgb(29 28 32 / var(--tw-text-opacity));\n}\n\n.text-gray-900 {\n --tw-text-opacity: 1;\n color: rgb(var(--color-gray-900) / var(--tw-text-opacity));\n}\n\n.text-green-700 {\n --tw-text-opacity: 1;\n color: rgb(var(--color-green-700) / var(--tw-text-opacity));\n}\n\n.text-plum-700 {\n --tw-text-opacity: 1;\n color: rgb(var(--color-plum-700) / var(--tw-text-opacity));\n}\n\n.text-crimson-700 {\n --tw-text-opacity: 1;\n color: rgb(var(--color-crimson-700) / var(--tw-text-opacity));\n}\n\n.text-purple-700 {\n --tw-text-opacity: 1;\n color: rgb(var(--color-purple-700) / var(--tw-text-opacity));\n}\n\n.text-violet-700 {\n --tw-text-opacity: 1;\n color: rgb(var(--color-violet-700) / var(--tw-text-opacity));\n}\n\n.text-indigo-700 {\n --tw-text-opacity: 1;\n color: rgb(var(--color-indigo-700) / var(--tw-text-opacity));\n}\n\n.text-cyan-700 {\n --tw-text-opacity: 1;\n color: rgb(var(--color-cyan-700) / var(--tw-text-opacity));\n}\n\n.text-teal-700 {\n --tw-text-opacity: 1;\n color: rgb(var(--color-teal-700) / var(--tw-text-opacity));\n}\n\n.text-grass-700 {\n --tw-text-opacity: 1;\n color: rgb(var(--color-grass-700) / var(--tw-text-opacity));\n}\n\n.text-brown-700 {\n --tw-text-opacity: 1;\n color: rgb(var(--color-brown-700) / var(--tw-text-opacity));\n}\n\n.text-lime-700 {\n --tw-text-opacity: 1;\n color: rgb(var(--color-lime-700) / var(--tw-text-opacity));\n}\n\n.text-yellow-700 {\n --tw-text-opacity: 1;\n color: rgb(var(--color-yellow-700) / var(--tw-text-opacity));\n}\n\n.text-gold-700 {\n --tw-text-opacity: 1;\n color: rgb(var(--color-gold-700) / var(--tw-text-opacity));\n}\n\n.text-bronze-700 {\n --tw-text-opacity: 1;\n color: rgb(var(--color-bronze-700) / var(--tw-text-opacity));\n}\n\n.text-orange-700 {\n --tw-text-opacity: 1;\n color: rgb(var(--color-orange-700) / var(--tw-text-opacity));\n}\n\n.underline {\n text-decoration-line: underline;\n}\n\n.underline-offset-8 {\n text-underline-offset: 8px;\n}\n\n.antialiased {\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\n.opacity-50 {\n opacity: .5;\n}\n\n.shadow-lg {\n --tw-shadow: 0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;\n --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.shadow-md {\n --tw-shadow: 0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;\n --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.shadow-dropdown-sm {\n --tw-shadow: 0px 1px 2px 0px #1018280f, 0px 1px 3px 0px #1018281a;\n --tw-shadow-colored: 0px 1px 2px 0px var(--tw-shadow-color), 0px 1px 3px 0px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.shadow-sm {\n --tw-shadow: 0 1px 2px 0 #0000000d;\n --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.outline-none {\n outline-offset: 2px;\n outline: 2px solid #0000;\n}\n\n.outline {\n outline-style: solid;\n}\n\n.ring-2 {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\n}\n\n.ring-4 {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\n}\n\n.ring-1 {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\n}\n\n.ring-inset {\n --tw-ring-inset: inset;\n}\n\n.ring-white\\/20 {\n --tw-ring-color: #fff3;\n}\n\n.ring-gray-200 {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(var(--color-gray-200) / var(--tw-ring-opacity));\n}\n\n.ring-blue-700 {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(var(--color-blue-700) / var(--tw-ring-opacity));\n}\n\n.ring-white {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(255 255 255 / var(--tw-ring-opacity));\n}\n\n.ring-green-300 {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(var(--color-green-300) / var(--tw-ring-opacity));\n}\n\n.ring-red-300 {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(var(--color-red-300) / var(--tw-ring-opacity));\n}\n\n.ring-amber-300 {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(var(--color-amber-300) / var(--tw-ring-opacity));\n}\n\n.ring-blue-300 {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(var(--color-blue-300) / var(--tw-ring-opacity));\n}\n\n.ring-crimson-300 {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(var(--color-crimson-300) / var(--tw-ring-opacity));\n}\n\n.ring-violet-300 {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(var(--color-violet-300) / var(--tw-ring-opacity));\n}\n\n.ring-cyan-300 {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(var(--color-cyan-300) / var(--tw-ring-opacity));\n}\n\n.ring-teal-300 {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(var(--color-teal-300) / var(--tw-ring-opacity));\n}\n\n.ring-brown-300 {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(var(--color-brown-300) / var(--tw-ring-opacity));\n}\n\n.ring-orange-300 {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(var(--color-orange-300) / var(--tw-ring-opacity));\n}\n\n.ring-offset-0 {\n --tw-ring-offset-width: 0px;\n}\n\n.ring-offset-white {\n --tw-ring-offset-color: #fff;\n}\n\n.blur {\n --tw-blur: blur(8px);\n filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);\n}\n\n.filter {\n filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);\n}\n\n.backdrop-blur-\\[30px\\] {\n --tw-backdrop-blur: blur(30px);\n -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);\n backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);\n}\n\n.backdrop-blur-sm {\n --tw-backdrop-blur: blur(4px);\n -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);\n backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);\n}\n\n.transition-all {\n transition-property: all;\n transition-duration: .15s;\n transition-timing-function: cubic-bezier(.4, 0, .2, 1);\n}\n\n.transition {\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter, backdrop-filter;\n transition-duration: .15s;\n transition-timing-function: cubic-bezier(.4, 0, .2, 1);\n}\n\n.transition-transform {\n transition-property: transform;\n transition-duration: .15s;\n transition-timing-function: cubic-bezier(.4, 0, .2, 1);\n}\n\n.transition-colors {\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;\n transition-duration: .15s;\n transition-timing-function: cubic-bezier(.4, 0, .2, 1);\n}\n\n.duration-300 {\n transition-duration: .3s;\n}\n\n.duration-1000 {\n transition-duration: 1s;\n}\n\n.duration-200 {\n transition-duration: .2s;\n}\n\n.ease-linear {\n transition-timing-function: linear;\n}\n\n.ease-out {\n transition-timing-function: cubic-bezier(0, 0, .2, 1);\n}\n\n.will-change-transform {\n will-change: transform;\n}\n\n@keyframes enter {\n from {\n opacity: var(--tw-enter-opacity, 1);\n transform: translate3d(var(--tw-enter-translate-x, 0), var(--tw-enter-translate-y, 0), 0) scale3d(var(--tw-enter-scale, 1), var(--tw-enter-scale, 1), var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0));\n }\n}\n\n@keyframes exit {\n to {\n opacity: var(--tw-exit-opacity, 1);\n transform: translate3d(var(--tw-exit-translate-x, 0), var(--tw-exit-translate-y, 0), 0) scale3d(var(--tw-exit-scale, 1), var(--tw-exit-scale, 1), var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0));\n }\n}\n\n.animate-in {\n --tw-enter-opacity: initial;\n --tw-enter-scale: initial;\n --tw-enter-rotate: initial;\n --tw-enter-translate-x: initial;\n --tw-enter-translate-y: initial;\n animation-name: enter;\n animation-duration: .15s;\n}\n\n.fade-in-0, .fade-in {\n --tw-enter-opacity: 0;\n}\n\n.fade-out {\n --tw-exit-opacity: 0;\n}\n\n.zoom-in-95 {\n --tw-enter-scale: .95;\n}\n\n.duration-300 {\n animation-duration: .3s;\n}\n\n.duration-1000 {\n animation-duration: 1s;\n}\n\n.duration-200 {\n animation-duration: .2s;\n}\n\n.ease-linear {\n animation-timing-function: linear;\n}\n\n.ease-out {\n animation-timing-function: cubic-bezier(0, 0, .2, 1);\n}\n\n.paused {\n animation-play-state: paused;\n}\n\n.inter {\n font-family: Inter, sans-serif;\n}\n\n@supports (font-variation-settings: normal) {\n .inter {\n font-family: Inter var, sans-serif;\n }\n}\n\n.placeholder\\:text-gray-900::placeholder {\n --tw-text-opacity: 1;\n color: rgb(var(--color-gray-900) / var(--tw-text-opacity));\n}\n\n.placeholder\\:text-gray-700::placeholder {\n --tw-text-opacity: 1;\n color: rgb(var(--color-gray-700) / var(--tw-text-opacity));\n}\n\n.focus-within\\:relative:focus-within {\n position: relative;\n}\n\n.focus-within\\:z-20:focus-within {\n z-index: 20;\n}\n\n.focus-within\\:border-gray-200:focus-within {\n --tw-border-opacity: 1;\n border-color: rgb(var(--color-gray-200) / var(--tw-border-opacity));\n}\n\n.focus-within\\:bg-gray-100:focus-within {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gray-100) / var(--tw-bg-opacity));\n}\n\n.focus-within\\:outline:focus-within {\n outline-style: solid;\n}\n\n.focus-within\\:outline-\\[2px\\]:focus-within {\n outline-width: 2px;\n}\n\n.focus-within\\:outline-offset-\\[2px\\]:focus-within {\n outline-offset: 2px;\n}\n\n.focus-within\\:outline-blue-300:focus-within {\n outline-color: rgb(var(--color-blue-300) / 1);\n}\n\n.focus-within\\:outline-red-700:focus-within {\n outline-color: rgb(var(--color-red-700) / 1);\n}\n\n.hover\\:bg-\\[\\#292929\\]:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(41 41 41 / var(--tw-bg-opacity));\n}\n\n.hover\\:bg-blue-100:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-blue-100) / var(--tw-bg-opacity));\n}\n\n.hover\\:bg-blue-800:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-blue-800) / var(--tw-bg-opacity));\n}\n\n.hover\\:bg-gray-100:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gray-100) / var(--tw-bg-opacity));\n}\n\n.hover\\:bg-gray-50:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gray-50) / var(--tw-bg-opacity));\n}\n\n.hover\\:bg-blue-50:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-blue-50) / var(--tw-bg-opacity));\n}\n\n.hover\\:bg-red-800:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-red-800) / var(--tw-bg-opacity));\n}\n\n.hover\\:bg-red-100:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-red-100) / var(--tw-bg-opacity));\n}\n\n.hover\\:bg-blue-700:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-blue-700) / var(--tw-bg-opacity));\n}\n\n.hover\\:text-blue-700:hover {\n --tw-text-opacity: 1;\n color: rgb(var(--color-blue-700) / var(--tw-text-opacity));\n}\n\n.hover\\:text-white:hover {\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / var(--tw-text-opacity));\n}\n\n.hover\\:underline:hover {\n text-decoration-line: underline;\n}\n\n.focus\\:bg-gray-100:focus {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gray-100) / var(--tw-bg-opacity));\n}\n\n.focus\\:outline-none:focus {\n outline-offset: 2px;\n outline: 2px solid #0000;\n}\n\n.focus\\:ring-2:focus {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\n}\n\n.focus\\:ring-1:focus {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\n}\n\n.focus\\:ring-offset-2:focus {\n --tw-ring-offset-width: 2px;\n}\n\n.focus-visible\\:outline-none:focus-visible {\n outline-offset: 2px;\n outline: 2px solid #0000;\n}\n\n.focus-visible\\:ring-2:focus-visible {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\n}\n\n.focus-visible\\:ring-blue-1000:focus-visible {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(var(--color-blue-1000) / var(--tw-ring-opacity));\n}\n\n.focus-visible\\:ring-gray-1000:focus-visible {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(var(--color-gray-1000) / var(--tw-ring-opacity));\n}\n\n.focus-visible\\:ring-blue-700:focus-visible {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(var(--color-blue-700) / var(--tw-ring-opacity));\n}\n\n.focus-visible\\:ring-red-1000:focus-visible {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(var(--color-red-1000) / var(--tw-ring-opacity));\n}\n\n.focus-visible\\:ring-red-700:focus-visible {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(var(--color-red-700) / var(--tw-ring-opacity));\n}\n\n.focus-visible\\:ring-offset-2:focus-visible {\n --tw-ring-offset-width: 2px;\n}\n\n.active\\:bg-\\[\\#292929\\]:active {\n --tw-bg-opacity: 1;\n background-color: rgb(41 41 41 / var(--tw-bg-opacity));\n}\n\n.active\\:bg-blue-900:active {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-blue-900) / var(--tw-bg-opacity));\n}\n\n.active\\:bg-gray-500:active {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gray-500) / var(--tw-bg-opacity));\n}\n\n.active\\:bg-blue-200:active {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-blue-200) / var(--tw-bg-opacity));\n}\n\n.active\\:bg-gray-200:active {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gray-200) / var(--tw-bg-opacity));\n}\n\n.active\\:bg-red-900:active {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-red-900) / var(--tw-bg-opacity));\n}\n\n.active\\:bg-red-200:active {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-red-200) / var(--tw-bg-opacity));\n}\n\n.active\\:bg-gray-100:active {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gray-100) / var(--tw-bg-opacity));\n}\n\n.active\\:text-blue-700:active {\n --tw-text-opacity: 1;\n color: rgb(var(--color-blue-700) / var(--tw-text-opacity));\n}\n\n.active\\:text-blue-900:active {\n --tw-text-opacity: 1;\n color: rgb(var(--color-blue-900) / var(--tw-text-opacity));\n}\n\n.disabled\\:pointer-events-none:disabled {\n pointer-events: none;\n}\n\n.disabled\\:cursor-not-allowed:disabled {\n cursor: not-allowed;\n}\n\n.disabled\\:opacity-40:disabled {\n opacity: .4;\n}\n\n.disabled\\:opacity-50:disabled {\n opacity: .5;\n}\n\n.group:focus-within .group-focus-within\\:bg-gray-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gray-100) / var(--tw-bg-opacity));\n}\n\n.group:hover .group-hover\\:bg-gray-50 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gray-50) / var(--tw-bg-opacity));\n}\n\n.group:active .group-active\\:bg-gray-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gray-100) / var(--tw-bg-opacity));\n}\n\n.peer:disabled ~ .peer-disabled\\:cursor-not-allowed {\n cursor: not-allowed;\n}\n\n.peer:disabled ~ .peer-disabled\\:opacity-70 {\n opacity: .7;\n}\n\n.aria-selected\\:bg-blue-100[aria-selected=\"true\"] {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-blue-100) / var(--tw-bg-opacity));\n}\n\n.aria-selected\\:text-blue-700[aria-selected=\"true\"] {\n --tw-text-opacity: 1;\n color: rgb(var(--color-blue-700) / var(--tw-text-opacity));\n}\n\n.aria-selected\\:opacity-100[aria-selected=\"true\"] {\n opacity: 1;\n}\n\n.data-\\[disabled\\]\\:pointer-events-none[data-disabled] {\n pointer-events: none;\n}\n\n.data-\\[side\\=bottom\\]\\:translate-y-1[data-side=\"bottom\"] {\n --tw-translate-y: .25rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.data-\\[side\\=left\\]\\:-translate-x-1[data-side=\"left\"] {\n --tw-translate-x: -.25rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.data-\\[side\\=right\\]\\:translate-x-1[data-side=\"right\"] {\n --tw-translate-x: .25rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.data-\\[side\\=top\\]\\:-translate-y-1[data-side=\"top\"] {\n --tw-translate-y: -.25rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.data-\\[state\\=checked\\]\\:translate-x-5[data-state=\"checked\"] {\n --tw-translate-x: 1.25rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.data-\\[swipe\\=cancel\\]\\:translate-x-0[data-swipe=\"cancel\"] {\n --tw-translate-x: 0px;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.data-\\[swipe\\=end\\]\\:translate-x-\\[var\\(--radix-toast-swipe-end-x\\)\\][data-swipe=\"end\"] {\n --tw-translate-x: var(--radix-toast-swipe-end-x);\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.data-\\[swipe\\=move\\]\\:translate-x-\\[var\\(--radix-toast-swipe-move-x\\)\\][data-swipe=\"move\"] {\n --tw-translate-x: var(--radix-toast-swipe-move-x);\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n@keyframes accordion-up {\n from {\n height: var(--radix-accordion-content-height);\n }\n\n to {\n height: 0;\n }\n}\n\n.data-\\[state\\=closed\\]\\:animate-accordion-up[data-state=\"closed\"] {\n animation: .2s ease-out accordion-up;\n}\n\n@keyframes accordion-down {\n from {\n height: 0;\n }\n\n to {\n height: var(--radix-accordion-content-height);\n }\n}\n\n.data-\\[state\\=open\\]\\:animate-accordion-down[data-state=\"open\"] {\n animation: .2s ease-out accordion-down;\n}\n\n.data-\\[disabled\\]\\:cursor-not-allowed[data-disabled] {\n cursor: not-allowed;\n}\n\n.data-\\[state\\=checked\\]\\:border-blue-700[data-state=\"checked\"] {\n --tw-border-opacity: 1;\n border-color: rgb(var(--color-blue-700) / var(--tw-border-opacity));\n}\n\n.data-\\[state\\=checked\\]\\:bg-blue-700[data-state=\"checked\"] {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-blue-700) / var(--tw-bg-opacity));\n}\n\n.data-\\[state\\=checked\\]\\:bg-gray-50[data-state=\"checked\"], .data-\\[selected\\=true\\]\\:bg-gray-50[data-selected=\"true\"] {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gray-50) / var(--tw-bg-opacity));\n}\n\n.data-\\[disabled\\]\\:data-\\[state\\=unchecked\\]\\:bg-gray-300[data-state=\"unchecked\"][data-disabled] {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gray-300) / var(--tw-bg-opacity));\n}\n\n.data-\\[state\\=checked\\]\\:bg-white[data-state=\"checked\"] {\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity));\n}\n\n.data-\\[state\\=selected\\]\\:bg-gray-50[data-state=\"selected\"] {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gray-50) / var(--tw-bg-opacity));\n}\n\n.data-\\[state\\=active\\]\\:bg-white[data-state=\"active\"] {\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity));\n}\n\n.data-\\[state\\=active\\]\\:font-semibold[data-state=\"active\"] {\n font-weight: 600;\n}\n\n.data-\\[state\\=active\\]\\:text-gray-1000[data-state=\"active\"] {\n --tw-text-opacity: 1;\n color: rgb(var(--color-gray-1000) / var(--tw-text-opacity));\n}\n\n.data-\\[state\\=active\\]\\:text-blue-700[data-state=\"active\"] {\n --tw-text-opacity: 1;\n color: rgb(var(--color-blue-700) / var(--tw-text-opacity));\n}\n\n.data-\\[disabled\\]\\:opacity-40[data-disabled] {\n opacity: .4;\n}\n\n.data-\\[disabled\\]\\:opacity-50[data-disabled] {\n opacity: .5;\n}\n\n.data-\\[state\\=active\\]\\:shadow-sm[data-state=\"active\"] {\n --tw-shadow: 0 1px 2px 0 #0000000d;\n --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.data-\\[swipe\\=move\\]\\:transition-none[data-swipe=\"move\"] {\n transition-property: none;\n}\n\n.data-\\[state\\=open\\]\\:animate-in[data-state=\"open\"] {\n --tw-enter-opacity: initial;\n --tw-enter-scale: initial;\n --tw-enter-rotate: initial;\n --tw-enter-translate-x: initial;\n --tw-enter-translate-y: initial;\n animation-name: enter;\n animation-duration: .15s;\n}\n\n.data-\\[state\\=closed\\]\\:animate-out[data-state=\"closed\"], .data-\\[swipe\\=end\\]\\:animate-out[data-swipe=\"end\"] {\n --tw-exit-opacity: initial;\n --tw-exit-scale: initial;\n --tw-exit-rotate: initial;\n --tw-exit-translate-x: initial;\n --tw-exit-translate-y: initial;\n animation-name: exit;\n animation-duration: .15s;\n}\n\n.data-\\[state\\=closed\\]\\:fade-out-0[data-state=\"closed\"] {\n --tw-exit-opacity: 0;\n}\n\n.data-\\[state\\=open\\]\\:fade-in-0[data-state=\"open\"] {\n --tw-enter-opacity: 0;\n}\n\n.data-\\[state\\=closed\\]\\:fade-out-80[data-state=\"closed\"] {\n --tw-exit-opacity: .8;\n}\n\n.data-\\[state\\=closed\\]\\:fade-out[data-state=\"closed\"] {\n --tw-exit-opacity: 0;\n}\n\n.data-\\[state\\=closed\\]\\:zoom-out-95[data-state=\"closed\"] {\n --tw-exit-scale: .95;\n}\n\n.data-\\[state\\=open\\]\\:zoom-in-95[data-state=\"open\"] {\n --tw-enter-scale: .95;\n}\n\n.data-\\[state\\=closed\\]\\:slide-out-to-left-1\\/2[data-state=\"closed\"] {\n --tw-exit-translate-x: -50%;\n}\n\n.data-\\[state\\=closed\\]\\:slide-out-to-top-\\[48\\%\\][data-state=\"closed\"] {\n --tw-exit-translate-y: -48%;\n}\n\n.data-\\[state\\=open\\]\\:slide-in-from-left-1\\/2[data-state=\"open\"] {\n --tw-enter-translate-x: -50%;\n}\n\n.data-\\[state\\=open\\]\\:slide-in-from-top-\\[48\\%\\][data-state=\"open\"] {\n --tw-enter-translate-y: -48%;\n}\n\n.data-\\[state\\=open\\]\\:slide-in-from-bottom-\\[100\\%\\][data-state=\"open\"] {\n --tw-enter-translate-y: 100%;\n}\n\n.data-\\[state\\=closed\\]\\:slide-out-to-bottom-\\[100\\%\\][data-state=\"closed\"] {\n --tw-exit-translate-y: 100%;\n}\n\n.data-\\[state\\=open\\]\\:slide-in-from-left-\\[50\\%\\][data-state=\"open\"] {\n --tw-enter-translate-x: -50%;\n}\n\n.data-\\[state\\=closed\\]\\:slide-out-to-left-\\[50\\%\\][data-state=\"closed\"] {\n --tw-exit-translate-x: -50%;\n}\n\n.data-\\[side\\=bottom\\]\\:slide-in-from-top-2[data-side=\"bottom\"] {\n --tw-enter-translate-y: -.5rem;\n}\n\n.data-\\[side\\=left\\]\\:slide-in-from-right-2[data-side=\"left\"] {\n --tw-enter-translate-x: .5rem;\n}\n\n.data-\\[side\\=right\\]\\:slide-in-from-left-2[data-side=\"right\"] {\n --tw-enter-translate-x: -.5rem;\n}\n\n.data-\\[side\\=top\\]\\:slide-in-from-bottom-2[data-side=\"top\"] {\n --tw-enter-translate-y: .5rem;\n}\n\n.data-\\[state\\=open\\]\\:slide-in-from-top-full[data-state=\"open\"] {\n --tw-enter-translate-y: -100%;\n}\n\n.group[data-state=\"open\"] .group-data-\\[state\\=open\\]\\:rotate-180 {\n --tw-rotate: 180deg;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.group[data-disabled] .group-data-\\[disabled\\]\\:cursor-not-allowed {\n cursor: not-allowed;\n}\n\n.group[data-state=\"checked\"] .group-data-\\[state\\=checked\\]\\:bg-gray-50 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gray-50) / var(--tw-bg-opacity));\n}\n\n.group[data-disabled] .group-data-\\[disabled\\]\\:opacity-50 {\n opacity: .5;\n}\n\n@media not all and (min-width: 640px) {\n .max-sm\\:gap-4 {\n gap: 1rem;\n }\n\n .max-sm\\:p-4 {\n padding: 1rem;\n }\n}\n\n@media (min-width: 640px) {\n .sm\\:mt-0 {\n margin-top: 0;\n }\n\n .sm\\:w-1\\/2 {\n width: 50%;\n }\n\n .sm\\:flex-row {\n flex-direction: row;\n }\n\n .sm\\:flex-col {\n flex-direction: column;\n }\n\n .sm\\:justify-end {\n justify-content: flex-end;\n }\n\n .sm\\:justify-center {\n justify-content: center;\n }\n\n .sm\\:space-x-2 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-x-reverse: 0;\n margin-right: calc(.5rem * var(--tw-space-x-reverse));\n margin-left: calc(.5rem * calc(1 - var(--tw-space-x-reverse)));\n }\n\n .sm\\:space-x-4 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-x-reverse: 0;\n margin-right: calc(1rem * var(--tw-space-x-reverse));\n margin-left: calc(1rem * calc(1 - var(--tw-space-x-reverse)));\n }\n\n .sm\\:space-y-0 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(0px * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(0px * var(--tw-space-y-reverse));\n }\n\n .sm\\:rounded-xl {\n border-radius: .75rem;\n }\n\n .sm\\:text-left {\n text-align: left;\n }\n\n .data-\\[state\\=open\\]\\:sm\\:slide-in-from-bottom-full[data-state=\"open\"] {\n --tw-enter-translate-y: 100%;\n }\n}\n\n@media (min-width: 768px) {\n .md\\:w-screen {\n width: 100vw;\n }\n\n .md\\:w-\\[334px\\] {\n width: 334px;\n }\n\n .md\\:w-full {\n width: 100%;\n }\n\n .md\\:max-w-\\[420px\\] {\n max-width: 420px;\n }\n}\n\n.\\[\\&\\>svg\\]\\:h-\\[18px\\] > svg {\n height: 18px;\n}\n\n.\\[\\&\\>svg\\]\\:w-\\[18px\\] > svg {\n width: 18px;\n}\n\n.\\[\\&\\:has\\(\\[aria-selected\\]\\)\\]\\:bg-blue-100:has([aria-selected]) {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-blue-100) / var(--tw-bg-opacity));\n}\n\n.first\\:\\[\\&\\:has\\(\\[aria-selected\\]\\)\\]\\:rounded-l-md:has([aria-selected]):first-child {\n border-top-left-radius: .375rem;\n border-bottom-left-radius: .375rem;\n}\n\n.last\\:\\[\\&\\:has\\(\\[aria-selected\\]\\)\\]\\:rounded-r-md:has([aria-selected]):last-child {\n border-top-right-radius: .375rem;\n border-bottom-right-radius: .375rem;\n}\n\n.\\[\\&\\:not\\(\\[aria-selected\\]\\)\\]\\:hover\\:bg-gray-100:hover:not([aria-selected]) {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gray-100) / var(--tw-bg-opacity));\n}\n\n.\\[\\&_\\[cmdk-group-heading\\]\\]\\:px-2 [cmdk-group-heading] {\n padding-left: .5rem;\n padding-right: .5rem;\n}\n\n.\\[\\&_\\[cmdk-group-heading\\]\\]\\:py-1\\.5 [cmdk-group-heading] {\n padding-top: .375rem;\n padding-bottom: .375rem;\n}\n\n.\\[\\&_\\[cmdk-group-heading\\]\\]\\:text-sm [cmdk-group-heading] {\n letter-spacing: -.02em;\n font-size: 14px;\n line-height: 20px;\n}\n\n.\\[\\&_\\[cmdk-group-heading\\]\\]\\:font-medium [cmdk-group-heading] {\n font-weight: 500;\n}\n\n.\\[\\&_tr\\]\\:border-b tr {\n border-bottom-width: 1px;\n}\n\n.\\[\\&_tr\\:last-child\\]\\:border-0 tr:last-child {\n border-width: 0;\n}\n\n.\\[\\&_tr\\:hover\\]\\:bg-gray-25 tr:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gray-25) / var(--tw-bg-opacity));\n}\n\n.\\[\\&_tr\\:active\\]\\:bg-gray-50 tr:active, .\\[\\&_tr\\:hover\\:active\\]\\:bg-gray-50 tr:hover:active {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gray-50) / var(--tw-bg-opacity));\n}\n\n.\\[\\&\\:has\\(\\[role\\=checkbox\\]\\)\\]\\:pr-0:has([role=\"checkbox\"]) {\n padding-right: 0;\n}\n\n.\\[\\&\\>\\[role\\=checkbox\\]\\]\\:translate-y-\\[2px\\] > [role=\"checkbox\"] {\n --tw-translate-y: 2px;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n";
16338
16754
 
16339
16755
 
16340
16756
 
@@ -16356,6 +16772,10 @@ const $e68207026aca356b$var$defaultOptions = {
16356
16772
  {
16357
16773
  id: "pip",
16358
16774
  displayType: "icon"
16775
+ },
16776
+ {
16777
+ id: "invite",
16778
+ displayType: "full"
16359
16779
  }
16360
16780
  ],
16361
16781
  controls: {
@@ -16389,7 +16809,7 @@ const $e68207026aca356b$export$3f94917203ab7078 = {
16389
16809
  let styleElement = null;
16390
16810
  styleElement = /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsxs)((0, $jQDcL$reactjsxruntime.Fragment), {
16391
16811
  children: [
16392
- options.recorder?.enabled && /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)("style", {
16812
+ /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)("style", {
16393
16813
  children: (0, (/*@__PURE__*/$parcel$interopDefault($9833f4335ab609cd$exports)))
16394
16814
  }),
16395
16815
  /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)("style", {