@kwik-id/sdk-web 0.1.0-alpha.7 → 0.1.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/kwik-id-sdk.js +539 -340
- package/dist/kwik-id-sdk.umd.cjs +8 -8
- package/package.json +2 -2
package/dist/kwik-id-sdk.js
CHANGED
|
@@ -33144,7 +33144,10 @@ class FaceDetector {
|
|
|
33144
33144
|
return window;
|
|
33145
33145
|
}
|
|
33146
33146
|
try {
|
|
33147
|
-
const module2 = await import(
|
|
33147
|
+
const module2 = await import(
|
|
33148
|
+
/* webpackIgnore: true */
|
|
33149
|
+
"@mediapipe/face_mesh"
|
|
33150
|
+
);
|
|
33148
33151
|
return module2;
|
|
33149
33152
|
} catch {
|
|
33150
33153
|
return new Promise((resolve, reject) => {
|
|
@@ -34320,6 +34323,7 @@ class KwikIdSDK {
|
|
|
34320
34323
|
// Org details from session
|
|
34321
34324
|
orgName;
|
|
34322
34325
|
orgLogoUrl;
|
|
34326
|
+
allowedDocumentTypes;
|
|
34323
34327
|
// Results
|
|
34324
34328
|
lastQualityResult = null;
|
|
34325
34329
|
lastFaceDetection = null;
|
|
@@ -34375,6 +34379,7 @@ class KwikIdSDK {
|
|
|
34375
34379
|
const sessionResponse = await this.apiClient.validateSession(this.config.clientSecret);
|
|
34376
34380
|
this.orgName = sessionResponse.orgName;
|
|
34377
34381
|
this.orgLogoUrl = sessionResponse.orgLogoUrl;
|
|
34382
|
+
this.allowedDocumentTypes = sessionResponse.config?.documentTypes;
|
|
34378
34383
|
this.log("Session validated:", sessionResponse);
|
|
34379
34384
|
await this.faceDetector.initialize();
|
|
34380
34385
|
this.activeLiveness = new ActiveLivenessDetector(this.faceDetector, this.camera, {
|
|
@@ -34392,7 +34397,11 @@ class KwikIdSDK {
|
|
|
34392
34397
|
* Get organization info from the session
|
|
34393
34398
|
*/
|
|
34394
34399
|
getOrgInfo() {
|
|
34395
|
-
return {
|
|
34400
|
+
return {
|
|
34401
|
+
orgName: this.orgName,
|
|
34402
|
+
orgLogoUrl: this.orgLogoUrl,
|
|
34403
|
+
documentTypes: this.allowedDocumentTypes
|
|
34404
|
+
};
|
|
34396
34405
|
}
|
|
34397
34406
|
// ============================================
|
|
34398
34407
|
// Camera Operations
|
|
@@ -35216,6 +35225,17 @@ function hexToHSL(hex2) {
|
|
|
35216
35225
|
const lPercent = Math.round(l * 100);
|
|
35217
35226
|
return `${h2} ${s}% ${lPercent}%`;
|
|
35218
35227
|
}
|
|
35228
|
+
function hexLuminance(hex2) {
|
|
35229
|
+
hex2 = hex2.replace("#", "");
|
|
35230
|
+
const r2 = parseInt(hex2.substring(0, 2), 16) / 255;
|
|
35231
|
+
const g = parseInt(hex2.substring(2, 4), 16) / 255;
|
|
35232
|
+
const b = parseInt(hex2.substring(4, 6), 16) / 255;
|
|
35233
|
+
const toLinear = (c) => c <= 0.03928 ? c / 12.92 : Math.pow((c + 0.055) / 1.055, 2.4);
|
|
35234
|
+
return 0.2126 * toLinear(r2) + 0.7152 * toLinear(g) + 0.0722 * toLinear(b);
|
|
35235
|
+
}
|
|
35236
|
+
function contrastingForeground(hex2) {
|
|
35237
|
+
return hexLuminance(hex2) > 0.4 ? "222 47% 11%" : "0 0% 100%";
|
|
35238
|
+
}
|
|
35219
35239
|
const KwikIDContext = reactExports.createContext(void 0);
|
|
35220
35240
|
const useKwikID = () => {
|
|
35221
35241
|
const context = reactExports.useContext(KwikIDContext);
|
|
@@ -35234,32 +35254,47 @@ const KwikIDProvider = ({
|
|
|
35234
35254
|
const [isSDKReady, setIsSDKReady] = reactExports.useState(false);
|
|
35235
35255
|
const [orgName, setOrgName] = reactExports.useState(void 0);
|
|
35236
35256
|
const [orgLogoUrl, setOrgLogoUrl] = reactExports.useState(void 0);
|
|
35257
|
+
const [allowedDocumentTypes, setAllowedDocumentTypes] = reactExports.useState(
|
|
35258
|
+
void 0
|
|
35259
|
+
);
|
|
35237
35260
|
const [qualityResult, setQualityResult] = reactExports.useState(null);
|
|
35238
35261
|
const [detectedFace, setDetectedFace] = reactExports.useState(null);
|
|
35239
35262
|
const [alignmentResult, setAlignmentResult] = reactExports.useState(null);
|
|
35240
35263
|
const [livenessResult, setLivenessResult] = reactExports.useState(null);
|
|
35241
35264
|
reactExports.useEffect(() => {
|
|
35242
|
-
if (config.theme)
|
|
35243
|
-
|
|
35265
|
+
if (!config.theme) return;
|
|
35266
|
+
const targets = document.querySelectorAll("[data-kwik-id]");
|
|
35267
|
+
if (targets.length === 0) return;
|
|
35268
|
+
const applyTo = (el) => {
|
|
35244
35269
|
if (config.theme.primary) {
|
|
35245
35270
|
const hslValue = hexToHSL(config.theme.primary);
|
|
35246
|
-
|
|
35247
|
-
|
|
35271
|
+
el.style.setProperty("--primary", hslValue);
|
|
35272
|
+
el.style.setProperty(
|
|
35273
|
+
"--primary-foreground",
|
|
35274
|
+
contrastingForeground(config.theme.primary)
|
|
35275
|
+
);
|
|
35248
35276
|
}
|
|
35249
35277
|
if (config.theme.accent) {
|
|
35250
35278
|
const hslValue = hexToHSL(config.theme.accent);
|
|
35251
|
-
|
|
35252
|
-
|
|
35279
|
+
el.style.setProperty("--accent", hslValue);
|
|
35280
|
+
el.style.setProperty(
|
|
35281
|
+
"--accent-foreground",
|
|
35282
|
+
contrastingForeground(config.theme.accent)
|
|
35283
|
+
);
|
|
35253
35284
|
}
|
|
35254
35285
|
if (config.theme.background) {
|
|
35255
35286
|
const hslValue = hexToHSL(config.theme.background);
|
|
35256
|
-
|
|
35287
|
+
el.style.setProperty("--background", hslValue);
|
|
35257
35288
|
}
|
|
35258
35289
|
if (config.theme.foreground) {
|
|
35259
35290
|
const hslValue = hexToHSL(config.theme.foreground);
|
|
35260
|
-
|
|
35291
|
+
el.style.setProperty("--foreground", hslValue);
|
|
35261
35292
|
}
|
|
35262
|
-
|
|
35293
|
+
if (config.theme.fontFamily) {
|
|
35294
|
+
el.style.fontFamily = config.theme.fontFamily;
|
|
35295
|
+
}
|
|
35296
|
+
};
|
|
35297
|
+
targets.forEach(applyTo);
|
|
35263
35298
|
}, [config.theme]);
|
|
35264
35299
|
const initializeSDK = reactExports.useCallback(
|
|
35265
35300
|
async (secret) => {
|
|
@@ -35274,6 +35309,7 @@ const KwikIDProvider = ({
|
|
|
35274
35309
|
const orgInfo = sdkRef.current.getOrgInfo();
|
|
35275
35310
|
setOrgName(orgInfo.orgName);
|
|
35276
35311
|
setOrgLogoUrl(orgInfo.orgLogoUrl);
|
|
35312
|
+
setAllowedDocumentTypes(orgInfo.documentTypes);
|
|
35277
35313
|
setIsSDKReady(true);
|
|
35278
35314
|
} catch (error) {
|
|
35279
35315
|
console.error("SDK initialization error:", error);
|
|
@@ -35376,6 +35412,7 @@ const KwikIDProvider = ({
|
|
|
35376
35412
|
isSDKReady,
|
|
35377
35413
|
orgName,
|
|
35378
35414
|
orgLogoUrl,
|
|
35415
|
+
allowedDocumentTypes,
|
|
35379
35416
|
qualityResult,
|
|
35380
35417
|
detectedFace,
|
|
35381
35418
|
alignmentResult,
|
|
@@ -35393,6 +35430,7 @@ const KwikIDProvider = ({
|
|
|
35393
35430
|
isSDKReady,
|
|
35394
35431
|
orgName,
|
|
35395
35432
|
orgLogoUrl,
|
|
35433
|
+
allowedDocumentTypes,
|
|
35396
35434
|
qualityResult,
|
|
35397
35435
|
detectedFace,
|
|
35398
35436
|
alignmentResult,
|
|
@@ -38241,18 +38279,18 @@ const MotionConfigContext = reactExports.createContext({
|
|
|
38241
38279
|
isStatic: false,
|
|
38242
38280
|
reducedMotion: "never"
|
|
38243
38281
|
});
|
|
38244
|
-
function setRef$
|
|
38282
|
+
function setRef$3(ref, value2) {
|
|
38245
38283
|
if (typeof ref === "function") {
|
|
38246
38284
|
return ref(value2);
|
|
38247
38285
|
} else if (ref !== null && ref !== void 0) {
|
|
38248
38286
|
ref.current = value2;
|
|
38249
38287
|
}
|
|
38250
38288
|
}
|
|
38251
|
-
function composeRefs$
|
|
38289
|
+
function composeRefs$3(...refs) {
|
|
38252
38290
|
return (node) => {
|
|
38253
38291
|
let hasCleanup = false;
|
|
38254
38292
|
const cleanups = refs.map((ref) => {
|
|
38255
|
-
const cleanup = setRef$
|
|
38293
|
+
const cleanup = setRef$3(ref, node);
|
|
38256
38294
|
if (!hasCleanup && typeof cleanup === "function") {
|
|
38257
38295
|
hasCleanup = true;
|
|
38258
38296
|
}
|
|
@@ -38265,7 +38303,7 @@ function composeRefs$2(...refs) {
|
|
|
38265
38303
|
if (typeof cleanup === "function") {
|
|
38266
38304
|
cleanup();
|
|
38267
38305
|
} else {
|
|
38268
|
-
setRef$
|
|
38306
|
+
setRef$3(refs[i], null);
|
|
38269
38307
|
}
|
|
38270
38308
|
}
|
|
38271
38309
|
};
|
|
@@ -38273,7 +38311,7 @@ function composeRefs$2(...refs) {
|
|
|
38273
38311
|
};
|
|
38274
38312
|
}
|
|
38275
38313
|
function useComposedRefs$2(...refs) {
|
|
38276
|
-
return reactExports.useCallback(composeRefs$
|
|
38314
|
+
return reactExports.useCallback(composeRefs$3(...refs), refs);
|
|
38277
38315
|
}
|
|
38278
38316
|
class PopChildMeasure extends reactExports.Component {
|
|
38279
38317
|
getSnapshotBeforeUpdate(prevProps) {
|
|
@@ -42916,18 +42954,18 @@ const createLucideIcon = (iconName, iconNode) => {
|
|
|
42916
42954
|
* This source code is licensed under the ISC license.
|
|
42917
42955
|
* See the LICENSE file in the root directory of this source tree.
|
|
42918
42956
|
*/
|
|
42919
|
-
const __iconNode$
|
|
42957
|
+
const __iconNode$t = [
|
|
42920
42958
|
["path", { d: "m12 19-7-7 7-7", key: "1l729n" }],
|
|
42921
42959
|
["path", { d: "M19 12H5", key: "x3x0zl" }]
|
|
42922
42960
|
];
|
|
42923
|
-
const ArrowLeft = createLucideIcon("arrow-left", __iconNode$
|
|
42961
|
+
const ArrowLeft = createLucideIcon("arrow-left", __iconNode$t);
|
|
42924
42962
|
/**
|
|
42925
42963
|
* @license lucide-react v0.545.0 - ISC
|
|
42926
42964
|
*
|
|
42927
42965
|
* This source code is licensed under the ISC license.
|
|
42928
42966
|
* See the LICENSE file in the root directory of this source tree.
|
|
42929
42967
|
*/
|
|
42930
|
-
const __iconNode$
|
|
42968
|
+
const __iconNode$s = [
|
|
42931
42969
|
["path", { d: "M12 7v14", key: "1akyts" }],
|
|
42932
42970
|
[
|
|
42933
42971
|
"path",
|
|
@@ -42937,14 +42975,14 @@ const __iconNode$r = [
|
|
|
42937
42975
|
}
|
|
42938
42976
|
]
|
|
42939
42977
|
];
|
|
42940
|
-
const BookOpen = createLucideIcon("book-open", __iconNode$
|
|
42978
|
+
const BookOpen = createLucideIcon("book-open", __iconNode$s);
|
|
42941
42979
|
/**
|
|
42942
42980
|
* @license lucide-react v0.545.0 - ISC
|
|
42943
42981
|
*
|
|
42944
42982
|
* This source code is licensed under the ISC license.
|
|
42945
42983
|
* See the LICENSE file in the root directory of this source tree.
|
|
42946
42984
|
*/
|
|
42947
|
-
const __iconNode$
|
|
42985
|
+
const __iconNode$r = [
|
|
42948
42986
|
[
|
|
42949
42987
|
"path",
|
|
42950
42988
|
{
|
|
@@ -42954,69 +42992,80 @@ const __iconNode$q = [
|
|
|
42954
42992
|
],
|
|
42955
42993
|
["circle", { cx: "12", cy: "13", r: "3", key: "1vg3eu" }]
|
|
42956
42994
|
];
|
|
42957
|
-
const Camera = createLucideIcon("camera", __iconNode$
|
|
42995
|
+
const Camera = createLucideIcon("camera", __iconNode$r);
|
|
42958
42996
|
/**
|
|
42959
42997
|
* @license lucide-react v0.545.0 - ISC
|
|
42960
42998
|
*
|
|
42961
42999
|
* This source code is licensed under the ISC license.
|
|
42962
43000
|
* See the LICENSE file in the root directory of this source tree.
|
|
42963
43001
|
*/
|
|
42964
|
-
const __iconNode$
|
|
42965
|
-
const Check = createLucideIcon("check", __iconNode$
|
|
43002
|
+
const __iconNode$q = [["path", { d: "M20 6 9 17l-5-5", key: "1gmf2c" }]];
|
|
43003
|
+
const Check = createLucideIcon("check", __iconNode$q);
|
|
42966
43004
|
/**
|
|
42967
43005
|
* @license lucide-react v0.545.0 - ISC
|
|
42968
43006
|
*
|
|
42969
43007
|
* This source code is licensed under the ISC license.
|
|
42970
43008
|
* See the LICENSE file in the root directory of this source tree.
|
|
42971
43009
|
*/
|
|
42972
|
-
const __iconNode$
|
|
42973
|
-
const ChevronRight = createLucideIcon("chevron-right", __iconNode$
|
|
43010
|
+
const __iconNode$p = [["path", { d: "m9 18 6-6-6-6", key: "mthhwq" }]];
|
|
43011
|
+
const ChevronRight = createLucideIcon("chevron-right", __iconNode$p);
|
|
42974
43012
|
/**
|
|
42975
43013
|
* @license lucide-react v0.545.0 - ISC
|
|
42976
43014
|
*
|
|
42977
43015
|
* This source code is licensed under the ISC license.
|
|
42978
43016
|
* See the LICENSE file in the root directory of this source tree.
|
|
42979
43017
|
*/
|
|
42980
|
-
const __iconNode$
|
|
43018
|
+
const __iconNode$o = [
|
|
42981
43019
|
["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
|
|
42982
43020
|
["line", { x1: "12", x2: "12", y1: "8", y2: "12", key: "1pkeuh" }],
|
|
42983
43021
|
["line", { x1: "12", x2: "12.01", y1: "16", y2: "16", key: "4dfq90" }]
|
|
42984
43022
|
];
|
|
42985
|
-
const CircleAlert = createLucideIcon("circle-alert", __iconNode$
|
|
43023
|
+
const CircleAlert = createLucideIcon("circle-alert", __iconNode$o);
|
|
42986
43024
|
/**
|
|
42987
43025
|
* @license lucide-react v0.545.0 - ISC
|
|
42988
43026
|
*
|
|
42989
43027
|
* This source code is licensed under the ISC license.
|
|
42990
43028
|
* See the LICENSE file in the root directory of this source tree.
|
|
42991
43029
|
*/
|
|
42992
|
-
const __iconNode$
|
|
43030
|
+
const __iconNode$n = [
|
|
42993
43031
|
["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
|
|
42994
43032
|
["path", { d: "m9 12 2 2 4-4", key: "dzmm74" }]
|
|
42995
43033
|
];
|
|
42996
|
-
const CircleCheck = createLucideIcon("circle-check", __iconNode$
|
|
43034
|
+
const CircleCheck = createLucideIcon("circle-check", __iconNode$n);
|
|
42997
43035
|
/**
|
|
42998
43036
|
* @license lucide-react v0.545.0 - ISC
|
|
42999
43037
|
*
|
|
43000
43038
|
* This source code is licensed under the ISC license.
|
|
43001
43039
|
* See the LICENSE file in the root directory of this source tree.
|
|
43002
43040
|
*/
|
|
43003
|
-
const __iconNode$
|
|
43041
|
+
const __iconNode$m = [
|
|
43004
43042
|
["path", { d: "M21.801 10A10 10 0 1 1 17 3.335", key: "yps3ct" }],
|
|
43005
43043
|
["path", { d: "m9 11 3 3L22 4", key: "1pflzl" }]
|
|
43006
43044
|
];
|
|
43007
|
-
const CircleCheckBig = createLucideIcon("circle-check-big", __iconNode$
|
|
43045
|
+
const CircleCheckBig = createLucideIcon("circle-check-big", __iconNode$m);
|
|
43008
43046
|
/**
|
|
43009
43047
|
* @license lucide-react v0.545.0 - ISC
|
|
43010
43048
|
*
|
|
43011
43049
|
* This source code is licensed under the ISC license.
|
|
43012
43050
|
* See the LICENSE file in the root directory of this source tree.
|
|
43013
43051
|
*/
|
|
43014
|
-
const __iconNode$
|
|
43052
|
+
const __iconNode$l = [
|
|
43015
43053
|
["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
|
|
43016
43054
|
["path", { d: "m15 9-6 6", key: "1uzhvr" }],
|
|
43017
43055
|
["path", { d: "m9 9 6 6", key: "z0biqf" }]
|
|
43018
43056
|
];
|
|
43019
|
-
const CircleX = createLucideIcon("circle-x", __iconNode$
|
|
43057
|
+
const CircleX = createLucideIcon("circle-x", __iconNode$l);
|
|
43058
|
+
/**
|
|
43059
|
+
* @license lucide-react v0.545.0 - ISC
|
|
43060
|
+
*
|
|
43061
|
+
* This source code is licensed under the ISC license.
|
|
43062
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
43063
|
+
*/
|
|
43064
|
+
const __iconNode$k = [
|
|
43065
|
+
["path", { d: "M12 6v6l4 2", key: "mmk7yg" }],
|
|
43066
|
+
["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }]
|
|
43067
|
+
];
|
|
43068
|
+
const Clock = createLucideIcon("clock", __iconNode$k);
|
|
43020
43069
|
/**
|
|
43021
43070
|
* @license lucide-react v0.545.0 - ISC
|
|
43022
43071
|
*
|
|
@@ -45770,11 +45819,11 @@ const KwikIDBranding = () => {
|
|
|
45770
45819
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
45771
45820
|
"a",
|
|
45772
45821
|
{
|
|
45773
|
-
href: "https://kwiknkap.com",
|
|
45822
|
+
href: "https://identity.kwiknkap.com",
|
|
45774
45823
|
target: "_blank",
|
|
45775
45824
|
rel: "noopener noreferrer",
|
|
45776
45825
|
className: "text-primary hover:text-primary/80 transition-colors font-medium",
|
|
45777
|
-
children: "Kwik
|
|
45826
|
+
children: "Kwik ID"
|
|
45778
45827
|
}
|
|
45779
45828
|
)
|
|
45780
45829
|
] })
|
|
@@ -45859,18 +45908,18 @@ function composeContextScopes(...scopes) {
|
|
|
45859
45908
|
createScope.scopeName = baseScope.scopeName;
|
|
45860
45909
|
return createScope;
|
|
45861
45910
|
}
|
|
45862
|
-
function setRef$
|
|
45911
|
+
function setRef$2(ref, value2) {
|
|
45863
45912
|
if (typeof ref === "function") {
|
|
45864
45913
|
return ref(value2);
|
|
45865
45914
|
} else if (ref !== null && ref !== void 0) {
|
|
45866
45915
|
ref.current = value2;
|
|
45867
45916
|
}
|
|
45868
45917
|
}
|
|
45869
|
-
function composeRefs$
|
|
45918
|
+
function composeRefs$2(...refs) {
|
|
45870
45919
|
return (node) => {
|
|
45871
45920
|
let hasCleanup = false;
|
|
45872
45921
|
const cleanups = refs.map((ref) => {
|
|
45873
|
-
const cleanup = setRef$
|
|
45922
|
+
const cleanup = setRef$2(ref, node);
|
|
45874
45923
|
if (!hasCleanup && typeof cleanup == "function") {
|
|
45875
45924
|
hasCleanup = true;
|
|
45876
45925
|
}
|
|
@@ -45883,7 +45932,7 @@ function composeRefs$1(...refs) {
|
|
|
45883
45932
|
if (typeof cleanup == "function") {
|
|
45884
45933
|
cleanup();
|
|
45885
45934
|
} else {
|
|
45886
|
-
setRef$
|
|
45935
|
+
setRef$2(refs[i], null);
|
|
45887
45936
|
}
|
|
45888
45937
|
}
|
|
45889
45938
|
};
|
|
@@ -45891,15 +45940,15 @@ function composeRefs$1(...refs) {
|
|
|
45891
45940
|
};
|
|
45892
45941
|
}
|
|
45893
45942
|
function useComposedRefs$1(...refs) {
|
|
45894
|
-
return reactExports.useCallback(composeRefs$
|
|
45943
|
+
return reactExports.useCallback(composeRefs$2(...refs), refs);
|
|
45895
45944
|
}
|
|
45896
45945
|
// @__NO_SIDE_EFFECTS__
|
|
45897
|
-
function createSlot(ownerName) {
|
|
45898
|
-
const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);
|
|
45946
|
+
function createSlot$1(ownerName) {
|
|
45947
|
+
const SlotClone = /* @__PURE__ */ createSlotClone$1(ownerName);
|
|
45899
45948
|
const Slot2 = reactExports.forwardRef((props, forwardedRef) => {
|
|
45900
45949
|
const { children, ...slotProps } = props;
|
|
45901
45950
|
const childrenArray = reactExports.Children.toArray(children);
|
|
45902
|
-
const slottable = childrenArray.find(isSlottable);
|
|
45951
|
+
const slottable = childrenArray.find(isSlottable$1);
|
|
45903
45952
|
if (slottable) {
|
|
45904
45953
|
const newElement = slottable.props.children;
|
|
45905
45954
|
const newChildren = childrenArray.map((child) => {
|
|
@@ -45917,16 +45966,15 @@ function createSlot(ownerName) {
|
|
|
45917
45966
|
Slot2.displayName = `${ownerName}.Slot`;
|
|
45918
45967
|
return Slot2;
|
|
45919
45968
|
}
|
|
45920
|
-
var Slot$1 = /* @__PURE__ */ createSlot("Slot");
|
|
45921
45969
|
// @__NO_SIDE_EFFECTS__
|
|
45922
|
-
function createSlotClone(ownerName) {
|
|
45970
|
+
function createSlotClone$1(ownerName) {
|
|
45923
45971
|
const SlotClone = reactExports.forwardRef((props, forwardedRef) => {
|
|
45924
45972
|
const { children, ...slotProps } = props;
|
|
45925
45973
|
if (reactExports.isValidElement(children)) {
|
|
45926
|
-
const childrenRef = getElementRef$
|
|
45927
|
-
const props2 = mergeProps(slotProps, children.props);
|
|
45974
|
+
const childrenRef = getElementRef$2(children);
|
|
45975
|
+
const props2 = mergeProps$1(slotProps, children.props);
|
|
45928
45976
|
if (children.type !== reactExports.Fragment) {
|
|
45929
|
-
props2.ref = forwardedRef ? composeRefs$
|
|
45977
|
+
props2.ref = forwardedRef ? composeRefs$2(forwardedRef, childrenRef) : childrenRef;
|
|
45930
45978
|
}
|
|
45931
45979
|
return reactExports.cloneElement(children, props2);
|
|
45932
45980
|
}
|
|
@@ -45935,11 +45983,11 @@ function createSlotClone(ownerName) {
|
|
|
45935
45983
|
SlotClone.displayName = `${ownerName}.SlotClone`;
|
|
45936
45984
|
return SlotClone;
|
|
45937
45985
|
}
|
|
45938
|
-
var SLOTTABLE_IDENTIFIER = Symbol("radix.slottable");
|
|
45939
|
-
function isSlottable(child) {
|
|
45940
|
-
return reactExports.isValidElement(child) && typeof child.type === "function" && "__radixId" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;
|
|
45986
|
+
var SLOTTABLE_IDENTIFIER$1 = Symbol("radix.slottable");
|
|
45987
|
+
function isSlottable$1(child) {
|
|
45988
|
+
return reactExports.isValidElement(child) && typeof child.type === "function" && "__radixId" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER$1;
|
|
45941
45989
|
}
|
|
45942
|
-
function mergeProps(slotProps, childProps) {
|
|
45990
|
+
function mergeProps$1(slotProps, childProps) {
|
|
45943
45991
|
const overrideProps = { ...childProps };
|
|
45944
45992
|
for (const propName in childProps) {
|
|
45945
45993
|
const slotPropValue = slotProps[propName];
|
|
@@ -45963,7 +46011,7 @@ function mergeProps(slotProps, childProps) {
|
|
|
45963
46011
|
}
|
|
45964
46012
|
return { ...slotProps, ...overrideProps };
|
|
45965
46013
|
}
|
|
45966
|
-
function getElementRef$
|
|
46014
|
+
function getElementRef$2(element) {
|
|
45967
46015
|
let getter = Object.getOwnPropertyDescriptor(element.props, "ref")?.get;
|
|
45968
46016
|
let mayWarn = getter && "isReactWarning" in getter && getter.isReactWarning;
|
|
45969
46017
|
if (mayWarn) {
|
|
@@ -46007,7 +46055,7 @@ var NODES = [
|
|
|
46007
46055
|
"ul"
|
|
46008
46056
|
];
|
|
46009
46057
|
var Primitive = NODES.reduce((primitive, node) => {
|
|
46010
|
-
const Slot2 = /* @__PURE__ */ createSlot(`Primitive.${node}`);
|
|
46058
|
+
const Slot2 = /* @__PURE__ */ createSlot$1(`Primitive.${node}`);
|
|
46011
46059
|
const Node2 = reactExports.forwardRef((props, forwardedRef) => {
|
|
46012
46060
|
const { asChild, ...primitiveProps } = props;
|
|
46013
46061
|
const Comp = asChild ? Slot2 : node;
|
|
@@ -46032,7 +46080,7 @@ var Presence = (props) => {
|
|
|
46032
46080
|
const { present, children } = props;
|
|
46033
46081
|
const presence = usePresence(present);
|
|
46034
46082
|
const child = typeof children === "function" ? children({ present: presence.isPresent }) : reactExports.Children.only(children);
|
|
46035
|
-
const ref = useComposedRefs$1(presence.ref, getElementRef(child));
|
|
46083
|
+
const ref = useComposedRefs$1(presence.ref, getElementRef$1(child));
|
|
46036
46084
|
const forceMount = typeof children === "function";
|
|
46037
46085
|
return forceMount || presence.isPresent ? reactExports.cloneElement(child, { ref }) : null;
|
|
46038
46086
|
};
|
|
@@ -46131,7 +46179,7 @@ function usePresence(present) {
|
|
|
46131
46179
|
function getAnimationName(styles2) {
|
|
46132
46180
|
return styles2?.animationName || "none";
|
|
46133
46181
|
}
|
|
46134
|
-
function getElementRef(element) {
|
|
46182
|
+
function getElementRef$1(element) {
|
|
46135
46183
|
let getter = Object.getOwnPropertyDescriptor(element.props, "ref")?.get;
|
|
46136
46184
|
let mayWarn = getter && "isReactWarning" in getter && getter.isReactWarning;
|
|
46137
46185
|
if (mayWarn) {
|
|
@@ -50367,7 +50415,7 @@ var DialogOverlay = reactExports.forwardRef(
|
|
|
50367
50415
|
}
|
|
50368
50416
|
);
|
|
50369
50417
|
DialogOverlay.displayName = OVERLAY_NAME;
|
|
50370
|
-
var Slot = /* @__PURE__ */ createSlot("DialogOverlay.RemoveScroll");
|
|
50418
|
+
var Slot$1 = /* @__PURE__ */ createSlot$1("DialogOverlay.RemoveScroll");
|
|
50371
50419
|
var DialogOverlayImpl = reactExports.forwardRef(
|
|
50372
50420
|
(props, forwardedRef) => {
|
|
50373
50421
|
const { __scopeDialog, ...overlayProps } = props;
|
|
@@ -50375,7 +50423,7 @@ var DialogOverlayImpl = reactExports.forwardRef(
|
|
|
50375
50423
|
return (
|
|
50376
50424
|
// Make sure `Content` is scrollable even when it doesn't live inside `RemoveScroll`
|
|
50377
50425
|
// ie. when `Overlay` and `Content` are siblings
|
|
50378
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(ReactRemoveScroll, { as: Slot, allowPinchZoom: true, shards: [context.contentRef], children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
50426
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(ReactRemoveScroll, { as: Slot$1, allowPinchZoom: true, shards: [context.contentRef], children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
50379
50427
|
Primitive.div,
|
|
50380
50428
|
{
|
|
50381
50429
|
"data-state": getState(context.open),
|
|
@@ -50583,6 +50631,120 @@ var DescriptionWarning = ({ contentRef, descriptionId }) => {
|
|
|
50583
50631
|
};
|
|
50584
50632
|
var Overlay$1 = DialogOverlay;
|
|
50585
50633
|
var Content$1 = DialogContent;
|
|
50634
|
+
function setRef$1(ref, value2) {
|
|
50635
|
+
if (typeof ref === "function") {
|
|
50636
|
+
return ref(value2);
|
|
50637
|
+
} else if (ref !== null && ref !== void 0) {
|
|
50638
|
+
ref.current = value2;
|
|
50639
|
+
}
|
|
50640
|
+
}
|
|
50641
|
+
function composeRefs$1(...refs) {
|
|
50642
|
+
return (node) => {
|
|
50643
|
+
let hasCleanup = false;
|
|
50644
|
+
const cleanups = refs.map((ref) => {
|
|
50645
|
+
const cleanup = setRef$1(ref, node);
|
|
50646
|
+
if (!hasCleanup && typeof cleanup == "function") {
|
|
50647
|
+
hasCleanup = true;
|
|
50648
|
+
}
|
|
50649
|
+
return cleanup;
|
|
50650
|
+
});
|
|
50651
|
+
if (hasCleanup) {
|
|
50652
|
+
return () => {
|
|
50653
|
+
for (let i = 0; i < cleanups.length; i++) {
|
|
50654
|
+
const cleanup = cleanups[i];
|
|
50655
|
+
if (typeof cleanup == "function") {
|
|
50656
|
+
cleanup();
|
|
50657
|
+
} else {
|
|
50658
|
+
setRef$1(refs[i], null);
|
|
50659
|
+
}
|
|
50660
|
+
}
|
|
50661
|
+
};
|
|
50662
|
+
}
|
|
50663
|
+
};
|
|
50664
|
+
}
|
|
50665
|
+
// @__NO_SIDE_EFFECTS__
|
|
50666
|
+
function createSlot(ownerName) {
|
|
50667
|
+
const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);
|
|
50668
|
+
const Slot2 = reactExports.forwardRef((props, forwardedRef) => {
|
|
50669
|
+
const { children, ...slotProps } = props;
|
|
50670
|
+
const childrenArray = reactExports.Children.toArray(children);
|
|
50671
|
+
const slottable = childrenArray.find(isSlottable);
|
|
50672
|
+
if (slottable) {
|
|
50673
|
+
const newElement = slottable.props.children;
|
|
50674
|
+
const newChildren = childrenArray.map((child) => {
|
|
50675
|
+
if (child === slottable) {
|
|
50676
|
+
if (reactExports.Children.count(newElement) > 1) return reactExports.Children.only(null);
|
|
50677
|
+
return reactExports.isValidElement(newElement) ? newElement.props.children : null;
|
|
50678
|
+
} else {
|
|
50679
|
+
return child;
|
|
50680
|
+
}
|
|
50681
|
+
});
|
|
50682
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: reactExports.isValidElement(newElement) ? reactExports.cloneElement(newElement, void 0, newChildren) : null });
|
|
50683
|
+
}
|
|
50684
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });
|
|
50685
|
+
});
|
|
50686
|
+
Slot2.displayName = `${ownerName}.Slot`;
|
|
50687
|
+
return Slot2;
|
|
50688
|
+
}
|
|
50689
|
+
var Slot = /* @__PURE__ */ createSlot("Slot");
|
|
50690
|
+
// @__NO_SIDE_EFFECTS__
|
|
50691
|
+
function createSlotClone(ownerName) {
|
|
50692
|
+
const SlotClone = reactExports.forwardRef((props, forwardedRef) => {
|
|
50693
|
+
const { children, ...slotProps } = props;
|
|
50694
|
+
if (reactExports.isValidElement(children)) {
|
|
50695
|
+
const childrenRef = getElementRef(children);
|
|
50696
|
+
const props2 = mergeProps(slotProps, children.props);
|
|
50697
|
+
if (children.type !== reactExports.Fragment) {
|
|
50698
|
+
props2.ref = forwardedRef ? composeRefs$1(forwardedRef, childrenRef) : childrenRef;
|
|
50699
|
+
}
|
|
50700
|
+
return reactExports.cloneElement(children, props2);
|
|
50701
|
+
}
|
|
50702
|
+
return reactExports.Children.count(children) > 1 ? reactExports.Children.only(null) : null;
|
|
50703
|
+
});
|
|
50704
|
+
SlotClone.displayName = `${ownerName}.SlotClone`;
|
|
50705
|
+
return SlotClone;
|
|
50706
|
+
}
|
|
50707
|
+
var SLOTTABLE_IDENTIFIER = Symbol("radix.slottable");
|
|
50708
|
+
function isSlottable(child) {
|
|
50709
|
+
return reactExports.isValidElement(child) && typeof child.type === "function" && "__radixId" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;
|
|
50710
|
+
}
|
|
50711
|
+
function mergeProps(slotProps, childProps) {
|
|
50712
|
+
const overrideProps = { ...childProps };
|
|
50713
|
+
for (const propName in childProps) {
|
|
50714
|
+
const slotPropValue = slotProps[propName];
|
|
50715
|
+
const childPropValue = childProps[propName];
|
|
50716
|
+
const isHandler = /^on[A-Z]/.test(propName);
|
|
50717
|
+
if (isHandler) {
|
|
50718
|
+
if (slotPropValue && childPropValue) {
|
|
50719
|
+
overrideProps[propName] = (...args) => {
|
|
50720
|
+
const result = childPropValue(...args);
|
|
50721
|
+
slotPropValue(...args);
|
|
50722
|
+
return result;
|
|
50723
|
+
};
|
|
50724
|
+
} else if (slotPropValue) {
|
|
50725
|
+
overrideProps[propName] = slotPropValue;
|
|
50726
|
+
}
|
|
50727
|
+
} else if (propName === "style") {
|
|
50728
|
+
overrideProps[propName] = { ...slotPropValue, ...childPropValue };
|
|
50729
|
+
} else if (propName === "className") {
|
|
50730
|
+
overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(" ");
|
|
50731
|
+
}
|
|
50732
|
+
}
|
|
50733
|
+
return { ...slotProps, ...overrideProps };
|
|
50734
|
+
}
|
|
50735
|
+
function getElementRef(element) {
|
|
50736
|
+
let getter = Object.getOwnPropertyDescriptor(element.props, "ref")?.get;
|
|
50737
|
+
let mayWarn = getter && "isReactWarning" in getter && getter.isReactWarning;
|
|
50738
|
+
if (mayWarn) {
|
|
50739
|
+
return element.ref;
|
|
50740
|
+
}
|
|
50741
|
+
getter = Object.getOwnPropertyDescriptor(element, "ref")?.get;
|
|
50742
|
+
mayWarn = getter && "isReactWarning" in getter && getter.isReactWarning;
|
|
50743
|
+
if (mayWarn) {
|
|
50744
|
+
return element.props.ref;
|
|
50745
|
+
}
|
|
50746
|
+
return element.props.ref || element.ref;
|
|
50747
|
+
}
|
|
50586
50748
|
const falsyToString = (value2) => typeof value2 === "boolean" ? `${value2}` : value2 === 0 ? "0" : value2;
|
|
50587
50749
|
const cx = clsx;
|
|
50588
50750
|
const cva = (base, config) => (props) => {
|
|
@@ -50655,7 +50817,7 @@ function Button({
|
|
|
50655
50817
|
asChild = false,
|
|
50656
50818
|
...props
|
|
50657
50819
|
}) {
|
|
50658
|
-
const Comp = asChild ? Slot
|
|
50820
|
+
const Comp = asChild ? Slot : "button";
|
|
50659
50821
|
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
50660
50822
|
Comp,
|
|
50661
50823
|
{
|
|
@@ -53710,7 +53872,22 @@ const DOCUMENT_OPTIONS = [
|
|
|
53710
53872
|
icon: Vote
|
|
53711
53873
|
}
|
|
53712
53874
|
];
|
|
53713
|
-
function
|
|
53875
|
+
function useAutoSelect(options2, onSelect) {
|
|
53876
|
+
const fired = reactExports.useRef(false);
|
|
53877
|
+
reactExports.useEffect(() => {
|
|
53878
|
+
if (options2.length === 1 && !fired.current) {
|
|
53879
|
+
fired.current = true;
|
|
53880
|
+
onSelect(options2[0].value);
|
|
53881
|
+
}
|
|
53882
|
+
}, [options2, onSelect]);
|
|
53883
|
+
}
|
|
53884
|
+
function DocumentTypeSelection({
|
|
53885
|
+
selectedType,
|
|
53886
|
+
onSelect,
|
|
53887
|
+
allowedTypes
|
|
53888
|
+
}) {
|
|
53889
|
+
const filteredOptions = allowedTypes ? DOCUMENT_OPTIONS.filter((opt) => allowedTypes.includes(opt.value)) : DOCUMENT_OPTIONS;
|
|
53890
|
+
useAutoSelect(filteredOptions, onSelect);
|
|
53714
53891
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
53715
53892
|
motion.div,
|
|
53716
53893
|
{
|
|
@@ -53724,7 +53901,7 @@ function DocumentTypeSelection({ selectedType, onSelect }) {
|
|
|
53724
53901
|
/* @__PURE__ */ jsxRuntimeExports.jsx("h2", { className: "text-xl md:text-2xl font-semibold text-foreground", children: "Select Your Document Type" }),
|
|
53725
53902
|
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-sm text-muted-foreground", children: "Choose the type of ID you want to verify" })
|
|
53726
53903
|
] }),
|
|
53727
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "grid grid-cols-1 gap-3 pt-2", children:
|
|
53904
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "grid grid-cols-1 gap-3 pt-2", children: filteredOptions.map((option, index2) => {
|
|
53728
53905
|
const Icon2 = option.icon;
|
|
53729
53906
|
const isSelected = selectedType === option.value;
|
|
53730
53907
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
@@ -71338,7 +71515,7 @@ function VerificationStep({
|
|
|
71338
71515
|
{
|
|
71339
71516
|
animate: { rotate: 360 },
|
|
71340
71517
|
transition: { duration: 2, repeat: Infinity, ease: "linear" },
|
|
71341
|
-
className: "w-16 h-16 rounded-full border-4 border-
|
|
71518
|
+
className: "w-16 h-16 rounded-full border-4 border-blue-200 border-t-blue-600"
|
|
71342
71519
|
}
|
|
71343
71520
|
),
|
|
71344
71521
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "text-center space-y-2", children: [
|
|
@@ -71370,7 +71547,7 @@ function VerificationStep({
|
|
|
71370
71547
|
animate: { opacity: isActive || isCompleted ? 1 : 0.4 },
|
|
71371
71548
|
className: "flex items-center gap-3 p-3 rounded-lg bg-secondary/50",
|
|
71372
71549
|
children: [
|
|
71373
|
-
isCompleted ? /* @__PURE__ */ jsxRuntimeExports.jsx(CircleCheck, { className: "w-4 h-4 text-green-600" }) : isActive ? /* @__PURE__ */ jsxRuntimeExports.jsx(LoaderCircle, { className: "w-4 h-4 text-
|
|
71550
|
+
isCompleted ? /* @__PURE__ */ jsxRuntimeExports.jsx(CircleCheck, { className: "w-4 h-4 text-green-600" }) : isActive ? /* @__PURE__ */ jsxRuntimeExports.jsx(LoaderCircle, { className: "w-4 h-4 text-blue-600 animate-spin" }) : /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "w-4 h-4 rounded-full border-2 border-muted-foreground/30" }),
|
|
71374
71551
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
71375
71552
|
"span",
|
|
71376
71553
|
{
|
|
@@ -71388,6 +71565,7 @@ function VerificationStep({
|
|
|
71388
71565
|
);
|
|
71389
71566
|
}
|
|
71390
71567
|
const isSuccess = result.success;
|
|
71568
|
+
const isSessionExpired = result.errorCode === "SESSION_EXPIRED";
|
|
71391
71569
|
const contextualFailureMessage = !isSuccess && result.errorDetails ? `${result.errorDetails.document === "front" ? "Front" : "Back"} document failed${result.errorDetails.errorMessage ? `: ${result.errorDetails.errorMessage}` : " quality check"}` : result.message;
|
|
71392
71570
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
71393
71571
|
motion.div,
|
|
@@ -71412,6 +71590,14 @@ function VerificationStep({
|
|
|
71412
71590
|
transition: { delay: 0.3, type: "spring", stiffness: 200, damping: 15 },
|
|
71413
71591
|
children: /* @__PURE__ */ jsxRuntimeExports.jsx(BsFileEarmarkCheck, { className: "w-12 h-12 text-green-600" })
|
|
71414
71592
|
}
|
|
71593
|
+
) }) : isSessionExpired ? /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "w-20 h-20 rounded-full bg-amber-500/10 flex items-center justify-center", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
71594
|
+
motion.div,
|
|
71595
|
+
{
|
|
71596
|
+
initial: { scale: 0 },
|
|
71597
|
+
animate: { scale: 1 },
|
|
71598
|
+
transition: { delay: 0.3, type: "spring", stiffness: 200, damping: 15 },
|
|
71599
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx(Clock, { className: "w-12 h-12 text-amber-600", strokeWidth: 2.5 })
|
|
71600
|
+
}
|
|
71415
71601
|
) }) : /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "w-20 h-20 rounded-full bg-destructive/10 flex items-center justify-center", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
71416
71602
|
motion.div,
|
|
71417
71603
|
{
|
|
@@ -71431,7 +71617,7 @@ function VerificationStep({
|
|
|
71431
71617
|
transition: { delay: 0.4 },
|
|
71432
71618
|
className: "text-center space-y-1",
|
|
71433
71619
|
children: [
|
|
71434
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("h2", { className: "text-xl font-semibold text-foreground", children: isSuccess ? "Submitted for Review" : "Submission Failed" }),
|
|
71620
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("h2", { className: "text-xl font-semibold text-foreground", children: isSuccess ? "Submitted for Review" : isSessionExpired ? "Session Expired" : "Submission Failed" }),
|
|
71435
71621
|
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-muted-foreground max-w-md mx-auto", children: isSuccess ? "Preliminary checks passed. Your documents have been submitted for full review — we'll notify you once complete." : contextualFailureMessage })
|
|
71436
71622
|
]
|
|
71437
71623
|
}
|
|
@@ -71491,7 +71677,7 @@ function VerificationStep({
|
|
|
71491
71677
|
animate: { opacity: 1, y: 0 },
|
|
71492
71678
|
transition: { delay: 0.7 },
|
|
71493
71679
|
className: "space-y-3",
|
|
71494
|
-
children: isSuccess ? /* @__PURE__ */ jsxRuntimeExports.jsx(Button, { onClick: onComplete, className: "w-full h-12", size: "lg", children: "Done" }) : /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex gap-3", children: [
|
|
71680
|
+
children: isSuccess ? /* @__PURE__ */ jsxRuntimeExports.jsx(Button, { onClick: onComplete, className: "w-full h-12", size: "lg", children: "Done" }) : isSessionExpired ? /* @__PURE__ */ jsxRuntimeExports.jsx(Button, { onClick: onComplete, className: "w-full h-12", size: "lg", children: "Close" }) : /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex gap-3", children: [
|
|
71495
71681
|
/* @__PURE__ */ jsxRuntimeExports.jsx(Button, { variant: "outline", onClick: onComplete, className: "flex-1 h-12", children: "Cancel" }),
|
|
71496
71682
|
/* @__PURE__ */ jsxRuntimeExports.jsxs(Button, { onClick: onRetry, className: "flex-1 h-12", children: [
|
|
71497
71683
|
/* @__PURE__ */ jsxRuntimeExports.jsx(RefreshCw, { className: "w-4 h-4 mr-2" }),
|
|
@@ -71500,7 +71686,7 @@ function VerificationStep({
|
|
|
71500
71686
|
] })
|
|
71501
71687
|
}
|
|
71502
71688
|
),
|
|
71503
|
-
!isSuccess && /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
71689
|
+
!isSuccess && !isSessionExpired && /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
71504
71690
|
motion.div,
|
|
71505
71691
|
{
|
|
71506
71692
|
initial: { opacity: 0 },
|
|
@@ -71677,9 +71863,14 @@ function KYCModalFlow({ isOpen, onClose, onComplete }) {
|
|
|
71677
71863
|
goToNextStep();
|
|
71678
71864
|
} catch (error) {
|
|
71679
71865
|
const errorMessage = error.message || "An error occurred during submission";
|
|
71866
|
+
const isSessionError = errorMessage.toLowerCase().includes("session") && (errorMessage.toLowerCase().includes("expired") || errorMessage.toLowerCase().includes("invalid") || errorMessage.toLowerCase().includes("validate"));
|
|
71867
|
+
if (isSessionError && config.onError) {
|
|
71868
|
+
config.onError(new Error("SESSION_EXPIRED"));
|
|
71869
|
+
}
|
|
71680
71870
|
const result = {
|
|
71681
71871
|
success: false,
|
|
71682
|
-
message: errorMessage
|
|
71872
|
+
message: isSessionError ? "Your verification session has expired. Please close and start a new verification." : errorMessage,
|
|
71873
|
+
errorCode: isSessionError ? "SESSION_EXPIRED" : void 0
|
|
71683
71874
|
};
|
|
71684
71875
|
setVerificationResult(result);
|
|
71685
71876
|
goToNextStep();
|
|
@@ -71756,285 +71947,293 @@ function KYCModalFlow({ isOpen, onClose, onComplete }) {
|
|
|
71756
71947
|
opacity: 0
|
|
71757
71948
|
})
|
|
71758
71949
|
};
|
|
71759
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsx(AnimatePresence, { children: isOpen && /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
71760
|
-
|
|
71761
|
-
|
|
71762
|
-
|
|
71763
|
-
|
|
71764
|
-
|
|
71765
|
-
|
|
71766
|
-
|
|
71767
|
-
|
|
71768
|
-
|
|
71769
|
-
|
|
71770
|
-
|
|
71771
|
-
|
|
71772
|
-
|
|
71773
|
-
|
|
71774
|
-
|
|
71775
|
-
|
|
71776
|
-
|
|
71777
|
-
|
|
71778
|
-
|
|
71779
|
-
|
|
71780
|
-
|
|
71781
|
-
|
|
71782
|
-
|
|
71783
|
-
|
|
71784
|
-
|
|
71785
|
-
|
|
71786
|
-
|
|
71787
|
-
|
|
71788
|
-
|
|
71789
|
-
|
|
71790
|
-
"aria-label": "Go back",
|
|
71791
|
-
children: /* @__PURE__ */ jsxRuntimeExports.jsx(ArrowLeft, { className: "w-5 h-5 text-foreground" })
|
|
71792
|
-
}
|
|
71793
|
-
),
|
|
71794
|
-
!canGoBack && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "w-10" }),
|
|
71795
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
71796
|
-
config.showLogo !== false && (config.orgLogoUrl ? /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
71797
|
-
"img",
|
|
71798
|
-
{
|
|
71799
|
-
src: config.orgLogoUrl,
|
|
71800
|
-
alt: config.appName || config.orgName || "",
|
|
71801
|
-
className: "w-8 h-8 rounded-lg object-cover flex-shrink-0"
|
|
71802
|
-
}
|
|
71803
|
-
) : /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "w-8 h-8 rounded-lg bg-primary flex items-center justify-center flex-shrink-0", children: /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-primary-foreground font-bold text-sm", children: (config.appName || config.orgName || "K").charAt(0).toUpperCase() }) })),
|
|
71804
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex flex-col leading-none", children: [
|
|
71805
|
-
(config.appName || config.orgName) && /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-[11px] text-muted-foreground font-medium", children: config.appName || config.orgName }),
|
|
71806
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("h1", { className: "text-base font-semibold text-foreground", children: "Identity Verification" })
|
|
71807
|
-
] })
|
|
71808
|
-
] }),
|
|
71809
|
-
canClose && /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
71810
|
-
motion.button,
|
|
71811
|
-
{
|
|
71812
|
-
whileHover: { scale: 1.05 },
|
|
71813
|
-
whileTap: { scale: 0.95 },
|
|
71814
|
-
onClick: handleClose,
|
|
71815
|
-
className: "w-10 h-10 rounded-full flex items-center justify-center hover:bg-secondary/80 transition-colors",
|
|
71816
|
-
"aria-label": "Close",
|
|
71817
|
-
children: /* @__PURE__ */ jsxRuntimeExports.jsx(X, { className: "w-5 h-5 text-muted-foreground" })
|
|
71818
|
-
}
|
|
71819
|
-
),
|
|
71820
|
-
!canClose && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "w-10" })
|
|
71821
|
-
] }),
|
|
71822
|
-
showProgressBar && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "w-full mt-2 h-1.5 bg-secondary rounded-full overflow-hidden", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
71823
|
-
motion.div,
|
|
71824
|
-
{
|
|
71825
|
-
className: "h-full bg-primary",
|
|
71826
|
-
initial: { width: 0 },
|
|
71827
|
-
animate: { width: `${getProgress()}%` },
|
|
71828
|
-
transition: { duration: 0.4, ease: [0.4, 0, 0.2, 1] }
|
|
71829
|
-
}
|
|
71830
|
-
) })
|
|
71831
|
-
] }),
|
|
71832
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex-1 overflow-hidden relative bg-background", children: /* @__PURE__ */ jsxRuntimeExports.jsx(AnimatePresence, { mode: "popLayout", custom: direction, children: /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
71833
|
-
motion.div,
|
|
71834
|
-
{
|
|
71835
|
-
custom: direction,
|
|
71836
|
-
variants: slideVariants,
|
|
71837
|
-
initial: "enter",
|
|
71838
|
-
animate: "center",
|
|
71839
|
-
exit: "exit",
|
|
71840
|
-
transition: {
|
|
71841
|
-
x: { duration: 0.3, ease: [0.4, 0, 0.2, 1] },
|
|
71842
|
-
opacity: { duration: 0.2, ease: "easeInOut" }
|
|
71843
|
-
},
|
|
71844
|
-
className: "absolute inset-0 overflow-y-auto bg-background flex flex-col",
|
|
71845
|
-
children: [
|
|
71846
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "px-4 md:px-6 py-4 md:py-6 flex-1", children: [
|
|
71847
|
-
currentSubStep === "intro" && /* @__PURE__ */ jsxRuntimeExports.jsx(IntroStep, { onNext: goToNextStep }),
|
|
71848
|
-
currentSubStep === "handoff-choice" && /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
71849
|
-
HandoffChoiceView,
|
|
71850
|
-
{
|
|
71851
|
-
onContinueDesktop: () => {
|
|
71852
|
-
setDirection("forward");
|
|
71853
|
-
setCurrentSubStep("document-type");
|
|
71854
|
-
},
|
|
71855
|
-
onSwitchToMobile: async () => {
|
|
71856
|
-
setDirection("forward");
|
|
71857
|
-
setCurrentSubStep("handoff-waiting");
|
|
71858
|
-
try {
|
|
71859
|
-
await initiateHandoff();
|
|
71860
|
-
} catch {
|
|
71861
|
-
setCurrentSubStep("document-type");
|
|
71862
|
-
}
|
|
71863
|
-
}
|
|
71864
|
-
}
|
|
71865
|
-
),
|
|
71866
|
-
currentSubStep === "handoff-waiting" && /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
71867
|
-
HandoffQRView,
|
|
71868
|
-
{
|
|
71869
|
-
handoffState,
|
|
71870
|
-
onCancel: async () => {
|
|
71871
|
-
await cancelHandoff();
|
|
71872
|
-
setDirection("backward");
|
|
71873
|
-
setCurrentSubStep("handoff-choice");
|
|
71874
|
-
},
|
|
71875
|
-
onRetry: async () => {
|
|
71876
|
-
try {
|
|
71877
|
-
await initiateHandoff();
|
|
71878
|
-
} catch {
|
|
71879
|
-
}
|
|
71880
|
-
},
|
|
71881
|
-
onComplete: () => {
|
|
71882
|
-
setVerificationResult({
|
|
71883
|
-
success: true,
|
|
71884
|
-
message: "Your documents have been submitted from your phone!"
|
|
71885
|
-
});
|
|
71886
|
-
setDirection("forward");
|
|
71887
|
-
setCurrentSubStep("result");
|
|
71888
|
-
}
|
|
71889
|
-
}
|
|
71890
|
-
),
|
|
71891
|
-
currentSubStep === "document-type" && /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
71892
|
-
DocumentTypeSelection,
|
|
71893
|
-
{
|
|
71894
|
-
selectedType: documentData.documentType,
|
|
71895
|
-
onSelect: (type) => {
|
|
71896
|
-
setDocumentData({
|
|
71897
|
-
...documentData,
|
|
71898
|
-
documentType: type
|
|
71899
|
-
});
|
|
71900
|
-
goToNextStep();
|
|
71901
|
-
}
|
|
71902
|
-
}
|
|
71903
|
-
),
|
|
71904
|
-
currentSubStep === "prepare-front" && /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
71905
|
-
PrepareIDFront,
|
|
71906
|
-
{
|
|
71907
|
-
documentType: documentData.documentType,
|
|
71908
|
-
onNext: goToNextStep
|
|
71909
|
-
}
|
|
71910
|
-
),
|
|
71911
|
-
currentSubStep === "camera-front" && /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
71912
|
-
CameraCapture,
|
|
71913
|
-
{
|
|
71914
|
-
type: "document-front",
|
|
71915
|
-
documentType: documentData.documentType,
|
|
71916
|
-
onCapture: (file, preview) => {
|
|
71917
|
-
setDocumentData({
|
|
71918
|
-
...documentData,
|
|
71919
|
-
frontImage: file
|
|
71920
|
-
});
|
|
71921
|
-
setFrontPreview(preview);
|
|
71922
|
-
goToNextStep();
|
|
71923
|
-
},
|
|
71924
|
-
onCancel: goToPreviousStep
|
|
71925
|
-
}
|
|
71926
|
-
),
|
|
71927
|
-
currentSubStep === "confirm-front" && /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
71928
|
-
PhotoConfirmation,
|
|
71929
|
-
{
|
|
71930
|
-
type: "document-front",
|
|
71931
|
-
preview: frontPreview,
|
|
71932
|
-
onConfirm: goToNextStep,
|
|
71933
|
-
onRetake: () => {
|
|
71934
|
-
setDocumentData({
|
|
71935
|
-
...documentData,
|
|
71936
|
-
frontImage: null
|
|
71937
|
-
});
|
|
71938
|
-
setFrontPreview(null);
|
|
71939
|
-
setCurrentSubStep("camera-front");
|
|
71940
|
-
}
|
|
71941
|
-
}
|
|
71942
|
-
),
|
|
71943
|
-
currentSubStep === "prepare-back" && /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
71944
|
-
PrepareIDBack,
|
|
71945
|
-
{
|
|
71946
|
-
documentType: documentData.documentType,
|
|
71947
|
-
onNext: goToNextStep
|
|
71948
|
-
}
|
|
71949
|
-
),
|
|
71950
|
-
currentSubStep === "camera-back" && /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
71951
|
-
CameraCapture,
|
|
71952
|
-
{
|
|
71953
|
-
type: "document-back",
|
|
71954
|
-
documentType: documentData.documentType,
|
|
71955
|
-
onCapture: (file, preview) => {
|
|
71956
|
-
setDocumentData({
|
|
71957
|
-
...documentData,
|
|
71958
|
-
backImage: file
|
|
71959
|
-
});
|
|
71960
|
-
setBackPreview(preview);
|
|
71961
|
-
goToNextStep();
|
|
71962
|
-
},
|
|
71963
|
-
onCancel: goToPreviousStep
|
|
71964
|
-
}
|
|
71965
|
-
),
|
|
71966
|
-
currentSubStep === "confirm-back" && /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
71967
|
-
PhotoConfirmation,
|
|
71968
|
-
{
|
|
71969
|
-
type: "document-back",
|
|
71970
|
-
preview: backPreview,
|
|
71971
|
-
onConfirm: goToNextStep,
|
|
71972
|
-
onRetake: () => {
|
|
71973
|
-
setDocumentData({
|
|
71974
|
-
...documentData,
|
|
71975
|
-
backImage: null
|
|
71976
|
-
});
|
|
71977
|
-
setBackPreview(null);
|
|
71978
|
-
setCurrentSubStep("camera-back");
|
|
71979
|
-
}
|
|
71980
|
-
}
|
|
71981
|
-
),
|
|
71982
|
-
currentSubStep === "prepare-selfie" && /* @__PURE__ */ jsxRuntimeExports.jsx(PrepareSelfie, { onNext: goToNextStep }),
|
|
71983
|
-
currentSubStep === "camera-selfie" && /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
71984
|
-
CameraCapture,
|
|
71950
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(AnimatePresence, { children: isOpen && /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
71951
|
+
"div",
|
|
71952
|
+
{
|
|
71953
|
+
"data-kwik-id": "modal",
|
|
71954
|
+
className: "fixed inset-0 z-[1099] flex items-center justify-center",
|
|
71955
|
+
children: [
|
|
71956
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
71957
|
+
motion.div,
|
|
71958
|
+
{
|
|
71959
|
+
initial: { opacity: 0 },
|
|
71960
|
+
animate: { opacity: 1 },
|
|
71961
|
+
exit: { opacity: 0 },
|
|
71962
|
+
transition: { duration: 0.3 },
|
|
71963
|
+
className: "absolute inset-0 bg-black/60 backdrop-blur-sm",
|
|
71964
|
+
onClick: config.closeOnBackdropClick ? handleClose : void 0
|
|
71965
|
+
}
|
|
71966
|
+
),
|
|
71967
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
71968
|
+
motion.div,
|
|
71969
|
+
{
|
|
71970
|
+
initial: { opacity: 0, scale: 0.95 },
|
|
71971
|
+
animate: { opacity: 1, scale: 1 },
|
|
71972
|
+
exit: { opacity: 0, scale: 0.95 },
|
|
71973
|
+
transition: { duration: 0.3, ease: [0.4, 0, 0.2, 1] },
|
|
71974
|
+
className: "relative w-full md:max-w-[500px] h-full md:max-h-[900px] md:mx-4 bg-background md:rounded-3xl shadow-2xl overflow-hidden flex flex-col",
|
|
71975
|
+
onClick: (e) => e.stopPropagation(),
|
|
71976
|
+
children: [
|
|
71977
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex-shrink-0 px-2 md:px-6 pt-2 pb-2 border-b border-border/50", children: [
|
|
71978
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center justify-between", children: [
|
|
71979
|
+
canGoBack && /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
71980
|
+
motion.button,
|
|
71985
71981
|
{
|
|
71986
|
-
|
|
71987
|
-
|
|
71988
|
-
|
|
71989
|
-
|
|
71990
|
-
|
|
71991
|
-
}
|
|
71992
|
-
onCancel: goToPreviousStep
|
|
71982
|
+
initial: { opacity: 0, x: -10 },
|
|
71983
|
+
animate: { opacity: 1, x: 0 },
|
|
71984
|
+
onClick: goToPreviousStep,
|
|
71985
|
+
className: "w-10 h-10 rounded-full flex items-center justify-center hover:bg-secondary/80 transition-colors",
|
|
71986
|
+
"aria-label": "Go back",
|
|
71987
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx(ArrowLeft, { className: "w-5 h-5 text-foreground" })
|
|
71993
71988
|
}
|
|
71994
71989
|
),
|
|
71995
|
-
|
|
71996
|
-
|
|
71997
|
-
|
|
71998
|
-
|
|
71999
|
-
|
|
72000
|
-
|
|
72001
|
-
|
|
72002
|
-
|
|
72003
|
-
setCurrentSubStep("camera-selfie");
|
|
71990
|
+
!canGoBack && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "w-10" }),
|
|
71991
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
71992
|
+
config.showLogo !== false && (config.orgLogoUrl ? /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
71993
|
+
"img",
|
|
71994
|
+
{
|
|
71995
|
+
src: config.orgLogoUrl,
|
|
71996
|
+
alt: config.appName || config.orgName || "",
|
|
71997
|
+
className: "w-8 h-8 rounded-lg object-cover flex-shrink-0"
|
|
72004
71998
|
}
|
|
72005
|
-
}
|
|
72006
|
-
|
|
72007
|
-
|
|
72008
|
-
|
|
71999
|
+
) : /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "w-8 h-8 rounded-lg bg-primary flex items-center justify-center flex-shrink-0", children: /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-primary-foreground font-bold text-sm", children: (config.appName || config.orgName || "K").charAt(0).toUpperCase() }) })),
|
|
72000
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex flex-col leading-none", children: [
|
|
72001
|
+
(config.appName || config.orgName) && /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-[11px] text-muted-foreground font-medium", children: config.appName || config.orgName }),
|
|
72002
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("h1", { className: "text-base font-semibold text-foreground", children: "Identity Verification" })
|
|
72003
|
+
] })
|
|
72004
|
+
] }),
|
|
72005
|
+
canClose && /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
72006
|
+
motion.button,
|
|
72009
72007
|
{
|
|
72010
|
-
|
|
72011
|
-
|
|
72012
|
-
|
|
72013
|
-
|
|
72014
|
-
|
|
72015
|
-
|
|
72016
|
-
stage: uploadStage
|
|
72008
|
+
whileHover: { scale: 1.05 },
|
|
72009
|
+
whileTap: { scale: 0.95 },
|
|
72010
|
+
onClick: handleClose,
|
|
72011
|
+
className: "w-10 h-10 rounded-full flex items-center justify-center hover:bg-secondary/80 transition-colors",
|
|
72012
|
+
"aria-label": "Close",
|
|
72013
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx(X, { className: "w-5 h-5 text-muted-foreground" })
|
|
72017
72014
|
}
|
|
72018
72015
|
),
|
|
72019
|
-
|
|
72020
|
-
VerificationStep,
|
|
72021
|
-
{
|
|
72022
|
-
result: verificationResult,
|
|
72023
|
-
onRetry: handleRetry,
|
|
72024
|
-
onComplete: handleComplete
|
|
72025
|
-
}
|
|
72026
|
-
)
|
|
72016
|
+
!canClose && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "w-10" })
|
|
72027
72017
|
] }),
|
|
72028
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
72029
|
-
|
|
72030
|
-
|
|
72031
|
-
|
|
72032
|
-
|
|
72033
|
-
|
|
72034
|
-
|
|
72035
|
-
|
|
72036
|
-
|
|
72037
|
-
|
|
72018
|
+
showProgressBar && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "w-full mt-2 h-1.5 bg-secondary rounded-full overflow-hidden", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
72019
|
+
motion.div,
|
|
72020
|
+
{
|
|
72021
|
+
className: "h-full bg-primary",
|
|
72022
|
+
initial: { width: 0 },
|
|
72023
|
+
animate: { width: `${getProgress()}%` },
|
|
72024
|
+
transition: { duration: 0.4, ease: [0.4, 0, 0.2, 1] }
|
|
72025
|
+
}
|
|
72026
|
+
) })
|
|
72027
|
+
] }),
|
|
72028
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex-1 overflow-hidden relative bg-background", children: /* @__PURE__ */ jsxRuntimeExports.jsx(AnimatePresence, { mode: "popLayout", custom: direction, children: /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
72029
|
+
motion.div,
|
|
72030
|
+
{
|
|
72031
|
+
custom: direction,
|
|
72032
|
+
variants: slideVariants,
|
|
72033
|
+
initial: "enter",
|
|
72034
|
+
animate: "center",
|
|
72035
|
+
exit: "exit",
|
|
72036
|
+
transition: {
|
|
72037
|
+
x: { duration: 0.3, ease: [0.4, 0, 0.2, 1] },
|
|
72038
|
+
opacity: { duration: 0.2, ease: "easeInOut" }
|
|
72039
|
+
},
|
|
72040
|
+
className: "absolute inset-0 overflow-y-auto bg-background flex flex-col",
|
|
72041
|
+
children: [
|
|
72042
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "px-4 md:px-6 py-4 md:py-6 flex-1", children: [
|
|
72043
|
+
currentSubStep === "intro" && /* @__PURE__ */ jsxRuntimeExports.jsx(IntroStep, { onNext: goToNextStep }),
|
|
72044
|
+
currentSubStep === "handoff-choice" && /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
72045
|
+
HandoffChoiceView,
|
|
72046
|
+
{
|
|
72047
|
+
onContinueDesktop: () => {
|
|
72048
|
+
setDirection("forward");
|
|
72049
|
+
setCurrentSubStep("document-type");
|
|
72050
|
+
},
|
|
72051
|
+
onSwitchToMobile: async () => {
|
|
72052
|
+
setDirection("forward");
|
|
72053
|
+
setCurrentSubStep("handoff-waiting");
|
|
72054
|
+
try {
|
|
72055
|
+
await initiateHandoff();
|
|
72056
|
+
} catch {
|
|
72057
|
+
setCurrentSubStep("document-type");
|
|
72058
|
+
}
|
|
72059
|
+
}
|
|
72060
|
+
}
|
|
72061
|
+
),
|
|
72062
|
+
currentSubStep === "handoff-waiting" && /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
72063
|
+
HandoffQRView,
|
|
72064
|
+
{
|
|
72065
|
+
handoffState,
|
|
72066
|
+
onCancel: async () => {
|
|
72067
|
+
await cancelHandoff();
|
|
72068
|
+
setDirection("backward");
|
|
72069
|
+
setCurrentSubStep("handoff-choice");
|
|
72070
|
+
},
|
|
72071
|
+
onRetry: async () => {
|
|
72072
|
+
try {
|
|
72073
|
+
await initiateHandoff();
|
|
72074
|
+
} catch {
|
|
72075
|
+
}
|
|
72076
|
+
},
|
|
72077
|
+
onComplete: () => {
|
|
72078
|
+
setVerificationResult({
|
|
72079
|
+
success: true,
|
|
72080
|
+
message: "Your documents have been submitted from your phone!"
|
|
72081
|
+
});
|
|
72082
|
+
setDirection("forward");
|
|
72083
|
+
setCurrentSubStep("result");
|
|
72084
|
+
}
|
|
72085
|
+
}
|
|
72086
|
+
),
|
|
72087
|
+
currentSubStep === "document-type" && /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
72088
|
+
DocumentTypeSelection,
|
|
72089
|
+
{
|
|
72090
|
+
selectedType: documentData.documentType,
|
|
72091
|
+
allowedTypes: config.allowedDocumentTypes,
|
|
72092
|
+
onSelect: (type) => {
|
|
72093
|
+
setDocumentData({
|
|
72094
|
+
...documentData,
|
|
72095
|
+
documentType: type
|
|
72096
|
+
});
|
|
72097
|
+
goToNextStep();
|
|
72098
|
+
}
|
|
72099
|
+
}
|
|
72100
|
+
),
|
|
72101
|
+
currentSubStep === "prepare-front" && /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
72102
|
+
PrepareIDFront,
|
|
72103
|
+
{
|
|
72104
|
+
documentType: documentData.documentType,
|
|
72105
|
+
onNext: goToNextStep
|
|
72106
|
+
}
|
|
72107
|
+
),
|
|
72108
|
+
currentSubStep === "camera-front" && /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
72109
|
+
CameraCapture,
|
|
72110
|
+
{
|
|
72111
|
+
type: "document-front",
|
|
72112
|
+
documentType: documentData.documentType,
|
|
72113
|
+
onCapture: (file, preview) => {
|
|
72114
|
+
setDocumentData({
|
|
72115
|
+
...documentData,
|
|
72116
|
+
frontImage: file
|
|
72117
|
+
});
|
|
72118
|
+
setFrontPreview(preview);
|
|
72119
|
+
goToNextStep();
|
|
72120
|
+
},
|
|
72121
|
+
onCancel: goToPreviousStep
|
|
72122
|
+
}
|
|
72123
|
+
),
|
|
72124
|
+
currentSubStep === "confirm-front" && /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
72125
|
+
PhotoConfirmation,
|
|
72126
|
+
{
|
|
72127
|
+
type: "document-front",
|
|
72128
|
+
preview: frontPreview,
|
|
72129
|
+
onConfirm: goToNextStep,
|
|
72130
|
+
onRetake: () => {
|
|
72131
|
+
setDocumentData({
|
|
72132
|
+
...documentData,
|
|
72133
|
+
frontImage: null
|
|
72134
|
+
});
|
|
72135
|
+
setFrontPreview(null);
|
|
72136
|
+
setCurrentSubStep("camera-front");
|
|
72137
|
+
}
|
|
72138
|
+
}
|
|
72139
|
+
),
|
|
72140
|
+
currentSubStep === "prepare-back" && /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
72141
|
+
PrepareIDBack,
|
|
72142
|
+
{
|
|
72143
|
+
documentType: documentData.documentType,
|
|
72144
|
+
onNext: goToNextStep
|
|
72145
|
+
}
|
|
72146
|
+
),
|
|
72147
|
+
currentSubStep === "camera-back" && /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
72148
|
+
CameraCapture,
|
|
72149
|
+
{
|
|
72150
|
+
type: "document-back",
|
|
72151
|
+
documentType: documentData.documentType,
|
|
72152
|
+
onCapture: (file, preview) => {
|
|
72153
|
+
setDocumentData({
|
|
72154
|
+
...documentData,
|
|
72155
|
+
backImage: file
|
|
72156
|
+
});
|
|
72157
|
+
setBackPreview(preview);
|
|
72158
|
+
goToNextStep();
|
|
72159
|
+
},
|
|
72160
|
+
onCancel: goToPreviousStep
|
|
72161
|
+
}
|
|
72162
|
+
),
|
|
72163
|
+
currentSubStep === "confirm-back" && /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
72164
|
+
PhotoConfirmation,
|
|
72165
|
+
{
|
|
72166
|
+
type: "document-back",
|
|
72167
|
+
preview: backPreview,
|
|
72168
|
+
onConfirm: goToNextStep,
|
|
72169
|
+
onRetake: () => {
|
|
72170
|
+
setDocumentData({
|
|
72171
|
+
...documentData,
|
|
72172
|
+
backImage: null
|
|
72173
|
+
});
|
|
72174
|
+
setBackPreview(null);
|
|
72175
|
+
setCurrentSubStep("camera-back");
|
|
72176
|
+
}
|
|
72177
|
+
}
|
|
72178
|
+
),
|
|
72179
|
+
currentSubStep === "prepare-selfie" && /* @__PURE__ */ jsxRuntimeExports.jsx(PrepareSelfie, { onNext: goToNextStep }),
|
|
72180
|
+
currentSubStep === "camera-selfie" && /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
72181
|
+
CameraCapture,
|
|
72182
|
+
{
|
|
72183
|
+
type: "selfie",
|
|
72184
|
+
onCapture: (file, preview) => {
|
|
72185
|
+
setSelfieData({ ...selfieData, image: file });
|
|
72186
|
+
setSelfiePreview(preview);
|
|
72187
|
+
goToNextStep();
|
|
72188
|
+
},
|
|
72189
|
+
onCancel: goToPreviousStep
|
|
72190
|
+
}
|
|
72191
|
+
),
|
|
72192
|
+
currentSubStep === "confirm-selfie" && /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
72193
|
+
SelfieConfirmation,
|
|
72194
|
+
{
|
|
72195
|
+
preview: selfiePreview,
|
|
72196
|
+
onConfirm: goToNextStep,
|
|
72197
|
+
onRetake: () => {
|
|
72198
|
+
setSelfieData({ ...selfieData, image: null });
|
|
72199
|
+
setSelfiePreview(null);
|
|
72200
|
+
setCurrentSubStep("camera-selfie");
|
|
72201
|
+
}
|
|
72202
|
+
}
|
|
72203
|
+
),
|
|
72204
|
+
currentSubStep === "processing" && /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
72205
|
+
VerificationStep,
|
|
72206
|
+
{
|
|
72207
|
+
result: null,
|
|
72208
|
+
onRetry: () => {
|
|
72209
|
+
},
|
|
72210
|
+
onComplete: () => {
|
|
72211
|
+
},
|
|
72212
|
+
progress: uploadProgress,
|
|
72213
|
+
stage: uploadStage
|
|
72214
|
+
}
|
|
72215
|
+
),
|
|
72216
|
+
currentSubStep === "result" && verificationResult && /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
72217
|
+
VerificationStep,
|
|
72218
|
+
{
|
|
72219
|
+
result: verificationResult,
|
|
72220
|
+
onRetry: handleRetry,
|
|
72221
|
+
onComplete: handleComplete
|
|
72222
|
+
}
|
|
72223
|
+
)
|
|
72224
|
+
] }),
|
|
72225
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(KwikIDBranding, {}),
|
|
72226
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "h-safe-bottom bg-background" })
|
|
72227
|
+
]
|
|
72228
|
+
},
|
|
72229
|
+
currentSubStep
|
|
72230
|
+
) }) })
|
|
72231
|
+
]
|
|
72232
|
+
}
|
|
72233
|
+
)
|
|
72234
|
+
]
|
|
72235
|
+
}
|
|
72236
|
+
) });
|
|
72038
72237
|
}
|
|
72039
72238
|
reactExports.createContext(void 0);
|
|
72040
72239
|
function KYCForm() {
|
|
@@ -72171,7 +72370,7 @@ var canvasToBlob = { exports: {} };
|
|
|
72171
72370
|
}
|
|
72172
72371
|
})(window);
|
|
72173
72372
|
})(canvasToBlob);
|
|
72174
|
-
const styles = `@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*{border-color:hsl(var(--border))}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.invisible{visibility:hidden}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.inset-x-0{left:0;right:0}.inset-x-4{left:1rem;right:1rem}.inset-y-0{top:0;bottom:0}.-bottom-0{bottom:-0px}.-bottom-0\\.5{bottom:-.125rem}.-bottom-1{bottom:-.25rem}.-bottom-12{bottom:-3rem}.-left-0{left:-0px}.-left-0\\.5{left:-.125rem}.-left-1{left:-.25rem}.-left-12{left:-3rem}.-right-0{right:-0px}.-right-0\\.5{right:-.125rem}.-right-1{right:-.25rem}.-right-12{right:-3rem}.-top-0{top:-0px}.-top-0\\.5{top:-.125rem}.-top-1{top:-.25rem}.-top-12{top:-3rem}.bottom-0{bottom:0}.bottom-3{bottom:.75rem}.bottom-4{bottom:1rem}.bottom-6{bottom:1.5rem}.left-0{left:0}.left-1{left:.25rem}.left-1\\/2{left:50%}.left-2{left:.5rem}.left-3{left:.75rem}.left-4{left:1rem}.left-\\[30\\%\\]{left:30%}.left-\\[50\\%\\]{left:50%}.right-0{right:0}.right-1{right:.25rem}.right-2{right:.5rem}.right-3{right:.75rem}.right-4{right:1rem}.right-\\[30\\%\\]{right:30%}.top-0{top:0}.top-1{top:.25rem}.top-1\\.5{top:.375rem}.top-1\\/2{top:50%}.top-16{top:4rem}.top-2{top:.5rem}.top-3{top:.75rem}.top-3\\.5{top:.875rem}.top-4{top:1rem}.top-\\[1px\\]{top:1px}.top-\\[30\\%\\]{top:30%}.top-\\[50\\%\\]{top:50%}.top-\\[60\\%\\]{top:60%}.top-full{top:100%}.isolate{isolation:isolate}.-z-10{z-index:-10}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.z-\\[1099\\]{z-index:1099}.z-\\[1\\]{z-index:1}.col-start-2{grid-column-start:2}.row-span-2{grid-row:span 2 / span 2}.row-start-1{grid-row-start:1}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-3{margin-left:.75rem;margin-right:.75rem}.mx-3\\.5{margin-left:.875rem;margin-right:.875rem}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-top:0;margin-bottom:0}.my-0\\.5{margin-top:.125rem;margin-bottom:.125rem}.my-1{margin-top:.25rem;margin-bottom:.25rem}.-ml-4{margin-left:-1rem}.-mt-4{margin-top:-1rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-\\[28px\\]{margin-left:28px}.ml-auto{margin-left:auto}.mr-2{margin-right:.5rem}.mt-0{margin-top:0}.mt-0\\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-auto{margin-top:auto}.line-clamp-1{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-row{display:table-row}.grid{display:grid}.hidden{display:none}.aspect-\\[1\\.586\\]{aspect-ratio:1.586}.aspect-\\[3\\/4\\]{aspect-ratio:3/4}.aspect-\\[4\\/3\\]{aspect-ratio:4/3}.aspect-square{aspect-ratio:1 / 1}.aspect-video{aspect-ratio:16 / 9}.size-10{width:2.5rem;height:2.5rem}.size-2{width:.5rem;height:.5rem}.size-2\\.5{width:.625rem;height:.625rem}.size-3{width:.75rem;height:.75rem}.size-3\\.5{width:.875rem;height:.875rem}.size-4{width:1rem;height:1rem}.size-7{width:1.75rem;height:1.75rem}.size-8{width:2rem;height:2rem}.size-9{width:2.25rem;height:2.25rem}.size-full{width:100%;height:100%}.h-0{height:0px}.h-0\\.5{height:.125rem}.h-1{height:.25rem}.h-1\\.5{height:.375rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-2\\.5{height:.625rem}.h-20{height:5rem}.h-3{height:.75rem}.h-3\\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-80{height:20rem}.h-9{height:2.25rem}.h-\\[1\\.15rem\\]{height:1.15rem}.h-\\[240px\\]{height:240px}.h-\\[72\\%\\]{height:72%}.h-\\[var\\(--radix-navigation-menu-viewport-height\\)\\]{height:var(--radix-navigation-menu-viewport-height)}.h-\\[var\\(--radix-select-trigger-height\\)\\]{height:var(--radix-select-trigger-height)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.h-svh{height:100svh}.max-h-\\[300px\\]{max-height:300px}.min-h-0{min-height:0px}.min-h-16{min-height:4rem}.min-h-4{min-height:1rem}.min-h-\\[500px\\]{min-height:500px}.min-h-svh{min-height:100svh}.w-0{width:0px}.w-0\\.5{width:.125rem}.w-1{width:.25rem}.w-1\\.5{width:.375rem}.w-10{width:2.5rem}.w-12{width:3rem}.w-16{width:4rem}.w-2{width:.5rem}.w-2\\.5{width:.625rem}.w-20{width:5rem}.w-3{width:.75rem}.w-3\\.5{width:.875rem}.w-3\\/4{width:75%}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\\[100px\\]{width:100px}.w-\\[240px\\]{width:240px}.w-\\[70\\%\\]{width:70%}.w-\\[88\\%\\]{width:88%}.w-auto{width:auto}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.w-px{width:1px}.min-w-0{min-width:0px}.min-w-10{min-width:2.5rem}.min-w-5{min-width:1.25rem}.min-w-8{min-width:2rem}.min-w-9{min-width:2.25rem}.min-w-\\[12rem\\]{min-width:12rem}.min-w-\\[8rem\\]{min-width:8rem}.min-w-\\[var\\(--radix-select-trigger-width\\)\\]{min-width:var(--radix-select-trigger-width)}.max-w-2xl{max-width:42rem}.max-w-\\[120px\\]{max-width:120px}.max-w-\\[150px\\]{max-width:150px}.max-w-\\[190px\\]{max-width:190px}.max-w-\\[200px\\]{max-width:200px}.max-w-\\[calc\\(100\\%-2rem\\)\\]{max-width:calc(100% - 2rem)}.max-w-max{max-width:-moz-max-content;max-width:max-content}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-\\[2\\]{flex:2}.flex-shrink-0,.shrink-0{flex-shrink:0}.grow{flex-grow:1}.grow-0{flex-grow:0}.basis-full{flex-basis:100%}.caption-bottom{caption-side:bottom}.border-collapse{border-collapse:collapse}.-translate-x-1\\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-px{--tw-translate-x: -1px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-1\\/2{--tw-translate-x: 50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-\\[-50\\%\\]{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-px{--tw-translate-x: 1px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-0{--tw-translate-y: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-0\\.5{--tw-translate-y: .125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-1\\/2{--tw-translate-y: 50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\\[-50\\%\\]{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\\[calc\\(-50\\%_-_2px\\)\\]{--tw-translate-y: calc(-50% - 2px) ;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-45{--tw-rotate: 45deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-90{--tw-rotate: 90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-x-\\[-1\\]{--tw-scale-x: -1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes ping{75%,to{transform:scale(2);opacity:0}}.animate-ping{animation:ping 1s cubic-bezier(0,0,.2,1) infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.touch-manipulation{touch-action:manipulation}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize-none{resize:none}.scroll-my-1{scroll-margin-top:.25rem;scroll-margin-bottom:.25rem}.scroll-py-1{scroll-padding-top:.25rem;scroll-padding-bottom:.25rem}.list-none{list-style-type:none}.auto-rows-min{grid-auto-rows:min-content}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-\\[0_1fr\\]{grid-template-columns:0 1fr}.grid-rows-\\[auto_auto\\]{grid-template-rows:auto auto}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-items-start{justify-items:start}.gap-0{gap:0px}.gap-1{gap:.25rem}.gap-1\\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-y-0{row-gap:0px}.gap-y-0\\.5{row-gap:.125rem}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.25rem * var(--tw-space-x-reverse));margin-left:calc(.25rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-2\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.625rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.625rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.self-start{align-self:flex-start}.justify-self-end{justify-self:end}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.whitespace-nowrap{white-space:nowrap}.text-balance{text-wrap:balance}.break-words{overflow-wrap:break-word}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-\\[2px\\]{border-radius:2px}.rounded-\\[4px\\]{border-radius:4px}.rounded-\\[50\\%\\]{border-radius:50%}.rounded-\\[inherit\\]{border-radius:inherit}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-none{border-radius:0}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:.75rem}.rounded-bl{border-bottom-left-radius:.25rem}.rounded-bl-2xl{border-bottom-left-radius:1rem}.rounded-bl-xl{border-bottom-left-radius:.75rem}.rounded-br{border-bottom-right-radius:.25rem}.rounded-br-2xl{border-bottom-right-radius:1rem}.rounded-br-xl{border-bottom-right-radius:.75rem}.rounded-tl{border-top-left-radius:.25rem}.rounded-tl-2xl{border-top-left-radius:1rem}.rounded-tl-sm{border-top-left-radius:calc(var(--radius) - 4px)}.rounded-tl-xl{border-top-left-radius:.75rem}.rounded-tr{border-top-right-radius:.25rem}.rounded-tr-2xl{border-top-right-radius:1rem}.rounded-tr-xl{border-top-right-radius:.75rem}.border{border-width:1px}.border-2{border-width:2px}.border-4{border-width:4px}.border-\\[1\\.5px\\]{border-width:1.5px}.border-y{border-top-width:1px;border-bottom-width:1px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-b-4{border-bottom-width:4px}.border-l{border-left-width:1px}.border-l-2{border-left-width:2px}.border-l-4{border-left-width:4px}.border-r{border-right-width:1px}.border-r-2{border-right-width:2px}.border-r-4{border-right-width:4px}.border-t{border-top-width:1px}.border-t-2{border-top-width:2px}.border-t-4{border-top-width:4px}.border-dashed{border-style:dashed}.border-amber-200{--tw-border-opacity: 1;border-color:rgb(253 230 138 / var(--tw-border-opacity))}.border-background{border-color:hsl(var(--background))}.border-blue-500\\/30{border-color:#3b82f64d}.border-border{border-color:hsl(var(--border))}.border-border\\/20{border-color:hsl(var(--border) / .2)}.border-border\\/50{border-color:hsl(var(--border) / .5)}.border-destructive{border-color:hsl(var(--destructive))}.border-destructive\\/20{border-color:hsl(var(--destructive) / .2)}.border-green-400\\/30{border-color:#4ade804d}.border-green-500\\/20{border-color:#22c55e33}.border-input{border-color:hsl(var(--input))}.border-muted{border-color:hsl(var(--muted))}.border-muted-foreground\\/30{border-color:hsl(var(--muted-foreground) / .3)}.border-primary{border-color:hsl(var(--primary))}.border-primary-foreground{border-color:hsl(var(--primary-foreground))}.border-primary\\/20{border-color:hsl(var(--primary) / .2)}.border-primary\\/30{border-color:hsl(var(--primary) / .3)}.border-primary\\/40{border-color:hsl(var(--primary) / .4)}.border-primary\\/60{border-color:hsl(var(--primary) / .6)}.border-red-400\\/30{border-color:#f871714d}.border-transparent{border-color:transparent}.border-white\\/10{border-color:#ffffff1a}.border-white\\/30{border-color:#ffffff4d}.border-l-transparent{border-left-color:transparent}.border-t-primary{border-top-color:hsl(var(--primary))}.border-t-transparent{border-top-color:transparent}.bg-accent{background-color:hsl(var(--accent))}.bg-amber-50{--tw-bg-opacity: 1;background-color:rgb(255 251 235 / var(--tw-bg-opacity))}.bg-amber-600{--tw-bg-opacity: 1;background-color:rgb(217 119 6 / var(--tw-bg-opacity))}.bg-background{background-color:hsl(var(--background))}.bg-background\\/95{background-color:hsl(var(--background) / .95)}.bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity))}.bg-black\\/50{background-color:#00000080}.bg-black\\/60{background-color:#0009}.bg-black\\/70{background-color:#000000b3}.bg-black\\/80{background-color:#000c}.bg-blue-500\\/5{background-color:#3b82f60d}.bg-border{background-color:hsl(var(--border))}.bg-card{background-color:hsl(var(--card))}.bg-destructive{background-color:hsl(var(--destructive))}.bg-destructive\\/10{background-color:hsl(var(--destructive) / .1)}.bg-destructive\\/5{background-color:hsl(var(--destructive) / .05)}.bg-foreground{background-color:hsl(var(--foreground))}.bg-green-100{--tw-bg-opacity: 1;background-color:rgb(220 252 231 / var(--tw-bg-opacity))}.bg-green-500{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity))}.bg-green-500\\/10{background-color:#22c55e1a}.bg-green-600{--tw-bg-opacity: 1;background-color:rgb(22 163 74 / var(--tw-bg-opacity))}.bg-green-600\\/90{background-color:#16a34ae6}.bg-muted{background-color:hsl(var(--muted))}.bg-muted\\/50{background-color:hsl(var(--muted) / .5)}.bg-orange-500{--tw-bg-opacity: 1;background-color:rgb(249 115 22 / var(--tw-bg-opacity))}.bg-popover{background-color:hsl(var(--popover))}.bg-primary{background-color:hsl(var(--primary))}.bg-primary-foreground{background-color:hsl(var(--primary-foreground))}.bg-primary\\/10{background-color:hsl(var(--primary) / .1)}.bg-primary\\/20{background-color:hsl(var(--primary) / .2)}.bg-primary\\/30{background-color:hsl(var(--primary) / .3)}.bg-primary\\/5{background-color:hsl(var(--primary) / .05)}.bg-primary\\/60{background-color:hsl(var(--primary) / .6)}.bg-red-500{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity))}.bg-red-500\\/90{background-color:#ef4444e6}.bg-secondary{background-color:hsl(var(--secondary))}.bg-secondary\\/30{background-color:hsl(var(--secondary) / .3)}.bg-secondary\\/50{background-color:hsl(var(--secondary) / .5)}.bg-secondary\\/85{background-color:hsl(var(--secondary) / .85)}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.bg-gradient-to-t{background-image:linear-gradient(to top,var(--tw-gradient-stops))}.bg-gradient-to-tl{background-image:linear-gradient(to top left,var(--tw-gradient-stops))}.from-accent{--tw-gradient-from: hsl(var(--accent)) var(--tw-gradient-from-position);--tw-gradient-to: hsl(var(--accent) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-black\\/60{--tw-gradient-from: rgb(0 0 0 / .6) var(--tw-gradient-from-position);--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-primary{--tw-gradient-from: hsl(var(--primary)) var(--tw-gradient-from-position);--tw-gradient-to: hsl(var(--primary) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-primary\\/10{--tw-gradient-from: hsl(var(--primary) / .1) var(--tw-gradient-from-position);--tw-gradient-to: hsl(var(--primary) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-primary\\/5{--tw-gradient-from: hsl(var(--primary) / .05) var(--tw-gradient-from-position);--tw-gradient-to: hsl(var(--primary) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-secondary\\/50{--tw-gradient-from: hsl(var(--secondary) / .5) var(--tw-gradient-from-position);--tw-gradient-to: hsl(var(--secondary) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-transparent{--tw-gradient-from: transparent var(--tw-gradient-from-position);--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.via-black\\/0{--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), rgb(0 0 0 / 0) var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-primary{--tw-gradient-to: hsl(var(--primary) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), hsl(var(--primary)) var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-primary\\/40{--tw-gradient-to: hsl(var(--primary) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), hsl(var(--primary) / .4) var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-primary\\/5{--tw-gradient-to: hsl(var(--primary) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), hsl(var(--primary) / .05) var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-primary\\/60{--tw-gradient-to: hsl(var(--primary) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), hsl(var(--primary) / .6) var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-transparent{--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), transparent var(--tw-gradient-via-position), var(--tw-gradient-to)}.to-accent{--tw-gradient-to: hsl(var(--accent)) var(--tw-gradient-to-position)}.to-black\\/0{--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position)}.to-primary{--tw-gradient-to: hsl(var(--primary)) var(--tw-gradient-to-position)}.to-primary\\/5{--tw-gradient-to: hsl(var(--primary) / .05) var(--tw-gradient-to-position)}.to-secondary\\/30{--tw-gradient-to: hsl(var(--secondary) / .3) var(--tw-gradient-to-position)}.to-transparent{--tw-gradient-to: transparent var(--tw-gradient-to-position)}.fill-accent{fill:hsl(var(--accent))}.fill-current{fill:currentColor}.fill-green-500{fill:#22c55e}.fill-primary{fill:hsl(var(--primary))}.fill-primary\\/30{fill:hsl(var(--primary) / .3)}.fill-primary\\/50{fill:hsl(var(--primary) / .5)}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-px{padding:1px}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0{padding-top:0;padding-bottom:0}.py-0\\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pb-6{padding-bottom:1.5rem}.pl-0{padding-left:0}.pl-0\\.5{padding-left:.125rem}.pl-2{padding-left:.5rem}.pl-4{padding-left:1rem}.pl-8{padding-left:2rem}.pr-2{padding-right:.5rem}.pr-2\\.5{padding-right:.625rem}.pr-8{padding-right:2rem}.pt-0{padding-top:0}.pt-0\\.5{padding-top:.125rem}.pt-1{padding-top:.25rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.text-left{text-align:left}.text-center{text-align:center}.align-middle{vertical-align:middle}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\\[0\\.8rem\\]{font-size:.8rem}.text-\\[10px\\]{font-size:10px}.text-\\[11px\\]{font-size:11px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-none{line-height:1}.tracking-tight{letter-spacing:-.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-accent-foreground{color:hsl(var(--accent-foreground))}.text-amber-600{--tw-text-opacity: 1;color:rgb(217 119 6 / var(--tw-text-opacity))}.text-amber-800{--tw-text-opacity: 1;color:rgb(146 64 14 / var(--tw-text-opacity))}.text-amber-900{--tw-text-opacity: 1;color:rgb(120 53 15 / var(--tw-text-opacity))}.text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity))}.text-card-foreground{color:hsl(var(--card-foreground))}.text-current{color:currentColor}.text-destructive{color:hsl(var(--destructive))}.text-foreground{color:hsl(var(--foreground))}.text-green-600{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-muted-foreground\\/60{color:hsl(var(--muted-foreground) / .6)}.text-neutral-400{--tw-text-opacity: 1;color:rgb(163 163 163 / var(--tw-text-opacity))}.text-popover-foreground{color:hsl(var(--popover-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-primary\\/60{color:hsl(var(--primary) / .6)}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.text-white\\/90{color:#ffffffe6}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-20{opacity:.2}.opacity-30{opacity:.3}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.opacity-\\[0\\.07\\]{opacity:.07}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\\[0_0_0_1px_hsl\\(var\\(--sidebar-border\\)\\)\\]{--tw-shadow: 0 0 0 1px hsl(var(--sidebar-border));--tw-shadow-colored: 0 0 0 1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\\[0_0_0_9999px_rgba\\(0\\,0\\,0\\,0\\.7\\)\\]{--tw-shadow: 0 0 0 9999px rgba(0,0,0,.7);--tw-shadow-colored: 0 0 0 9999px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-none{--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-primary\\/20{--tw-shadow-color: hsl(var(--primary) / .2);--tw-shadow: var(--tw-shadow-colored)}.shadow-primary\\/5{--tw-shadow-color: hsl(var(--primary) / .05);--tw-shadow: var(--tw-shadow-colored)}.shadow-primary\\/50{--tw-shadow-color: hsl(var(--primary) / .5);--tw-shadow: var(--tw-shadow-colored)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring-0{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-2{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-destructive{--tw-ring-color: hsl(var(--destructive))}.ring-ring\\/50{--tw-ring-color: hsl(var(--ring) / .5)}.ring-offset-2{--tw-ring-offset-width: 2px}.ring-offset-background{--tw-ring-offset-color: hsl(var(--background))}.\\!blur{--tw-blur: blur(8px) !important;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)!important}.blur{--tw-blur: blur(8px);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)}.blur-2xl{--tw-blur: blur(40px);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)}.blur-3xl{--tw-blur: blur(64px);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)}.grayscale{--tw-grayscale: grayscale(100%);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)}.filter{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)}.backdrop-blur-md{--tw-backdrop-blur: blur(12px);-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);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)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-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);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)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\\[color\\,box-shadow\\]{transition-property:color,box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\\[left\\,right\\,width\\]{transition-property:left,right,width;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\\[margin\\,opacity\\]{transition-property:margin,opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\\[width\\,height\\,padding\\]{transition-property:width,height,padding;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\\[width\\]{transition-property:width;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-none{transition-property:none}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-1000{transition-duration:1s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-linear{transition-timing-function:linear}:root{--background: 210 20% 98%;--foreground: 222 47% 11%;--card: 0 0% 100%;--card-foreground: 222 47% 11%;--popover: 0 0% 100%;--popover-foreground: 222 47% 11%;--primary: 221 83% 33%;--primary-foreground: 0 0% 100%;--secondary: 220 13% 96%;--secondary-foreground: 222 47% 11%;--muted: 210 20% 98%;--muted-foreground: 220 9% 46%;--accent: 43 96% 56%;--accent-foreground: 222 47% 11%;--destructive: 0 84% 60%;--destructive-foreground: 0 0% 100%;--border: 220 13% 91%;--input: 0 0% 100% / 0;--ring: 221 83% 33%;--radius: .5rem}.selection\\:bg-primary *::-moz-selection{background-color:hsl(var(--primary))}.selection\\:bg-primary *::selection{background-color:hsl(var(--primary))}.selection\\:text-primary-foreground *::-moz-selection{color:hsl(var(--primary-foreground))}.selection\\:text-primary-foreground *::selection{color:hsl(var(--primary-foreground))}.selection\\:bg-primary::-moz-selection{background-color:hsl(var(--primary))}.selection\\:bg-primary::selection{background-color:hsl(var(--primary))}.selection\\:text-primary-foreground::-moz-selection{color:hsl(var(--primary-foreground))}.selection\\:text-primary-foreground::selection{color:hsl(var(--primary-foreground))}.file\\:inline-flex::file-selector-button{display:inline-flex}.file\\:h-7::file-selector-button{height:1.75rem}.file\\:border-0::file-selector-button{border-width:0px}.file\\:bg-transparent::file-selector-button{background-color:transparent}.file\\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\\:font-medium::file-selector-button{font-weight:500}.file\\:text-foreground::file-selector-button{color:hsl(var(--foreground))}.placeholder\\:text-muted-foreground::-moz-placeholder{color:hsl(var(--muted-foreground))}.placeholder\\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.after\\:absolute:after{content:var(--tw-content);position:absolute}.after\\:-inset-2:after{content:var(--tw-content);inset:-.5rem}.after\\:inset-y-0:after{content:var(--tw-content);top:0;bottom:0}.after\\:left-1\\/2:after{content:var(--tw-content);left:50%}.after\\:w-1:after{content:var(--tw-content);width:.25rem}.after\\:w-\\[2px\\]:after{content:var(--tw-content);width:2px}.after\\:-translate-x-1\\/2:after{content:var(--tw-content);--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.first\\:rounded-l-md:first-child{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.first\\:border-l:first-child{border-left-width:1px}.last\\:rounded-r-md:last-child{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.last\\:border-b-0:last-child{border-bottom-width:0px}.focus-within\\:relative:focus-within{position:relative}.focus-within\\:z-20:focus-within{z-index:20}.hover\\:scale-105:hover{--tw-scale-x: 1.05;--tw-scale-y: 1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\\:border-muted-foreground\\/30:hover{border-color:hsl(var(--muted-foreground) / .3)}.hover\\:border-primary\\/30:hover{border-color:hsl(var(--primary) / .3)}.hover\\:border-primary\\/50:hover{border-color:hsl(var(--primary) / .5)}.hover\\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\\:bg-background:hover{background-color:hsl(var(--background))}.hover\\:bg-destructive\\/90:hover{background-color:hsl(var(--destructive) / .9)}.hover\\:bg-green-700:hover{--tw-bg-opacity: 1;background-color:rgb(21 128 61 / var(--tw-bg-opacity))}.hover\\:bg-muted:hover{background-color:hsl(var(--muted))}.hover\\:bg-muted\\/50:hover{background-color:hsl(var(--muted) / .5)}.hover\\:bg-primary:hover{background-color:hsl(var(--primary))}.hover\\:bg-primary\\/10:hover{background-color:hsl(var(--primary) / .1)}.hover\\:bg-primary\\/90:hover{background-color:hsl(var(--primary) / .9)}.hover\\:bg-secondary\\/50:hover{background-color:hsl(var(--secondary) / .5)}.hover\\:bg-secondary\\/80:hover{background-color:hsl(var(--secondary) / .8)}.hover\\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\\:text-foreground:hover{color:hsl(var(--foreground))}.hover\\:text-muted-foreground:hover{color:hsl(var(--muted-foreground))}.hover\\:text-primary-foreground:hover{color:hsl(var(--primary-foreground))}.hover\\:text-primary\\/80:hover{color:hsl(var(--primary) / .8)}.hover\\:underline:hover{text-decoration-line:underline}.hover\\:opacity-100:hover{opacity:1}.hover\\:shadow-\\[0_0_0_1px_hsl\\(var\\(--sidebar-accent\\)\\)\\]:hover{--tw-shadow: 0 0 0 1px hsl(var(--sidebar-accent));--tw-shadow-colored: 0 0 0 1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\\:shadow-lg:hover{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\\:shadow-xl:hover{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\\:shadow-primary\\/10:hover{--tw-shadow-color: hsl(var(--primary) / .1);--tw-shadow: var(--tw-shadow-colored)}.hover\\:shadow-primary\\/20:hover{--tw-shadow-color: hsl(var(--primary) / .2);--tw-shadow: var(--tw-shadow-colored)}.hover\\:ring-4:hover{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\\:z-10:focus{z-index:10}.focus\\:bg-accent:focus{background-color:hsl(var(--accent))}.focus\\:bg-primary:focus{background-color:hsl(var(--primary))}.focus\\:text-accent-foreground:focus{color:hsl(var(--accent-foreground))}.focus\\:text-primary-foreground:focus{color:hsl(var(--primary-foreground))}.focus\\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\\:ring-ring:focus{--tw-ring-color: hsl(var(--ring))}.focus\\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.focus-visible\\:z-10:focus-visible{z-index:10}.focus-visible\\:border-ring:focus-visible{border-color:hsl(var(--ring))}.focus-visible\\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\\:outline-1:focus-visible{outline-width:1px}.focus-visible\\:ring-1:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\\:ring-4:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\\:ring-\\[3px\\]:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\\:ring-destructive\\/20:focus-visible{--tw-ring-color: hsl(var(--destructive) / .2)}.focus-visible\\:ring-ring:focus-visible{--tw-ring-color: hsl(var(--ring))}.focus-visible\\:ring-ring\\/50:focus-visible{--tw-ring-color: hsl(var(--ring) / .5)}.focus-visible\\:ring-offset-1:focus-visible{--tw-ring-offset-width: 1px}.focus-visible\\:ring-offset-2:focus-visible{--tw-ring-offset-width: 2px}.disabled\\:pointer-events-none:disabled{pointer-events:none}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:opacity-50:disabled{opacity:.5}.group\\/menu-item:focus-within .group-focus-within\\/menu-item\\:opacity-100{opacity:1}.group:hover .group-hover\\:scale-110{--tw-scale-x: 1.1;--tw-scale-y: 1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\\:border-primary\\/40{border-color:hsl(var(--primary) / .4)}.group:hover .group-hover\\:bg-primary\\/10{background-color:hsl(var(--primary) / .1)}.group:hover .group-hover\\:text-foreground{color:hsl(var(--foreground))}.group:hover .group-hover\\:text-primary{color:hsl(var(--primary))}.group:hover .group-hover\\:text-primary\\/80{color:hsl(var(--primary) / .8)}.group\\/menu-item:hover .group-hover\\/menu-item\\:opacity-100,.group:hover .group-hover\\:opacity-100{opacity:1}.group:hover .group-hover\\:opacity-\\[0\\.12\\]{opacity:.12}.peer:disabled~.peer-disabled\\:cursor-not-allowed{cursor:not-allowed}.peer:disabled~.peer-disabled\\:opacity-50{opacity:.5}.has-\\[\\>svg\\]\\:grid-cols-\\[calc\\(var\\(--spacing\\)\\*4\\)_1fr\\]:has(>svg){grid-template-columns:calc(var(--spacing) * 4) 1fr}.has-\\[\\>svg\\]\\:gap-x-3:has(>svg){-moz-column-gap:.75rem;column-gap:.75rem}.has-\\[\\>svg\\]\\:px-2\\.5:has(>svg){padding-left:.625rem;padding-right:.625rem}.has-\\[\\>svg\\]\\:px-3:has(>svg){padding-left:.75rem;padding-right:.75rem}.has-\\[\\>svg\\]\\:px-4:has(>svg){padding-left:1rem;padding-right:1rem}.aria-disabled\\:pointer-events-none[aria-disabled=true]{pointer-events:none}.aria-disabled\\:opacity-50[aria-disabled=true]{opacity:.5}.aria-selected\\:bg-accent[aria-selected=true]{background-color:hsl(var(--accent))}.aria-selected\\:bg-primary[aria-selected=true]{background-color:hsl(var(--primary))}.aria-selected\\:text-accent-foreground[aria-selected=true]{color:hsl(var(--accent-foreground))}.aria-selected\\:text-muted-foreground[aria-selected=true]{color:hsl(var(--muted-foreground))}.aria-selected\\:text-primary-foreground[aria-selected=true]{color:hsl(var(--primary-foreground))}.aria-selected\\:opacity-100[aria-selected=true]{opacity:1}.data-\\[disabled\\=true\\]\\:pointer-events-none[data-disabled=true],.data-\\[disabled\\]\\:pointer-events-none[data-disabled]{pointer-events:none}.data-\\[vaul-drawer-direction\\=bottom\\]\\:inset-x-0[data-vaul-drawer-direction=bottom]{left:0;right:0}.data-\\[vaul-drawer-direction\\=left\\]\\:inset-y-0[data-vaul-drawer-direction=left],.data-\\[vaul-drawer-direction\\=right\\]\\:inset-y-0[data-vaul-drawer-direction=right]{top:0;bottom:0}.data-\\[vaul-drawer-direction\\=top\\]\\:inset-x-0[data-vaul-drawer-direction=top]{left:0;right:0}.data-\\[vaul-drawer-direction\\=bottom\\]\\:bottom-0[data-vaul-drawer-direction=bottom]{bottom:0}.data-\\[vaul-drawer-direction\\=left\\]\\:left-0[data-vaul-drawer-direction=left]{left:0}.data-\\[vaul-drawer-direction\\=right\\]\\:right-0[data-vaul-drawer-direction=right]{right:0}.data-\\[vaul-drawer-direction\\=top\\]\\:top-0[data-vaul-drawer-direction=top]{top:0}.data-\\[active\\=true\\]\\:z-10[data-active=true]{z-index:10}.data-\\[vaul-drawer-direction\\=bottom\\]\\:mt-24[data-vaul-drawer-direction=bottom]{margin-top:6rem}.data-\\[vaul-drawer-direction\\=top\\]\\:mb-24[data-vaul-drawer-direction=top]{margin-bottom:6rem}.data-\\[orientation\\=horizontal\\]\\:h-4[data-orientation=horizontal]{height:1rem}.data-\\[orientation\\=horizontal\\]\\:h-full[data-orientation=horizontal]{height:100%}.data-\\[orientation\\=horizontal\\]\\:h-px[data-orientation=horizontal]{height:1px}.data-\\[orientation\\=vertical\\]\\:h-full[data-orientation=vertical]{height:100%}.data-\\[panel-group-direction\\=vertical\\]\\:h-px[data-panel-group-direction=vertical]{height:1px}.data-\\[size\\=default\\]\\:h-9[data-size=default]{height:2.25rem}.data-\\[size\\=sm\\]\\:h-8[data-size=sm]{height:2rem}.data-\\[vaul-drawer-direction\\=bottom\\]\\:max-h-\\[80vh\\][data-vaul-drawer-direction=bottom],.data-\\[vaul-drawer-direction\\=top\\]\\:max-h-\\[80vh\\][data-vaul-drawer-direction=top]{max-height:80vh}.data-\\[orientation\\=vertical\\]\\:min-h-44[data-orientation=vertical]{min-height:11rem}.data-\\[orientation\\=horizontal\\]\\:w-full[data-orientation=horizontal]{width:100%}.data-\\[orientation\\=vertical\\]\\:w-1\\.5[data-orientation=vertical]{width:.375rem}.data-\\[orientation\\=vertical\\]\\:w-auto[data-orientation=vertical]{width:auto}.data-\\[orientation\\=vertical\\]\\:w-full[data-orientation=vertical]{width:100%}.data-\\[orientation\\=vertical\\]\\:w-px[data-orientation=vertical]{width:1px}.data-\\[panel-group-direction\\=vertical\\]\\:w-full[data-panel-group-direction=vertical]{width:100%}.data-\\[vaul-drawer-direction\\=left\\]\\:w-3\\/4[data-vaul-drawer-direction=left],.data-\\[vaul-drawer-direction\\=right\\]\\:w-3\\/4[data-vaul-drawer-direction=right]{width:75%}.data-\\[side\\=bottom\\]\\:translate-y-1[data-side=bottom]{--tw-translate-y: .25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\\[side\\=left\\]\\:-translate-x-1[data-side=left]{--tw-translate-x: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\\[side\\=right\\]\\:translate-x-1[data-side=right]{--tw-translate-x: .25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\\[side\\=top\\]\\:-translate-y-1[data-side=top]{--tw-translate-y: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\\[state\\=checked\\]\\:translate-x-\\[calc\\(100\\%-2px\\)\\][data-state=checked]{--tw-translate-x: calc(100% - 2px) ;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\\[state\\=unchecked\\]\\:translate-x-0[data-state=unchecked]{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\\[orientation\\=vertical\\]\\:flex-col[data-orientation=vertical],.data-\\[panel-group-direction\\=vertical\\]\\:flex-col[data-panel-group-direction=vertical]{flex-direction:column}.data-\\[vaul-drawer-direction\\=bottom\\]\\:rounded-t-lg[data-vaul-drawer-direction=bottom]{border-top-left-radius:var(--radius);border-top-right-radius:var(--radius)}.data-\\[vaul-drawer-direction\\=top\\]\\:rounded-b-lg[data-vaul-drawer-direction=top]{border-bottom-right-radius:var(--radius);border-bottom-left-radius:var(--radius)}.data-\\[variant\\=outline\\]\\:border-l-0[data-variant=outline]{border-left-width:0px}.data-\\[vaul-drawer-direction\\=bottom\\]\\:border-t[data-vaul-drawer-direction=bottom]{border-top-width:1px}.data-\\[vaul-drawer-direction\\=left\\]\\:border-r[data-vaul-drawer-direction=left]{border-right-width:1px}.data-\\[vaul-drawer-direction\\=right\\]\\:border-l[data-vaul-drawer-direction=right]{border-left-width:1px}.data-\\[vaul-drawer-direction\\=top\\]\\:border-b[data-vaul-drawer-direction=top]{border-bottom-width:1px}.data-\\[active\\=true\\]\\:border-ring[data-active=true]{border-color:hsl(var(--ring))}.data-\\[state\\=checked\\]\\:border-primary[data-state=checked]{border-color:hsl(var(--primary))}.data-\\[active\\=true\\]\\:bg-accent\\/50[data-active=true]{background-color:hsl(var(--accent) / .5)}.data-\\[selected\\=true\\]\\:bg-accent[data-selected=true]{background-color:hsl(var(--accent))}.data-\\[state\\=active\\]\\:bg-background[data-state=active]{background-color:hsl(var(--background))}.data-\\[state\\=checked\\]\\:bg-primary[data-state=checked]{background-color:hsl(var(--primary))}.data-\\[state\\=on\\]\\:bg-accent[data-state=on],.data-\\[state\\=open\\]\\:bg-accent[data-state=open]{background-color:hsl(var(--accent))}.data-\\[state\\=open\\]\\:bg-accent\\/50[data-state=open]{background-color:hsl(var(--accent) / .5)}.data-\\[state\\=open\\]\\:bg-secondary[data-state=open]{background-color:hsl(var(--secondary))}.data-\\[state\\=selected\\]\\:bg-muted[data-state=selected]{background-color:hsl(var(--muted))}.data-\\[inset\\]\\:pl-8[data-inset]{padding-left:2rem}.data-\\[active\\=true\\]\\:font-medium[data-active=true]{font-weight:500}.data-\\[active\\=true\\]\\:text-accent-foreground[data-active=true]{color:hsl(var(--accent-foreground))}.data-\\[error\\=true\\]\\:text-destructive[data-error=true]{color:hsl(var(--destructive))}.data-\\[placeholder\\]\\:text-muted-foreground[data-placeholder]{color:hsl(var(--muted-foreground))}.data-\\[selected\\=true\\]\\:text-accent-foreground[data-selected=true]{color:hsl(var(--accent-foreground))}.data-\\[state\\=active\\]\\:text-foreground[data-state=active]{color:hsl(var(--foreground))}.data-\\[state\\=checked\\]\\:text-primary-foreground[data-state=checked]{color:hsl(var(--primary-foreground))}.data-\\[state\\=on\\]\\:text-accent-foreground[data-state=on],.data-\\[state\\=open\\]\\:text-accent-foreground[data-state=open]{color:hsl(var(--accent-foreground))}.data-\\[state\\=open\\]\\:text-muted-foreground[data-state=open]{color:hsl(var(--muted-foreground))}.data-\\[variant\\=destructive\\]\\:text-destructive[data-variant=destructive]{color:hsl(var(--destructive))}.data-\\[disabled\\=true\\]\\:opacity-50[data-disabled=true],.data-\\[disabled\\]\\:opacity-50[data-disabled]{opacity:.5}.data-\\[state\\=open\\]\\:opacity-100[data-state=open]{opacity:1}.data-\\[state\\=active\\]\\:shadow-sm[data-state=active]{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.data-\\[active\\=true\\]\\:ring-\\[3px\\][data-active=true]{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.data-\\[active\\=true\\]\\:ring-ring\\/50[data-active=true]{--tw-ring-color: hsl(var(--ring) / .5)}.data-\\[state\\=closed\\]\\:duration-300[data-state=closed]{transition-duration:.3s}.data-\\[state\\=open\\]\\:duration-500[data-state=open]{transition-duration:.5s}.\\*\\:data-\\[slot\\=select-value\\]\\:line-clamp-1[data-slot=select-value]>*{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.\\*\\:data-\\[slot\\=select-value\\]\\:flex[data-slot=select-value]>*{display:flex}.\\*\\:data-\\[slot\\=select-value\\]\\:items-center[data-slot=select-value]>*{align-items:center}.\\*\\:data-\\[slot\\=select-value\\]\\:gap-2[data-slot=select-value]>*{gap:.5rem}.\\*\\:data-\\[slot\\=alert-description\\]\\:text-destructive\\/90[data-slot=alert-description]>*{color:hsl(var(--destructive) / .9)}.data-\\[panel-group-direction\\=vertical\\]\\:after\\:left-0[data-panel-group-direction=vertical]:after{content:var(--tw-content);left:0}.data-\\[panel-group-direction\\=vertical\\]\\:after\\:h-1[data-panel-group-direction=vertical]:after{content:var(--tw-content);height:.25rem}.data-\\[panel-group-direction\\=vertical\\]\\:after\\:w-full[data-panel-group-direction=vertical]:after{content:var(--tw-content);width:100%}.data-\\[panel-group-direction\\=vertical\\]\\:after\\:-translate-y-1\\/2[data-panel-group-direction=vertical]:after{content:var(--tw-content);--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\\[panel-group-direction\\=vertical\\]\\:after\\:translate-x-0[data-panel-group-direction=vertical]:after{content:var(--tw-content);--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\\[variant\\=outline\\]\\:first\\:border-l:first-child[data-variant=outline]{border-left-width:1px}.data-\\[active\\=true\\]\\:hover\\:bg-accent:hover[data-active=true],.data-\\[state\\=open\\]\\:hover\\:bg-accent:hover[data-state=open]{background-color:hsl(var(--accent))}.data-\\[active\\=true\\]\\:focus\\:bg-accent:focus[data-active=true]{background-color:hsl(var(--accent))}.data-\\[state\\=open\\]\\:focus\\:bg-accent:focus[data-state=open]{background-color:hsl(var(--accent))}.data-\\[variant\\=destructive\\]\\:focus\\:bg-destructive\\/10:focus[data-variant=destructive]{background-color:hsl(var(--destructive) / .1)}.data-\\[variant\\=destructive\\]\\:focus\\:text-destructive:focus[data-variant=destructive]{color:hsl(var(--destructive))}.group[data-disabled=true] .group-data-\\[disabled\\=true\\]\\:pointer-events-none{pointer-events:none}.group[data-collapsible=offcanvas] .group-data-\\[collapsible\\=offcanvas\\]\\:left-\\[calc\\(var\\(--sidebar-width\\)\\*-1\\)\\]{left:calc(var(--sidebar-width) * -1)}.group[data-collapsible=offcanvas] .group-data-\\[collapsible\\=offcanvas\\]\\:right-\\[calc\\(var\\(--sidebar-width\\)\\*-1\\)\\]{right:calc(var(--sidebar-width) * -1)}.group[data-side=left] .group-data-\\[side\\=left\\]\\:-right-4{right:-1rem}.group[data-side=right] .group-data-\\[side\\=right\\]\\:left-0{left:0}.group\\/navigation-menu[data-viewport=false] .group-data-\\[viewport\\=false\\]\\/navigation-menu\\:top-full{top:100%}.group[data-collapsible=icon] .group-data-\\[collapsible\\=icon\\]\\:-mt-8{margin-top:-2rem}.group\\/navigation-menu[data-viewport=false] .group-data-\\[viewport\\=false\\]\\/navigation-menu\\:mt-1\\.5{margin-top:.375rem}.group\\/drawer-content[data-vaul-drawer-direction=bottom] .group-data-\\[vaul-drawer-direction\\=bottom\\]\\/drawer-content\\:block{display:block}.group[data-collapsible=icon] .group-data-\\[collapsible\\=icon\\]\\:hidden{display:none}.group[data-collapsible=icon] .group-data-\\[collapsible\\=icon\\]\\:w-\\[calc\\(var\\(--sidebar-width-icon\\)\\+\\(--spacing\\(4\\)\\)\\)\\]{width:calc(var(--sidebar-width-icon) + (--spacing(4)))}.group[data-collapsible=icon] .group-data-\\[collapsible\\=icon\\]\\:w-\\[calc\\(var\\(--sidebar-width-icon\\)\\+\\(--spacing\\(4\\)\\)\\+2px\\)\\]{width:calc(var(--sidebar-width-icon) + (--spacing(4)) + 2px)}.group[data-collapsible=offcanvas] .group-data-\\[collapsible\\=offcanvas\\]\\:w-0{width:0px}.group[data-collapsible=offcanvas] .group-data-\\[collapsible\\=offcanvas\\]\\:translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group[data-side=right] .group-data-\\[side\\=right\\]\\:rotate-180,.group[data-state=open] .group-data-\\[state\\=open\\]\\:rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group[data-collapsible=icon] .group-data-\\[collapsible\\=icon\\]\\:overflow-hidden,.group\\/navigation-menu[data-viewport=false] .group-data-\\[viewport\\=false\\]\\/navigation-menu\\:overflow-hidden{overflow:hidden}.group[data-variant=floating] .group-data-\\[variant\\=floating\\]\\:rounded-lg{border-radius:var(--radius)}.group\\/navigation-menu[data-viewport=false] .group-data-\\[viewport\\=false\\]\\/navigation-menu\\:rounded-md{border-radius:calc(var(--radius) - 2px)}.group[data-variant=floating] .group-data-\\[variant\\=floating\\]\\:border,.group\\/navigation-menu[data-viewport=false] .group-data-\\[viewport\\=false\\]\\/navigation-menu\\:border{border-width:1px}.group[data-side=left] .group-data-\\[side\\=left\\]\\:border-r{border-right-width:1px}.group[data-side=right] .group-data-\\[side\\=right\\]\\:border-l{border-left-width:1px}.group\\/navigation-menu[data-viewport=false] .group-data-\\[viewport\\=false\\]\\/navigation-menu\\:bg-popover{background-color:hsl(var(--popover))}.group\\/navigation-menu[data-viewport=false] .group-data-\\[viewport\\=false\\]\\/navigation-menu\\:text-popover-foreground{color:hsl(var(--popover-foreground))}.group[data-collapsible=icon] .group-data-\\[collapsible\\=icon\\]\\:opacity-0{opacity:0}.group[data-disabled=true] .group-data-\\[disabled\\=true\\]\\:opacity-50{opacity:.5}.group[data-variant=floating] .group-data-\\[variant\\=floating\\]\\:shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.group\\/navigation-menu[data-viewport=false] .group-data-\\[viewport\\=false\\]\\/navigation-menu\\:shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.group\\/navigation-menu[data-viewport=false] .group-data-\\[viewport\\=false\\]\\/navigation-menu\\:duration-200{transition-duration:.2s}.group[data-collapsible=offcanvas] .group-data-\\[collapsible\\=offcanvas\\]\\:after\\:left-full:after{content:var(--tw-content);left:100%}.peer\\/menu-button[data-size=default]~.peer-data-\\[size\\=default\\]\\/menu-button\\:top-1\\.5{top:.375rem}.peer\\/menu-button[data-size=lg]~.peer-data-\\[size\\=lg\\]\\/menu-button\\:top-2\\.5{top:.625rem}.peer\\/menu-button[data-size=sm]~.peer-data-\\[size\\=sm\\]\\/menu-button\\:top-1{top:.25rem}.dark\\:border-input:is(.dark *){border-color:hsl(var(--input))}.dark\\:bg-destructive\\/60:is(.dark *){background-color:hsl(var(--destructive) / .6)}.dark\\:bg-input\\/30:is(.dark *){background-color:hsl(var(--input) / .3)}.dark\\:hover\\:bg-accent\\/50:hover:is(.dark *){background-color:hsl(var(--accent) / .5)}.dark\\:hover\\:bg-input\\/50:hover:is(.dark *){background-color:hsl(var(--input) / .5)}.dark\\:focus-visible\\:ring-destructive\\/40:focus-visible:is(.dark *){--tw-ring-color: hsl(var(--destructive) / .4)}.dark\\:data-\\[state\\=checked\\]\\:bg-primary[data-state=checked]:is(.dark *){background-color:hsl(var(--primary))}.dark\\:data-\\[state\\=checked\\]\\:bg-primary-foreground[data-state=checked]:is(.dark *){background-color:hsl(var(--primary-foreground))}.dark\\:data-\\[state\\=unchecked\\]\\:bg-card-foreground[data-state=unchecked]:is(.dark *){background-color:hsl(var(--card-foreground))}.dark\\:data-\\[state\\=unchecked\\]\\:bg-input\\/80[data-state=unchecked]:is(.dark *){background-color:hsl(var(--input) / .8)}.dark\\:data-\\[variant\\=destructive\\]\\:focus\\:bg-destructive\\/20:focus[data-variant=destructive]:is(.dark *){background-color:hsl(var(--destructive) / .2)}@media (min-width: 640px){.sm\\:block{display:block}.sm\\:flex{display:flex}.sm\\:h-10{height:2.5rem}.sm\\:h-11{height:2.75rem}.sm\\:h-12{height:3rem}.sm\\:h-20{height:5rem}.sm\\:h-4{height:1rem}.sm\\:h-6{height:1.5rem}.sm\\:h-8{height:2rem}.sm\\:w-10{width:2.5rem}.sm\\:w-20{width:5rem}.sm\\:w-4{width:1rem}.sm\\:w-6{width:1.5rem}.sm\\:w-8{width:2rem}.sm\\:max-w-lg{max-width:32rem}.sm\\:max-w-sm{max-width:24rem}.sm\\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\\:flex-row{flex-direction:row}.sm\\:justify-end{justify-content:flex-end}.sm\\:gap-2{gap:.5rem}.sm\\:gap-2\\.5{gap:.625rem}.sm\\:gap-5{gap:1.25rem}.sm\\:py-12{padding-top:3rem;padding-bottom:3rem}.sm\\:py-3{padding-top:.75rem;padding-bottom:.75rem}.sm\\:py-3\\.5{padding-top:.875rem;padding-bottom:.875rem}.sm\\:pl-2{padding-left:.5rem}.sm\\:pl-2\\.5{padding-left:.625rem}.sm\\:pr-2{padding-right:.5rem}.sm\\:pr-2\\.5{padding-right:.625rem}.sm\\:text-left{text-align:left}.sm\\:text-base{font-size:1rem;line-height:1.5rem}.sm\\:text-lg{font-size:1.125rem;line-height:1.75rem}.data-\\[vaul-drawer-direction\\=left\\]\\:sm\\:max-w-sm[data-vaul-drawer-direction=left],.data-\\[vaul-drawer-direction\\=right\\]\\:sm\\:max-w-sm[data-vaul-drawer-direction=right]{max-width:24rem}}@media (min-width: 768px){.md\\:absolute{position:absolute}.md\\:mx-4{margin-left:1rem;margin-right:1rem}.md\\:block{display:block}.md\\:flex{display:flex}.md\\:max-h-\\[900px\\]{max-height:900px}.md\\:w-\\[var\\(--radix-navigation-menu-viewport-width\\)\\]{width:var(--radix-navigation-menu-viewport-width)}.md\\:w-auto{width:auto}.md\\:max-w-\\[150px\\]{max-width:150px}.md\\:max-w-\\[200px\\]{max-width:200px}.md\\:max-w-\\[220px\\]{max-width:220px}.md\\:max-w-\\[240px\\]{max-width:240px}.md\\:max-w-\\[500px\\]{max-width:500px}.md\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\\:rounded-3xl{border-radius:1.5rem}.md\\:p-6{padding:1.5rem}.md\\:px-6{padding-left:1.5rem;padding-right:1.5rem}.md\\:py-6{padding-top:1.5rem;padding-bottom:1.5rem}.md\\:text-2xl{font-size:1.5rem;line-height:2rem}.md\\:text-sm{font-size:.875rem;line-height:1.25rem}.md\\:opacity-0{opacity:0}.md\\:after\\:hidden:after{content:var(--tw-content);display:none}.peer[data-variant=inset]~.md\\:peer-data-\\[variant\\=inset\\]\\:m-2{margin:.5rem}.peer[data-variant=inset]~.md\\:peer-data-\\[variant\\=inset\\]\\:ml-0{margin-left:0}.peer[data-variant=inset][data-state=collapsed]~.md\\:peer-data-\\[variant\\=inset\\]\\:peer-data-\\[state\\=collapsed\\]\\:ml-2{margin-left:.5rem}.peer[data-variant=inset]~.md\\:peer-data-\\[variant\\=inset\\]\\:rounded-xl{border-radius:.75rem}.peer[data-variant=inset]~.md\\:peer-data-\\[variant\\=inset\\]\\:shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}}@media (min-width: 1024px){.lg\\:block{display:block}.lg\\:hidden{display:none}}.\\[\\&\\:has\\(\\>\\.day-range-end\\)\\]\\:rounded-r-md:has(>.day-range-end){border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.\\[\\&\\:has\\(\\>\\.day-range-start\\)\\]\\:rounded-l-md:has(>.day-range-start){border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.\\[\\&\\:has\\(\\[aria-selected\\]\\)\\]\\:rounded-md:has([aria-selected]){border-radius:calc(var(--radius) - 2px)}.\\[\\&\\:has\\(\\[aria-selected\\]\\)\\]\\:bg-accent:has([aria-selected]){background-color:hsl(var(--accent))}.first\\:\\[\\&\\:has\\(\\[aria-selected\\]\\)\\]\\:rounded-l-md:has([aria-selected]):first-child{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.last\\:\\[\\&\\:has\\(\\[aria-selected\\]\\)\\]\\:rounded-r-md:has([aria-selected]):last-child{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.\\[\\&\\:has\\(\\[aria-selected\\]\\.day-range-end\\)\\]\\:rounded-r-md:has([aria-selected].day-range-end){border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.\\[\\&\\:has\\(\\[role\\=checkbox\\]\\)\\]\\:pr-0:has([role=checkbox]){padding-right:0}.\\[\\&\\:last-child\\]\\:pb-6:last-child{padding-bottom:1.5rem}.\\[\\&\\>\\[role\\=checkbox\\]\\]\\:translate-y-\\[2px\\]>[role=checkbox]{--tw-translate-y: 2px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\\[\\&\\>button\\]\\:hidden>button{display:none}.\\[\\&\\>span\\:last-child\\]\\:truncate>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.\\[\\&\\>svg\\]\\:pointer-events-none>svg{pointer-events:none}.\\[\\&\\>svg\\]\\:size-3>svg{width:.75rem;height:.75rem}.\\[\\&\\>svg\\]\\:size-3\\.5>svg{width:.875rem;height:.875rem}.\\[\\&\\>svg\\]\\:size-4>svg{width:1rem;height:1rem}.\\[\\&\\>svg\\]\\:h-2\\.5>svg{height:.625rem}.\\[\\&\\>svg\\]\\:h-3>svg{height:.75rem}.\\[\\&\\>svg\\]\\:w-2\\.5>svg{width:.625rem}.\\[\\&\\>svg\\]\\:w-3>svg{width:.75rem}.\\[\\&\\>svg\\]\\:shrink-0>svg{flex-shrink:0}.\\[\\&\\>svg\\]\\:translate-y-0\\.5>svg{--tw-translate-y: .125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\\[\\&\\>svg\\]\\:text-current>svg{color:currentColor}.\\[\\&\\>svg\\]\\:text-muted-foreground>svg{color:hsl(var(--muted-foreground))}.\\[\\&\\>tr\\]\\:last\\:border-b-0:last-child>tr{border-bottom-width:0px}.\\[\\&\\[data-panel-group-direction\\=vertical\\]\\>div\\]\\:rotate-90[data-panel-group-direction=vertical]>div{--tw-rotate: 90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\\[\\&\\[data-state\\=open\\]\\>svg\\]\\:rotate-180[data-state=open]>svg{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\\[\\&_\\.recharts-cartesian-axis-tick_text\\]\\:fill-muted-foreground .recharts-cartesian-axis-tick text{fill:hsl(var(--muted-foreground))}.\\[\\&_\\.recharts-cartesian-grid_line\\[stroke\\=\\'\\#ccc\\'\\]\\]\\:stroke-border\\/50 .recharts-cartesian-grid line[stroke="#ccc"]{stroke:hsl(var(--border) / .5)}.\\[\\&_\\.recharts-curve\\.recharts-tooltip-cursor\\]\\:stroke-border .recharts-curve.recharts-tooltip-cursor{stroke:hsl(var(--border))}.\\[\\&_\\.recharts-dot\\[stroke\\=\\'\\#fff\\'\\]\\]\\:stroke-transparent .recharts-dot[stroke="#fff"]{stroke:transparent}.\\[\\&_\\.recharts-polar-grid_\\[stroke\\=\\'\\#ccc\\'\\]\\]\\:stroke-border .recharts-polar-grid [stroke="#ccc"]{stroke:hsl(var(--border))}.\\[\\&_\\.recharts-radial-bar-background-sector\\]\\:fill-muted .recharts-radial-bar-background-sector,.\\[\\&_\\.recharts-rectangle\\.recharts-tooltip-cursor\\]\\:fill-muted .recharts-rectangle.recharts-tooltip-cursor{fill:hsl(var(--muted))}.\\[\\&_\\.recharts-reference-line_\\[stroke\\=\\'\\#ccc\\'\\]\\]\\:stroke-border .recharts-reference-line [stroke="#ccc"]{stroke:hsl(var(--border))}.\\[\\&_\\.recharts-sector\\[stroke\\=\\'\\#fff\\'\\]\\]\\:stroke-transparent .recharts-sector[stroke="#fff"]{stroke:transparent}.\\[\\&_\\[cmdk-group-heading\\]\\]\\:px-2 [cmdk-group-heading]{padding-left:.5rem;padding-right:.5rem}.\\[\\&_\\[cmdk-group-heading\\]\\]\\:py-1\\.5 [cmdk-group-heading]{padding-top:.375rem;padding-bottom:.375rem}.\\[\\&_\\[cmdk-group-heading\\]\\]\\:text-xs [cmdk-group-heading]{font-size:.75rem;line-height:1rem}.\\[\\&_\\[cmdk-group-heading\\]\\]\\:font-medium [cmdk-group-heading]{font-weight:500}.\\[\\&_\\[cmdk-group-heading\\]\\]\\:text-muted-foreground [cmdk-group-heading]{color:hsl(var(--muted-foreground))}.\\[\\&_\\[cmdk-group\\]\\:not\\(\\[hidden\\]\\)_\\~\\[cmdk-group\\]\\]\\:pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:0}.\\[\\&_\\[cmdk-group\\]\\]\\:px-2 [cmdk-group]{padding-left:.5rem;padding-right:.5rem}.\\[\\&_\\[cmdk-input-wrapper\\]_svg\\]\\:h-5 [cmdk-input-wrapper] svg{height:1.25rem}.\\[\\&_\\[cmdk-input-wrapper\\]_svg\\]\\:w-5 [cmdk-input-wrapper] svg{width:1.25rem}.\\[\\&_\\[cmdk-input\\]\\]\\:h-12 [cmdk-input]{height:3rem}.\\[\\&_\\[cmdk-item\\]\\]\\:px-2 [cmdk-item]{padding-left:.5rem;padding-right:.5rem}.\\[\\&_\\[cmdk-item\\]\\]\\:py-3 [cmdk-item]{padding-top:.75rem;padding-bottom:.75rem}.\\[\\&_\\[cmdk-item\\]_svg\\]\\:h-5 [cmdk-item] svg{height:1.25rem}.\\[\\&_\\[cmdk-item\\]_svg\\]\\:w-5 [cmdk-item] svg{width:1.25rem}.\\[\\&_p\\]\\:leading-relaxed p{line-height:1.625}.\\[\\&_svg\\:not\\(\\[class\\*\\=\\'size-\\'\\]\\)\\]\\:size-4 svg:not([class*=size-]){width:1rem;height:1rem}.\\[\\&_svg\\:not\\(\\[class\\*\\=\\'text-\\'\\]\\)\\]\\:text-muted-foreground svg:not([class*=text-]){color:hsl(var(--muted-foreground))}.\\[\\&_svg\\]\\:pointer-events-none svg{pointer-events:none}.\\[\\&_svg\\]\\:shrink-0 svg{flex-shrink:0}.\\[\\&_tr\\:last-child\\]\\:border-0 tr:last-child{border-width:0px}.\\[\\&_tr\\]\\:border-b tr{border-bottom-width:1px}[data-side=left][data-collapsible=offcanvas] .\\[\\[data-side\\=left\\]\\[data-collapsible\\=offcanvas\\]_\\&\\]\\:-right-2{right:-.5rem}[data-side=left][data-state=collapsed] .\\[\\[data-side\\=left\\]\\[data-state\\=collapsed\\]_\\&\\]\\:cursor-e-resize{cursor:e-resize}[data-side=right][data-collapsible=offcanvas] .\\[\\[data-side\\=right\\]\\[data-collapsible\\=offcanvas\\]_\\&\\]\\:-left-2{left:-.5rem}[data-side=right][data-state=collapsed] .\\[\\[data-side\\=right\\]\\[data-state\\=collapsed\\]_\\&\\]\\:cursor-w-resize{cursor:w-resize}a.\\[a\\&\\]\\:hover\\:bg-accent:hover{background-color:hsl(var(--accent))}a.\\[a\\&\\]\\:hover\\:bg-destructive\\/90:hover{background-color:hsl(var(--destructive) / .9)}a.\\[a\\&\\]\\:hover\\:bg-primary\\/90:hover{background-color:hsl(var(--primary) / .9)}a.\\[a\\&\\]\\:hover\\:bg-secondary\\/90:hover{background-color:hsl(var(--secondary) / .9)}a.\\[a\\&\\]\\:hover\\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}`;
|
|
72373
|
+
const styles = `@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&display=swap";.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.invisible{visibility:hidden}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.inset-x-0{left:0;right:0}.inset-x-4{left:1rem;right:1rem}.inset-y-0{top:0;bottom:0}.-bottom-0{bottom:-0px}.-bottom-0\\.5{bottom:-.125rem}.-bottom-1{bottom:-.25rem}.-bottom-12{bottom:-3rem}.-left-0{left:-0px}.-left-0\\.5{left:-.125rem}.-left-1{left:-.25rem}.-left-12{left:-3rem}.-right-0{right:-0px}.-right-0\\.5{right:-.125rem}.-right-1{right:-.25rem}.-right-12{right:-3rem}.-top-0{top:-0px}.-top-0\\.5{top:-.125rem}.-top-1{top:-.25rem}.-top-12{top:-3rem}.bottom-0{bottom:0}.bottom-3{bottom:.75rem}.bottom-4{bottom:1rem}.bottom-6{bottom:1.5rem}.left-0{left:0}.left-1{left:.25rem}.left-1\\/2{left:50%}.left-2{left:.5rem}.left-3{left:.75rem}.left-4{left:1rem}.left-\\[30\\%\\]{left:30%}.left-\\[50\\%\\]{left:50%}.right-0{right:0}.right-1{right:.25rem}.right-2{right:.5rem}.right-3{right:.75rem}.right-4{right:1rem}.right-\\[30\\%\\]{right:30%}.top-0{top:0}.top-1{top:.25rem}.top-1\\.5{top:.375rem}.top-1\\/2{top:50%}.top-16{top:4rem}.top-2{top:.5rem}.top-3{top:.75rem}.top-3\\.5{top:.875rem}.top-4{top:1rem}.top-\\[1px\\]{top:1px}.top-\\[30\\%\\]{top:30%}.top-\\[50\\%\\]{top:50%}.top-\\[60\\%\\]{top:60%}.top-full{top:100%}.isolate{isolation:isolate}.-z-10{z-index:-10}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.z-\\[1099\\]{z-index:1099}.z-\\[1\\]{z-index:1}.col-start-2{grid-column-start:2}.row-span-2{grid-row:span 2 / span 2}.row-start-1{grid-row-start:1}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-3{margin-left:.75rem;margin-right:.75rem}.mx-3\\.5{margin-left:.875rem;margin-right:.875rem}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-top:0;margin-bottom:0}.my-0\\.5{margin-top:.125rem;margin-bottom:.125rem}.my-1{margin-top:.25rem;margin-bottom:.25rem}.-ml-4{margin-left:-1rem}.-mt-4{margin-top:-1rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-\\[28px\\]{margin-left:28px}.ml-auto{margin-left:auto}.mr-2{margin-right:.5rem}.mt-0{margin-top:0}.mt-0\\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-auto{margin-top:auto}.line-clamp-1{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-row{display:table-row}.grid{display:grid}.hidden{display:none}.aspect-\\[1\\.586\\]{aspect-ratio:1.586}.aspect-\\[3\\/4\\]{aspect-ratio:3/4}.aspect-\\[4\\/3\\]{aspect-ratio:4/3}.aspect-square{aspect-ratio:1 / 1}.aspect-video{aspect-ratio:16 / 9}.size-10{width:2.5rem;height:2.5rem}.size-2{width:.5rem;height:.5rem}.size-2\\.5{width:.625rem;height:.625rem}.size-3{width:.75rem;height:.75rem}.size-3\\.5{width:.875rem;height:.875rem}.size-4{width:1rem;height:1rem}.size-7{width:1.75rem;height:1.75rem}.size-8{width:2rem;height:2rem}.size-9{width:2.25rem;height:2.25rem}.size-full{width:100%;height:100%}.h-0{height:0px}.h-0\\.5{height:.125rem}.h-1{height:.25rem}.h-1\\.5{height:.375rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-2\\.5{height:.625rem}.h-20{height:5rem}.h-3{height:.75rem}.h-3\\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-80{height:20rem}.h-9{height:2.25rem}.h-\\[1\\.15rem\\]{height:1.15rem}.h-\\[240px\\]{height:240px}.h-\\[72\\%\\]{height:72%}.h-\\[var\\(--radix-navigation-menu-viewport-height\\)\\]{height:var(--radix-navigation-menu-viewport-height)}.h-\\[var\\(--radix-select-trigger-height\\)\\]{height:var(--radix-select-trigger-height)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.h-svh{height:100svh}.max-h-\\[300px\\]{max-height:300px}.min-h-0{min-height:0px}.min-h-16{min-height:4rem}.min-h-4{min-height:1rem}.min-h-\\[500px\\]{min-height:500px}.min-h-svh{min-height:100svh}.w-0{width:0px}.w-0\\.5{width:.125rem}.w-1{width:.25rem}.w-1\\.5{width:.375rem}.w-10{width:2.5rem}.w-12{width:3rem}.w-16{width:4rem}.w-2{width:.5rem}.w-2\\.5{width:.625rem}.w-20{width:5rem}.w-3{width:.75rem}.w-3\\.5{width:.875rem}.w-3\\/4{width:75%}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\\[100px\\]{width:100px}.w-\\[240px\\]{width:240px}.w-\\[70\\%\\]{width:70%}.w-\\[88\\%\\]{width:88%}.w-auto{width:auto}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.w-px{width:1px}.min-w-0{min-width:0px}.min-w-10{min-width:2.5rem}.min-w-5{min-width:1.25rem}.min-w-8{min-width:2rem}.min-w-9{min-width:2.25rem}.min-w-\\[12rem\\]{min-width:12rem}.min-w-\\[8rem\\]{min-width:8rem}.min-w-\\[var\\(--radix-select-trigger-width\\)\\]{min-width:var(--radix-select-trigger-width)}.max-w-2xl{max-width:42rem}.max-w-\\[120px\\]{max-width:120px}.max-w-\\[150px\\]{max-width:150px}.max-w-\\[190px\\]{max-width:190px}.max-w-\\[200px\\]{max-width:200px}.max-w-\\[calc\\(100\\%-2rem\\)\\]{max-width:calc(100% - 2rem)}.max-w-max{max-width:-moz-max-content;max-width:max-content}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-\\[2\\]{flex:2}.flex-shrink-0,.shrink-0{flex-shrink:0}.grow{flex-grow:1}.grow-0{flex-grow:0}.basis-full{flex-basis:100%}.caption-bottom{caption-side:bottom}.border-collapse{border-collapse:collapse}.-translate-x-1\\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-px{--tw-translate-x: -1px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-1\\/2{--tw-translate-x: 50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-\\[-50\\%\\]{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-px{--tw-translate-x: 1px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-0{--tw-translate-y: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-0\\.5{--tw-translate-y: .125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-1\\/2{--tw-translate-y: 50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\\[-50\\%\\]{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\\[calc\\(-50\\%_-_2px\\)\\]{--tw-translate-y: calc(-50% - 2px) ;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-45{--tw-rotate: 45deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-90{--tw-rotate: 90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-x-\\[-1\\]{--tw-scale-x: -1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes ping{75%,to{transform:scale(2);opacity:0}}.animate-ping{animation:ping 1s cubic-bezier(0,0,.2,1) infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.touch-manipulation{touch-action:manipulation}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize-none{resize:none}.scroll-my-1{scroll-margin-top:.25rem;scroll-margin-bottom:.25rem}.scroll-py-1{scroll-padding-top:.25rem;scroll-padding-bottom:.25rem}.list-none{list-style-type:none}.auto-rows-min{grid-auto-rows:min-content}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-\\[0_1fr\\]{grid-template-columns:0 1fr}.grid-rows-\\[auto_auto\\]{grid-template-rows:auto auto}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-items-start{justify-items:start}.gap-0{gap:0px}.gap-1{gap:.25rem}.gap-1\\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-y-0{row-gap:0px}.gap-y-0\\.5{row-gap:.125rem}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.25rem * var(--tw-space-x-reverse));margin-left:calc(.25rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-2\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.625rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.625rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.self-start{align-self:flex-start}.justify-self-end{justify-self:end}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.whitespace-nowrap{white-space:nowrap}.text-balance{text-wrap:balance}.break-words{overflow-wrap:break-word}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-\\[2px\\]{border-radius:2px}.rounded-\\[4px\\]{border-radius:4px}.rounded-\\[50\\%\\]{border-radius:50%}.rounded-\\[inherit\\]{border-radius:inherit}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-none{border-radius:0}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:.75rem}.rounded-bl{border-bottom-left-radius:.25rem}.rounded-bl-2xl{border-bottom-left-radius:1rem}.rounded-bl-xl{border-bottom-left-radius:.75rem}.rounded-br{border-bottom-right-radius:.25rem}.rounded-br-2xl{border-bottom-right-radius:1rem}.rounded-br-xl{border-bottom-right-radius:.75rem}.rounded-tl{border-top-left-radius:.25rem}.rounded-tl-2xl{border-top-left-radius:1rem}.rounded-tl-sm{border-top-left-radius:calc(var(--radius) - 4px)}.rounded-tl-xl{border-top-left-radius:.75rem}.rounded-tr{border-top-right-radius:.25rem}.rounded-tr-2xl{border-top-right-radius:1rem}.rounded-tr-xl{border-top-right-radius:.75rem}.border{border-width:1px}.border-2{border-width:2px}.border-4{border-width:4px}.border-\\[1\\.5px\\]{border-width:1.5px}.border-y{border-top-width:1px;border-bottom-width:1px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-b-4{border-bottom-width:4px}.border-l{border-left-width:1px}.border-l-2{border-left-width:2px}.border-l-4{border-left-width:4px}.border-r{border-right-width:1px}.border-r-2{border-right-width:2px}.border-r-4{border-right-width:4px}.border-t{border-top-width:1px}.border-t-2{border-top-width:2px}.border-t-4{border-top-width:4px}.border-dashed{border-style:dashed}.border-amber-200{--tw-border-opacity: 1;border-color:rgb(253 230 138 / var(--tw-border-opacity))}.border-background{border-color:hsl(var(--background))}.border-blue-200{--tw-border-opacity: 1;border-color:rgb(191 219 254 / var(--tw-border-opacity))}.border-blue-500\\/30{border-color:#3b82f64d}.border-border{border-color:hsl(var(--border))}.border-border\\/20{border-color:hsl(var(--border) / .2)}.border-border\\/50{border-color:hsl(var(--border) / .5)}.border-destructive{border-color:hsl(var(--destructive))}.border-destructive\\/20{border-color:hsl(var(--destructive) / .2)}.border-green-400\\/30{border-color:#4ade804d}.border-green-500\\/20{border-color:#22c55e33}.border-input{border-color:hsl(var(--input))}.border-muted{border-color:hsl(var(--muted))}.border-muted-foreground\\/30{border-color:hsl(var(--muted-foreground) / .3)}.border-primary{border-color:hsl(var(--primary))}.border-primary-foreground{border-color:hsl(var(--primary-foreground))}.border-primary\\/20{border-color:hsl(var(--primary) / .2)}.border-primary\\/30{border-color:hsl(var(--primary) / .3)}.border-primary\\/40{border-color:hsl(var(--primary) / .4)}.border-primary\\/60{border-color:hsl(var(--primary) / .6)}.border-red-400\\/30{border-color:#f871714d}.border-transparent{border-color:transparent}.border-white\\/10{border-color:#ffffff1a}.border-white\\/30{border-color:#ffffff4d}.border-l-transparent{border-left-color:transparent}.border-t-blue-600{--tw-border-opacity: 1;border-top-color:rgb(37 99 235 / var(--tw-border-opacity))}.border-t-transparent{border-top-color:transparent}.bg-accent{background-color:hsl(var(--accent))}.bg-amber-50{--tw-bg-opacity: 1;background-color:rgb(255 251 235 / var(--tw-bg-opacity))}.bg-amber-500\\/10{background-color:#f59e0b1a}.bg-amber-600{--tw-bg-opacity: 1;background-color:rgb(217 119 6 / var(--tw-bg-opacity))}.bg-background{background-color:hsl(var(--background))}.bg-background\\/95{background-color:hsl(var(--background) / .95)}.bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity))}.bg-black\\/50{background-color:#00000080}.bg-black\\/60{background-color:#0009}.bg-black\\/70{background-color:#000000b3}.bg-black\\/80{background-color:#000c}.bg-blue-500\\/5{background-color:#3b82f60d}.bg-border{background-color:hsl(var(--border))}.bg-card{background-color:hsl(var(--card))}.bg-destructive{background-color:hsl(var(--destructive))}.bg-destructive\\/10{background-color:hsl(var(--destructive) / .1)}.bg-destructive\\/5{background-color:hsl(var(--destructive) / .05)}.bg-foreground{background-color:hsl(var(--foreground))}.bg-green-100{--tw-bg-opacity: 1;background-color:rgb(220 252 231 / var(--tw-bg-opacity))}.bg-green-500{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity))}.bg-green-500\\/10{background-color:#22c55e1a}.bg-green-600{--tw-bg-opacity: 1;background-color:rgb(22 163 74 / var(--tw-bg-opacity))}.bg-green-600\\/90{background-color:#16a34ae6}.bg-muted{background-color:hsl(var(--muted))}.bg-muted\\/50{background-color:hsl(var(--muted) / .5)}.bg-orange-500{--tw-bg-opacity: 1;background-color:rgb(249 115 22 / var(--tw-bg-opacity))}.bg-popover{background-color:hsl(var(--popover))}.bg-primary{background-color:hsl(var(--primary))}.bg-primary-foreground{background-color:hsl(var(--primary-foreground))}.bg-primary\\/10{background-color:hsl(var(--primary) / .1)}.bg-primary\\/20{background-color:hsl(var(--primary) / .2)}.bg-primary\\/30{background-color:hsl(var(--primary) / .3)}.bg-primary\\/5{background-color:hsl(var(--primary) / .05)}.bg-primary\\/60{background-color:hsl(var(--primary) / .6)}.bg-red-500{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity))}.bg-red-500\\/90{background-color:#ef4444e6}.bg-secondary{background-color:hsl(var(--secondary))}.bg-secondary\\/30{background-color:hsl(var(--secondary) / .3)}.bg-secondary\\/50{background-color:hsl(var(--secondary) / .5)}.bg-secondary\\/85{background-color:hsl(var(--secondary) / .85)}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.bg-gradient-to-t{background-image:linear-gradient(to top,var(--tw-gradient-stops))}.bg-gradient-to-tl{background-image:linear-gradient(to top left,var(--tw-gradient-stops))}.from-accent{--tw-gradient-from: hsl(var(--accent)) var(--tw-gradient-from-position);--tw-gradient-to: hsl(var(--accent) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-black\\/60{--tw-gradient-from: rgb(0 0 0 / .6) var(--tw-gradient-from-position);--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-primary{--tw-gradient-from: hsl(var(--primary)) var(--tw-gradient-from-position);--tw-gradient-to: hsl(var(--primary) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-primary\\/10{--tw-gradient-from: hsl(var(--primary) / .1) var(--tw-gradient-from-position);--tw-gradient-to: hsl(var(--primary) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-primary\\/5{--tw-gradient-from: hsl(var(--primary) / .05) var(--tw-gradient-from-position);--tw-gradient-to: hsl(var(--primary) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-secondary\\/50{--tw-gradient-from: hsl(var(--secondary) / .5) var(--tw-gradient-from-position);--tw-gradient-to: hsl(var(--secondary) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-transparent{--tw-gradient-from: transparent var(--tw-gradient-from-position);--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.via-black\\/0{--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), rgb(0 0 0 / 0) var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-primary{--tw-gradient-to: hsl(var(--primary) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), hsl(var(--primary)) var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-primary\\/40{--tw-gradient-to: hsl(var(--primary) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), hsl(var(--primary) / .4) var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-primary\\/5{--tw-gradient-to: hsl(var(--primary) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), hsl(var(--primary) / .05) var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-primary\\/60{--tw-gradient-to: hsl(var(--primary) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), hsl(var(--primary) / .6) var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-transparent{--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), transparent var(--tw-gradient-via-position), var(--tw-gradient-to)}.to-accent{--tw-gradient-to: hsl(var(--accent)) var(--tw-gradient-to-position)}.to-black\\/0{--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position)}.to-primary{--tw-gradient-to: hsl(var(--primary)) var(--tw-gradient-to-position)}.to-primary\\/5{--tw-gradient-to: hsl(var(--primary) / .05) var(--tw-gradient-to-position)}.to-secondary\\/30{--tw-gradient-to: hsl(var(--secondary) / .3) var(--tw-gradient-to-position)}.to-transparent{--tw-gradient-to: transparent var(--tw-gradient-to-position)}.fill-accent{fill:hsl(var(--accent))}.fill-current{fill:currentColor}.fill-green-500{fill:#22c55e}.fill-primary{fill:hsl(var(--primary))}.fill-primary\\/30{fill:hsl(var(--primary) / .3)}.fill-primary\\/50{fill:hsl(var(--primary) / .5)}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-px{padding:1px}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0{padding-top:0;padding-bottom:0}.py-0\\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pb-6{padding-bottom:1.5rem}.pl-0{padding-left:0}.pl-0\\.5{padding-left:.125rem}.pl-2{padding-left:.5rem}.pl-4{padding-left:1rem}.pl-8{padding-left:2rem}.pr-2{padding-right:.5rem}.pr-2\\.5{padding-right:.625rem}.pr-8{padding-right:2rem}.pt-0{padding-top:0}.pt-0\\.5{padding-top:.125rem}.pt-1{padding-top:.25rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.text-left{text-align:left}.text-center{text-align:center}.align-middle{vertical-align:middle}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\\[0\\.8rem\\]{font-size:.8rem}.text-\\[10px\\]{font-size:10px}.text-\\[11px\\]{font-size:11px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-none{line-height:1}.tracking-tight{letter-spacing:-.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-accent-foreground{color:hsl(var(--accent-foreground))}.text-amber-600{--tw-text-opacity: 1;color:rgb(217 119 6 / var(--tw-text-opacity))}.text-amber-800{--tw-text-opacity: 1;color:rgb(146 64 14 / var(--tw-text-opacity))}.text-amber-900{--tw-text-opacity: 1;color:rgb(120 53 15 / var(--tw-text-opacity))}.text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity))}.text-card-foreground{color:hsl(var(--card-foreground))}.text-current{color:currentColor}.text-destructive{color:hsl(var(--destructive))}.text-foreground{color:hsl(var(--foreground))}.text-green-600{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-muted-foreground\\/60{color:hsl(var(--muted-foreground) / .6)}.text-neutral-400{--tw-text-opacity: 1;color:rgb(163 163 163 / var(--tw-text-opacity))}.text-popover-foreground{color:hsl(var(--popover-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-primary\\/60{color:hsl(var(--primary) / .6)}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.text-white\\/90{color:#ffffffe6}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-20{opacity:.2}.opacity-30{opacity:.3}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.opacity-\\[0\\.07\\]{opacity:.07}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\\[0_0_0_1px_hsl\\(var\\(--sidebar-border\\)\\)\\]{--tw-shadow: 0 0 0 1px hsl(var(--sidebar-border));--tw-shadow-colored: 0 0 0 1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\\[0_0_0_9999px_rgba\\(0\\,0\\,0\\,0\\.7\\)\\]{--tw-shadow: 0 0 0 9999px rgba(0,0,0,.7);--tw-shadow-colored: 0 0 0 9999px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-none{--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-primary\\/20{--tw-shadow-color: hsl(var(--primary) / .2);--tw-shadow: var(--tw-shadow-colored)}.shadow-primary\\/5{--tw-shadow-color: hsl(var(--primary) / .05);--tw-shadow: var(--tw-shadow-colored)}.shadow-primary\\/50{--tw-shadow-color: hsl(var(--primary) / .5);--tw-shadow: var(--tw-shadow-colored)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring-0{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-2{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-destructive{--tw-ring-color: hsl(var(--destructive))}.ring-ring\\/50{--tw-ring-color: hsl(var(--ring) / .5)}.ring-offset-2{--tw-ring-offset-width: 2px}.ring-offset-background{--tw-ring-offset-color: hsl(var(--background))}.\\!blur{--tw-blur: blur(8px) !important;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)!important}.blur{--tw-blur: blur(8px);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)}.blur-2xl{--tw-blur: blur(40px);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)}.blur-3xl{--tw-blur: blur(64px);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)}.grayscale{--tw-grayscale: grayscale(100%);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)}.filter{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)}.backdrop-blur-md{--tw-backdrop-blur: blur(12px);-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);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)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-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);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)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\\[color\\,box-shadow\\]{transition-property:color,box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\\[left\\,right\\,width\\]{transition-property:left,right,width;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\\[margin\\,opacity\\]{transition-property:margin,opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\\[width\\,height\\,padding\\]{transition-property:width,height,padding;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\\[width\\]{transition-property:width;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-none{transition-property:none}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-1000{transition-duration:1s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-linear{transition-timing-function:linear}[data-kwik-id]{--background: 210 20% 98%;--foreground: 222 47% 11%;--card: 0 0% 100%;--card-foreground: 222 47% 11%;--popover: 0 0% 100%;--popover-foreground: 222 47% 11%;--primary: 221 83% 33%;--primary-foreground: 0 0% 100%;--secondary: 220 13% 96%;--secondary-foreground: 222 47% 11%;--muted: 210 20% 98%;--muted-foreground: 220 9% 46%;--accent: 43 96% 56%;--accent-foreground: 222 47% 11%;--destructive: 0 84% 60%;--destructive-foreground: 0 0% 100%;--border: 220 13% 91%;--input: 0 0% 100% / 0;--ring: 221 83% 33%;--radius: .5rem;font-family:DM Sans,sans-serif}[data-kwik-id] *,[data-kwik-id] *:before,[data-kwik-id] *:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:hsl(var(--border))}.selection\\:bg-primary *::-moz-selection{background-color:hsl(var(--primary))}.selection\\:bg-primary *::selection{background-color:hsl(var(--primary))}.selection\\:text-primary-foreground *::-moz-selection{color:hsl(var(--primary-foreground))}.selection\\:text-primary-foreground *::selection{color:hsl(var(--primary-foreground))}.selection\\:bg-primary::-moz-selection{background-color:hsl(var(--primary))}.selection\\:bg-primary::selection{background-color:hsl(var(--primary))}.selection\\:text-primary-foreground::-moz-selection{color:hsl(var(--primary-foreground))}.selection\\:text-primary-foreground::selection{color:hsl(var(--primary-foreground))}.file\\:inline-flex::file-selector-button{display:inline-flex}.file\\:h-7::file-selector-button{height:1.75rem}.file\\:border-0::file-selector-button{border-width:0px}.file\\:bg-transparent::file-selector-button{background-color:transparent}.file\\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\\:font-medium::file-selector-button{font-weight:500}.file\\:text-foreground::file-selector-button{color:hsl(var(--foreground))}.placeholder\\:text-muted-foreground::-moz-placeholder{color:hsl(var(--muted-foreground))}.placeholder\\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.after\\:absolute:after{content:var(--tw-content);position:absolute}.after\\:-inset-2:after{content:var(--tw-content);inset:-.5rem}.after\\:inset-y-0:after{content:var(--tw-content);top:0;bottom:0}.after\\:left-1\\/2:after{content:var(--tw-content);left:50%}.after\\:w-1:after{content:var(--tw-content);width:.25rem}.after\\:w-\\[2px\\]:after{content:var(--tw-content);width:2px}.after\\:-translate-x-1\\/2:after{content:var(--tw-content);--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.first\\:rounded-l-md:first-child{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.first\\:border-l:first-child{border-left-width:1px}.last\\:rounded-r-md:last-child{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.last\\:border-b-0:last-child{border-bottom-width:0px}.focus-within\\:relative:focus-within{position:relative}.focus-within\\:z-20:focus-within{z-index:20}.hover\\:scale-105:hover{--tw-scale-x: 1.05;--tw-scale-y: 1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\\:border-muted-foreground\\/30:hover{border-color:hsl(var(--muted-foreground) / .3)}.hover\\:border-primary\\/30:hover{border-color:hsl(var(--primary) / .3)}.hover\\:border-primary\\/50:hover{border-color:hsl(var(--primary) / .5)}.hover\\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\\:bg-background:hover{background-color:hsl(var(--background))}.hover\\:bg-destructive\\/90:hover{background-color:hsl(var(--destructive) / .9)}.hover\\:bg-green-700:hover{--tw-bg-opacity: 1;background-color:rgb(21 128 61 / var(--tw-bg-opacity))}.hover\\:bg-muted:hover{background-color:hsl(var(--muted))}.hover\\:bg-muted\\/50:hover{background-color:hsl(var(--muted) / .5)}.hover\\:bg-primary:hover{background-color:hsl(var(--primary))}.hover\\:bg-primary\\/10:hover{background-color:hsl(var(--primary) / .1)}.hover\\:bg-primary\\/90:hover{background-color:hsl(var(--primary) / .9)}.hover\\:bg-secondary\\/50:hover{background-color:hsl(var(--secondary) / .5)}.hover\\:bg-secondary\\/80:hover{background-color:hsl(var(--secondary) / .8)}.hover\\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\\:text-foreground:hover{color:hsl(var(--foreground))}.hover\\:text-muted-foreground:hover{color:hsl(var(--muted-foreground))}.hover\\:text-primary-foreground:hover{color:hsl(var(--primary-foreground))}.hover\\:text-primary\\/80:hover{color:hsl(var(--primary) / .8)}.hover\\:underline:hover{text-decoration-line:underline}.hover\\:opacity-100:hover{opacity:1}.hover\\:shadow-\\[0_0_0_1px_hsl\\(var\\(--sidebar-accent\\)\\)\\]:hover{--tw-shadow: 0 0 0 1px hsl(var(--sidebar-accent));--tw-shadow-colored: 0 0 0 1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\\:shadow-lg:hover{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\\:shadow-xl:hover{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\\:shadow-primary\\/10:hover{--tw-shadow-color: hsl(var(--primary) / .1);--tw-shadow: var(--tw-shadow-colored)}.hover\\:shadow-primary\\/20:hover{--tw-shadow-color: hsl(var(--primary) / .2);--tw-shadow: var(--tw-shadow-colored)}.hover\\:ring-4:hover{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\\:z-10:focus{z-index:10}.focus\\:bg-accent:focus{background-color:hsl(var(--accent))}.focus\\:bg-primary:focus{background-color:hsl(var(--primary))}.focus\\:text-accent-foreground:focus{color:hsl(var(--accent-foreground))}.focus\\:text-primary-foreground:focus{color:hsl(var(--primary-foreground))}.focus\\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\\:ring-ring:focus{--tw-ring-color: hsl(var(--ring))}.focus\\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.focus-visible\\:z-10:focus-visible{z-index:10}.focus-visible\\:border-ring:focus-visible{border-color:hsl(var(--ring))}.focus-visible\\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\\:outline-1:focus-visible{outline-width:1px}.focus-visible\\:ring-1:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\\:ring-4:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\\:ring-\\[3px\\]:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\\:ring-destructive\\/20:focus-visible{--tw-ring-color: hsl(var(--destructive) / .2)}.focus-visible\\:ring-ring:focus-visible{--tw-ring-color: hsl(var(--ring))}.focus-visible\\:ring-ring\\/50:focus-visible{--tw-ring-color: hsl(var(--ring) / .5)}.focus-visible\\:ring-offset-1:focus-visible{--tw-ring-offset-width: 1px}.focus-visible\\:ring-offset-2:focus-visible{--tw-ring-offset-width: 2px}.disabled\\:pointer-events-none:disabled{pointer-events:none}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:opacity-50:disabled{opacity:.5}.group\\/menu-item:focus-within .group-focus-within\\/menu-item\\:opacity-100{opacity:1}.group:hover .group-hover\\:scale-110{--tw-scale-x: 1.1;--tw-scale-y: 1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\\:border-primary\\/40{border-color:hsl(var(--primary) / .4)}.group:hover .group-hover\\:bg-primary\\/10{background-color:hsl(var(--primary) / .1)}.group:hover .group-hover\\:text-foreground{color:hsl(var(--foreground))}.group:hover .group-hover\\:text-primary{color:hsl(var(--primary))}.group:hover .group-hover\\:text-primary\\/80{color:hsl(var(--primary) / .8)}.group\\/menu-item:hover .group-hover\\/menu-item\\:opacity-100,.group:hover .group-hover\\:opacity-100{opacity:1}.group:hover .group-hover\\:opacity-\\[0\\.12\\]{opacity:.12}.peer:disabled~.peer-disabled\\:cursor-not-allowed{cursor:not-allowed}.peer:disabled~.peer-disabled\\:opacity-50{opacity:.5}.has-\\[\\>svg\\]\\:grid-cols-\\[calc\\(var\\(--spacing\\)\\*4\\)_1fr\\]:has(>svg){grid-template-columns:calc(var(--spacing) * 4) 1fr}.has-\\[\\>svg\\]\\:gap-x-3:has(>svg){-moz-column-gap:.75rem;column-gap:.75rem}.has-\\[\\>svg\\]\\:px-2\\.5:has(>svg){padding-left:.625rem;padding-right:.625rem}.has-\\[\\>svg\\]\\:px-3:has(>svg){padding-left:.75rem;padding-right:.75rem}.has-\\[\\>svg\\]\\:px-4:has(>svg){padding-left:1rem;padding-right:1rem}.aria-disabled\\:pointer-events-none[aria-disabled=true]{pointer-events:none}.aria-disabled\\:opacity-50[aria-disabled=true]{opacity:.5}.aria-selected\\:bg-accent[aria-selected=true]{background-color:hsl(var(--accent))}.aria-selected\\:bg-primary[aria-selected=true]{background-color:hsl(var(--primary))}.aria-selected\\:text-accent-foreground[aria-selected=true]{color:hsl(var(--accent-foreground))}.aria-selected\\:text-muted-foreground[aria-selected=true]{color:hsl(var(--muted-foreground))}.aria-selected\\:text-primary-foreground[aria-selected=true]{color:hsl(var(--primary-foreground))}.aria-selected\\:opacity-100[aria-selected=true]{opacity:1}.data-\\[disabled\\=true\\]\\:pointer-events-none[data-disabled=true],.data-\\[disabled\\]\\:pointer-events-none[data-disabled]{pointer-events:none}.data-\\[vaul-drawer-direction\\=bottom\\]\\:inset-x-0[data-vaul-drawer-direction=bottom]{left:0;right:0}.data-\\[vaul-drawer-direction\\=left\\]\\:inset-y-0[data-vaul-drawer-direction=left],.data-\\[vaul-drawer-direction\\=right\\]\\:inset-y-0[data-vaul-drawer-direction=right]{top:0;bottom:0}.data-\\[vaul-drawer-direction\\=top\\]\\:inset-x-0[data-vaul-drawer-direction=top]{left:0;right:0}.data-\\[vaul-drawer-direction\\=bottom\\]\\:bottom-0[data-vaul-drawer-direction=bottom]{bottom:0}.data-\\[vaul-drawer-direction\\=left\\]\\:left-0[data-vaul-drawer-direction=left]{left:0}.data-\\[vaul-drawer-direction\\=right\\]\\:right-0[data-vaul-drawer-direction=right]{right:0}.data-\\[vaul-drawer-direction\\=top\\]\\:top-0[data-vaul-drawer-direction=top]{top:0}.data-\\[active\\=true\\]\\:z-10[data-active=true]{z-index:10}.data-\\[vaul-drawer-direction\\=bottom\\]\\:mt-24[data-vaul-drawer-direction=bottom]{margin-top:6rem}.data-\\[vaul-drawer-direction\\=top\\]\\:mb-24[data-vaul-drawer-direction=top]{margin-bottom:6rem}.data-\\[orientation\\=horizontal\\]\\:h-4[data-orientation=horizontal]{height:1rem}.data-\\[orientation\\=horizontal\\]\\:h-full[data-orientation=horizontal]{height:100%}.data-\\[orientation\\=horizontal\\]\\:h-px[data-orientation=horizontal]{height:1px}.data-\\[orientation\\=vertical\\]\\:h-full[data-orientation=vertical]{height:100%}.data-\\[panel-group-direction\\=vertical\\]\\:h-px[data-panel-group-direction=vertical]{height:1px}.data-\\[size\\=default\\]\\:h-9[data-size=default]{height:2.25rem}.data-\\[size\\=sm\\]\\:h-8[data-size=sm]{height:2rem}.data-\\[vaul-drawer-direction\\=bottom\\]\\:max-h-\\[80vh\\][data-vaul-drawer-direction=bottom],.data-\\[vaul-drawer-direction\\=top\\]\\:max-h-\\[80vh\\][data-vaul-drawer-direction=top]{max-height:80vh}.data-\\[orientation\\=vertical\\]\\:min-h-44[data-orientation=vertical]{min-height:11rem}.data-\\[orientation\\=horizontal\\]\\:w-full[data-orientation=horizontal]{width:100%}.data-\\[orientation\\=vertical\\]\\:w-1\\.5[data-orientation=vertical]{width:.375rem}.data-\\[orientation\\=vertical\\]\\:w-auto[data-orientation=vertical]{width:auto}.data-\\[orientation\\=vertical\\]\\:w-full[data-orientation=vertical]{width:100%}.data-\\[orientation\\=vertical\\]\\:w-px[data-orientation=vertical]{width:1px}.data-\\[panel-group-direction\\=vertical\\]\\:w-full[data-panel-group-direction=vertical]{width:100%}.data-\\[vaul-drawer-direction\\=left\\]\\:w-3\\/4[data-vaul-drawer-direction=left],.data-\\[vaul-drawer-direction\\=right\\]\\:w-3\\/4[data-vaul-drawer-direction=right]{width:75%}.data-\\[side\\=bottom\\]\\:translate-y-1[data-side=bottom]{--tw-translate-y: .25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\\[side\\=left\\]\\:-translate-x-1[data-side=left]{--tw-translate-x: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\\[side\\=right\\]\\:translate-x-1[data-side=right]{--tw-translate-x: .25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\\[side\\=top\\]\\:-translate-y-1[data-side=top]{--tw-translate-y: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\\[state\\=checked\\]\\:translate-x-\\[calc\\(100\\%-2px\\)\\][data-state=checked]{--tw-translate-x: calc(100% - 2px) ;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\\[state\\=unchecked\\]\\:translate-x-0[data-state=unchecked]{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\\[orientation\\=vertical\\]\\:flex-col[data-orientation=vertical],.data-\\[panel-group-direction\\=vertical\\]\\:flex-col[data-panel-group-direction=vertical]{flex-direction:column}.data-\\[vaul-drawer-direction\\=bottom\\]\\:rounded-t-lg[data-vaul-drawer-direction=bottom]{border-top-left-radius:var(--radius);border-top-right-radius:var(--radius)}.data-\\[vaul-drawer-direction\\=top\\]\\:rounded-b-lg[data-vaul-drawer-direction=top]{border-bottom-right-radius:var(--radius);border-bottom-left-radius:var(--radius)}.data-\\[variant\\=outline\\]\\:border-l-0[data-variant=outline]{border-left-width:0px}.data-\\[vaul-drawer-direction\\=bottom\\]\\:border-t[data-vaul-drawer-direction=bottom]{border-top-width:1px}.data-\\[vaul-drawer-direction\\=left\\]\\:border-r[data-vaul-drawer-direction=left]{border-right-width:1px}.data-\\[vaul-drawer-direction\\=right\\]\\:border-l[data-vaul-drawer-direction=right]{border-left-width:1px}.data-\\[vaul-drawer-direction\\=top\\]\\:border-b[data-vaul-drawer-direction=top]{border-bottom-width:1px}.data-\\[active\\=true\\]\\:border-ring[data-active=true]{border-color:hsl(var(--ring))}.data-\\[state\\=checked\\]\\:border-primary[data-state=checked]{border-color:hsl(var(--primary))}.data-\\[active\\=true\\]\\:bg-accent\\/50[data-active=true]{background-color:hsl(var(--accent) / .5)}.data-\\[selected\\=true\\]\\:bg-accent[data-selected=true]{background-color:hsl(var(--accent))}.data-\\[state\\=active\\]\\:bg-background[data-state=active]{background-color:hsl(var(--background))}.data-\\[state\\=checked\\]\\:bg-primary[data-state=checked]{background-color:hsl(var(--primary))}.data-\\[state\\=on\\]\\:bg-accent[data-state=on],.data-\\[state\\=open\\]\\:bg-accent[data-state=open]{background-color:hsl(var(--accent))}.data-\\[state\\=open\\]\\:bg-accent\\/50[data-state=open]{background-color:hsl(var(--accent) / .5)}.data-\\[state\\=open\\]\\:bg-secondary[data-state=open]{background-color:hsl(var(--secondary))}.data-\\[state\\=selected\\]\\:bg-muted[data-state=selected]{background-color:hsl(var(--muted))}.data-\\[inset\\]\\:pl-8[data-inset]{padding-left:2rem}.data-\\[active\\=true\\]\\:font-medium[data-active=true]{font-weight:500}.data-\\[active\\=true\\]\\:text-accent-foreground[data-active=true]{color:hsl(var(--accent-foreground))}.data-\\[error\\=true\\]\\:text-destructive[data-error=true]{color:hsl(var(--destructive))}.data-\\[placeholder\\]\\:text-muted-foreground[data-placeholder]{color:hsl(var(--muted-foreground))}.data-\\[selected\\=true\\]\\:text-accent-foreground[data-selected=true]{color:hsl(var(--accent-foreground))}.data-\\[state\\=active\\]\\:text-foreground[data-state=active]{color:hsl(var(--foreground))}.data-\\[state\\=checked\\]\\:text-primary-foreground[data-state=checked]{color:hsl(var(--primary-foreground))}.data-\\[state\\=on\\]\\:text-accent-foreground[data-state=on],.data-\\[state\\=open\\]\\:text-accent-foreground[data-state=open]{color:hsl(var(--accent-foreground))}.data-\\[state\\=open\\]\\:text-muted-foreground[data-state=open]{color:hsl(var(--muted-foreground))}.data-\\[variant\\=destructive\\]\\:text-destructive[data-variant=destructive]{color:hsl(var(--destructive))}.data-\\[disabled\\=true\\]\\:opacity-50[data-disabled=true],.data-\\[disabled\\]\\:opacity-50[data-disabled]{opacity:.5}.data-\\[state\\=open\\]\\:opacity-100[data-state=open]{opacity:1}.data-\\[state\\=active\\]\\:shadow-sm[data-state=active]{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.data-\\[active\\=true\\]\\:ring-\\[3px\\][data-active=true]{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.data-\\[active\\=true\\]\\:ring-ring\\/50[data-active=true]{--tw-ring-color: hsl(var(--ring) / .5)}.data-\\[state\\=closed\\]\\:duration-300[data-state=closed]{transition-duration:.3s}.data-\\[state\\=open\\]\\:duration-500[data-state=open]{transition-duration:.5s}.\\*\\:data-\\[slot\\=select-value\\]\\:line-clamp-1[data-slot=select-value]>*{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.\\*\\:data-\\[slot\\=select-value\\]\\:flex[data-slot=select-value]>*{display:flex}.\\*\\:data-\\[slot\\=select-value\\]\\:items-center[data-slot=select-value]>*{align-items:center}.\\*\\:data-\\[slot\\=select-value\\]\\:gap-2[data-slot=select-value]>*{gap:.5rem}.\\*\\:data-\\[slot\\=alert-description\\]\\:text-destructive\\/90[data-slot=alert-description]>*{color:hsl(var(--destructive) / .9)}.data-\\[panel-group-direction\\=vertical\\]\\:after\\:left-0[data-panel-group-direction=vertical]:after{content:var(--tw-content);left:0}.data-\\[panel-group-direction\\=vertical\\]\\:after\\:h-1[data-panel-group-direction=vertical]:after{content:var(--tw-content);height:.25rem}.data-\\[panel-group-direction\\=vertical\\]\\:after\\:w-full[data-panel-group-direction=vertical]:after{content:var(--tw-content);width:100%}.data-\\[panel-group-direction\\=vertical\\]\\:after\\:-translate-y-1\\/2[data-panel-group-direction=vertical]:after{content:var(--tw-content);--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\\[panel-group-direction\\=vertical\\]\\:after\\:translate-x-0[data-panel-group-direction=vertical]:after{content:var(--tw-content);--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\\[variant\\=outline\\]\\:first\\:border-l:first-child[data-variant=outline]{border-left-width:1px}.data-\\[active\\=true\\]\\:hover\\:bg-accent:hover[data-active=true],.data-\\[state\\=open\\]\\:hover\\:bg-accent:hover[data-state=open]{background-color:hsl(var(--accent))}.data-\\[active\\=true\\]\\:focus\\:bg-accent:focus[data-active=true]{background-color:hsl(var(--accent))}.data-\\[state\\=open\\]\\:focus\\:bg-accent:focus[data-state=open]{background-color:hsl(var(--accent))}.data-\\[variant\\=destructive\\]\\:focus\\:bg-destructive\\/10:focus[data-variant=destructive]{background-color:hsl(var(--destructive) / .1)}.data-\\[variant\\=destructive\\]\\:focus\\:text-destructive:focus[data-variant=destructive]{color:hsl(var(--destructive))}.group[data-disabled=true] .group-data-\\[disabled\\=true\\]\\:pointer-events-none{pointer-events:none}.group[data-collapsible=offcanvas] .group-data-\\[collapsible\\=offcanvas\\]\\:left-\\[calc\\(var\\(--sidebar-width\\)\\*-1\\)\\]{left:calc(var(--sidebar-width) * -1)}.group[data-collapsible=offcanvas] .group-data-\\[collapsible\\=offcanvas\\]\\:right-\\[calc\\(var\\(--sidebar-width\\)\\*-1\\)\\]{right:calc(var(--sidebar-width) * -1)}.group[data-side=left] .group-data-\\[side\\=left\\]\\:-right-4{right:-1rem}.group[data-side=right] .group-data-\\[side\\=right\\]\\:left-0{left:0}.group\\/navigation-menu[data-viewport=false] .group-data-\\[viewport\\=false\\]\\/navigation-menu\\:top-full{top:100%}.group[data-collapsible=icon] .group-data-\\[collapsible\\=icon\\]\\:-mt-8{margin-top:-2rem}.group\\/navigation-menu[data-viewport=false] .group-data-\\[viewport\\=false\\]\\/navigation-menu\\:mt-1\\.5{margin-top:.375rem}.group\\/drawer-content[data-vaul-drawer-direction=bottom] .group-data-\\[vaul-drawer-direction\\=bottom\\]\\/drawer-content\\:block{display:block}.group[data-collapsible=icon] .group-data-\\[collapsible\\=icon\\]\\:hidden{display:none}.group[data-collapsible=icon] .group-data-\\[collapsible\\=icon\\]\\:w-\\[calc\\(var\\(--sidebar-width-icon\\)\\+\\(--spacing\\(4\\)\\)\\)\\]{width:calc(var(--sidebar-width-icon) + (--spacing(4)))}.group[data-collapsible=icon] .group-data-\\[collapsible\\=icon\\]\\:w-\\[calc\\(var\\(--sidebar-width-icon\\)\\+\\(--spacing\\(4\\)\\)\\+2px\\)\\]{width:calc(var(--sidebar-width-icon) + (--spacing(4)) + 2px)}.group[data-collapsible=offcanvas] .group-data-\\[collapsible\\=offcanvas\\]\\:w-0{width:0px}.group[data-collapsible=offcanvas] .group-data-\\[collapsible\\=offcanvas\\]\\:translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group[data-side=right] .group-data-\\[side\\=right\\]\\:rotate-180,.group[data-state=open] .group-data-\\[state\\=open\\]\\:rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group[data-collapsible=icon] .group-data-\\[collapsible\\=icon\\]\\:overflow-hidden,.group\\/navigation-menu[data-viewport=false] .group-data-\\[viewport\\=false\\]\\/navigation-menu\\:overflow-hidden{overflow:hidden}.group[data-variant=floating] .group-data-\\[variant\\=floating\\]\\:rounded-lg{border-radius:var(--radius)}.group\\/navigation-menu[data-viewport=false] .group-data-\\[viewport\\=false\\]\\/navigation-menu\\:rounded-md{border-radius:calc(var(--radius) - 2px)}.group[data-variant=floating] .group-data-\\[variant\\=floating\\]\\:border,.group\\/navigation-menu[data-viewport=false] .group-data-\\[viewport\\=false\\]\\/navigation-menu\\:border{border-width:1px}.group[data-side=left] .group-data-\\[side\\=left\\]\\:border-r{border-right-width:1px}.group[data-side=right] .group-data-\\[side\\=right\\]\\:border-l{border-left-width:1px}.group\\/navigation-menu[data-viewport=false] .group-data-\\[viewport\\=false\\]\\/navigation-menu\\:bg-popover{background-color:hsl(var(--popover))}.group\\/navigation-menu[data-viewport=false] .group-data-\\[viewport\\=false\\]\\/navigation-menu\\:text-popover-foreground{color:hsl(var(--popover-foreground))}.group[data-collapsible=icon] .group-data-\\[collapsible\\=icon\\]\\:opacity-0{opacity:0}.group[data-disabled=true] .group-data-\\[disabled\\=true\\]\\:opacity-50{opacity:.5}.group[data-variant=floating] .group-data-\\[variant\\=floating\\]\\:shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.group\\/navigation-menu[data-viewport=false] .group-data-\\[viewport\\=false\\]\\/navigation-menu\\:shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.group\\/navigation-menu[data-viewport=false] .group-data-\\[viewport\\=false\\]\\/navigation-menu\\:duration-200{transition-duration:.2s}.group[data-collapsible=offcanvas] .group-data-\\[collapsible\\=offcanvas\\]\\:after\\:left-full:after{content:var(--tw-content);left:100%}.peer\\/menu-button[data-size=default]~.peer-data-\\[size\\=default\\]\\/menu-button\\:top-1\\.5{top:.375rem}.peer\\/menu-button[data-size=lg]~.peer-data-\\[size\\=lg\\]\\/menu-button\\:top-2\\.5{top:.625rem}.peer\\/menu-button[data-size=sm]~.peer-data-\\[size\\=sm\\]\\/menu-button\\:top-1{top:.25rem}.dark\\:border-input:is(.dark *){border-color:hsl(var(--input))}.dark\\:bg-destructive\\/60:is(.dark *){background-color:hsl(var(--destructive) / .6)}.dark\\:bg-input\\/30:is(.dark *){background-color:hsl(var(--input) / .3)}.dark\\:hover\\:bg-accent\\/50:hover:is(.dark *){background-color:hsl(var(--accent) / .5)}.dark\\:hover\\:bg-input\\/50:hover:is(.dark *){background-color:hsl(var(--input) / .5)}.dark\\:focus-visible\\:ring-destructive\\/40:focus-visible:is(.dark *){--tw-ring-color: hsl(var(--destructive) / .4)}.dark\\:data-\\[state\\=checked\\]\\:bg-primary[data-state=checked]:is(.dark *){background-color:hsl(var(--primary))}.dark\\:data-\\[state\\=checked\\]\\:bg-primary-foreground[data-state=checked]:is(.dark *){background-color:hsl(var(--primary-foreground))}.dark\\:data-\\[state\\=unchecked\\]\\:bg-card-foreground[data-state=unchecked]:is(.dark *){background-color:hsl(var(--card-foreground))}.dark\\:data-\\[state\\=unchecked\\]\\:bg-input\\/80[data-state=unchecked]:is(.dark *){background-color:hsl(var(--input) / .8)}.dark\\:data-\\[variant\\=destructive\\]\\:focus\\:bg-destructive\\/20:focus[data-variant=destructive]:is(.dark *){background-color:hsl(var(--destructive) / .2)}@media (min-width: 640px){.sm\\:block{display:block}.sm\\:flex{display:flex}.sm\\:h-10{height:2.5rem}.sm\\:h-11{height:2.75rem}.sm\\:h-12{height:3rem}.sm\\:h-20{height:5rem}.sm\\:h-4{height:1rem}.sm\\:h-6{height:1.5rem}.sm\\:h-8{height:2rem}.sm\\:w-10{width:2.5rem}.sm\\:w-20{width:5rem}.sm\\:w-4{width:1rem}.sm\\:w-6{width:1.5rem}.sm\\:w-8{width:2rem}.sm\\:max-w-lg{max-width:32rem}.sm\\:max-w-sm{max-width:24rem}.sm\\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\\:flex-row{flex-direction:row}.sm\\:justify-end{justify-content:flex-end}.sm\\:gap-2{gap:.5rem}.sm\\:gap-2\\.5{gap:.625rem}.sm\\:gap-5{gap:1.25rem}.sm\\:py-12{padding-top:3rem;padding-bottom:3rem}.sm\\:py-3{padding-top:.75rem;padding-bottom:.75rem}.sm\\:py-3\\.5{padding-top:.875rem;padding-bottom:.875rem}.sm\\:pl-2{padding-left:.5rem}.sm\\:pl-2\\.5{padding-left:.625rem}.sm\\:pr-2{padding-right:.5rem}.sm\\:pr-2\\.5{padding-right:.625rem}.sm\\:text-left{text-align:left}.sm\\:text-base{font-size:1rem;line-height:1.5rem}.sm\\:text-lg{font-size:1.125rem;line-height:1.75rem}.data-\\[vaul-drawer-direction\\=left\\]\\:sm\\:max-w-sm[data-vaul-drawer-direction=left],.data-\\[vaul-drawer-direction\\=right\\]\\:sm\\:max-w-sm[data-vaul-drawer-direction=right]{max-width:24rem}}@media (min-width: 768px){.md\\:absolute{position:absolute}.md\\:mx-4{margin-left:1rem;margin-right:1rem}.md\\:block{display:block}.md\\:flex{display:flex}.md\\:max-h-\\[900px\\]{max-height:900px}.md\\:w-\\[var\\(--radix-navigation-menu-viewport-width\\)\\]{width:var(--radix-navigation-menu-viewport-width)}.md\\:w-auto{width:auto}.md\\:max-w-\\[150px\\]{max-width:150px}.md\\:max-w-\\[200px\\]{max-width:200px}.md\\:max-w-\\[220px\\]{max-width:220px}.md\\:max-w-\\[240px\\]{max-width:240px}.md\\:max-w-\\[500px\\]{max-width:500px}.md\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\\:rounded-3xl{border-radius:1.5rem}.md\\:p-6{padding:1.5rem}.md\\:px-6{padding-left:1.5rem;padding-right:1.5rem}.md\\:py-6{padding-top:1.5rem;padding-bottom:1.5rem}.md\\:text-2xl{font-size:1.5rem;line-height:2rem}.md\\:text-sm{font-size:.875rem;line-height:1.25rem}.md\\:opacity-0{opacity:0}.md\\:after\\:hidden:after{content:var(--tw-content);display:none}.peer[data-variant=inset]~.md\\:peer-data-\\[variant\\=inset\\]\\:m-2{margin:.5rem}.peer[data-variant=inset]~.md\\:peer-data-\\[variant\\=inset\\]\\:ml-0{margin-left:0}.peer[data-variant=inset][data-state=collapsed]~.md\\:peer-data-\\[variant\\=inset\\]\\:peer-data-\\[state\\=collapsed\\]\\:ml-2{margin-left:.5rem}.peer[data-variant=inset]~.md\\:peer-data-\\[variant\\=inset\\]\\:rounded-xl{border-radius:.75rem}.peer[data-variant=inset]~.md\\:peer-data-\\[variant\\=inset\\]\\:shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}}@media (min-width: 1024px){.lg\\:block{display:block}.lg\\:hidden{display:none}}.\\[\\&\\:has\\(\\>\\.day-range-end\\)\\]\\:rounded-r-md:has(>.day-range-end){border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.\\[\\&\\:has\\(\\>\\.day-range-start\\)\\]\\:rounded-l-md:has(>.day-range-start){border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.\\[\\&\\:has\\(\\[aria-selected\\]\\)\\]\\:rounded-md:has([aria-selected]){border-radius:calc(var(--radius) - 2px)}.\\[\\&\\:has\\(\\[aria-selected\\]\\)\\]\\:bg-accent:has([aria-selected]){background-color:hsl(var(--accent))}.first\\:\\[\\&\\:has\\(\\[aria-selected\\]\\)\\]\\:rounded-l-md:has([aria-selected]):first-child{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.last\\:\\[\\&\\:has\\(\\[aria-selected\\]\\)\\]\\:rounded-r-md:has([aria-selected]):last-child{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.\\[\\&\\:has\\(\\[aria-selected\\]\\.day-range-end\\)\\]\\:rounded-r-md:has([aria-selected].day-range-end){border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.\\[\\&\\:has\\(\\[role\\=checkbox\\]\\)\\]\\:pr-0:has([role=checkbox]){padding-right:0}.\\[\\&\\:last-child\\]\\:pb-6:last-child{padding-bottom:1.5rem}.\\[\\&\\>\\[role\\=checkbox\\]\\]\\:translate-y-\\[2px\\]>[role=checkbox]{--tw-translate-y: 2px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\\[\\&\\>button\\]\\:hidden>button{display:none}.\\[\\&\\>span\\:last-child\\]\\:truncate>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.\\[\\&\\>svg\\]\\:pointer-events-none>svg{pointer-events:none}.\\[\\&\\>svg\\]\\:size-3>svg{width:.75rem;height:.75rem}.\\[\\&\\>svg\\]\\:size-3\\.5>svg{width:.875rem;height:.875rem}.\\[\\&\\>svg\\]\\:size-4>svg{width:1rem;height:1rem}.\\[\\&\\>svg\\]\\:h-2\\.5>svg{height:.625rem}.\\[\\&\\>svg\\]\\:h-3>svg{height:.75rem}.\\[\\&\\>svg\\]\\:w-2\\.5>svg{width:.625rem}.\\[\\&\\>svg\\]\\:w-3>svg{width:.75rem}.\\[\\&\\>svg\\]\\:shrink-0>svg{flex-shrink:0}.\\[\\&\\>svg\\]\\:translate-y-0\\.5>svg{--tw-translate-y: .125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\\[\\&\\>svg\\]\\:text-current>svg{color:currentColor}.\\[\\&\\>svg\\]\\:text-muted-foreground>svg{color:hsl(var(--muted-foreground))}.\\[\\&\\>tr\\]\\:last\\:border-b-0:last-child>tr{border-bottom-width:0px}.\\[\\&\\[data-panel-group-direction\\=vertical\\]\\>div\\]\\:rotate-90[data-panel-group-direction=vertical]>div{--tw-rotate: 90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\\[\\&\\[data-state\\=open\\]\\>svg\\]\\:rotate-180[data-state=open]>svg{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\\[\\&_\\.recharts-cartesian-axis-tick_text\\]\\:fill-muted-foreground .recharts-cartesian-axis-tick text{fill:hsl(var(--muted-foreground))}.\\[\\&_\\.recharts-cartesian-grid_line\\[stroke\\=\\'\\#ccc\\'\\]\\]\\:stroke-border\\/50 .recharts-cartesian-grid line[stroke="#ccc"]{stroke:hsl(var(--border) / .5)}.\\[\\&_\\.recharts-curve\\.recharts-tooltip-cursor\\]\\:stroke-border .recharts-curve.recharts-tooltip-cursor{stroke:hsl(var(--border))}.\\[\\&_\\.recharts-dot\\[stroke\\=\\'\\#fff\\'\\]\\]\\:stroke-transparent .recharts-dot[stroke="#fff"]{stroke:transparent}.\\[\\&_\\.recharts-polar-grid_\\[stroke\\=\\'\\#ccc\\'\\]\\]\\:stroke-border .recharts-polar-grid [stroke="#ccc"]{stroke:hsl(var(--border))}.\\[\\&_\\.recharts-radial-bar-background-sector\\]\\:fill-muted .recharts-radial-bar-background-sector,.\\[\\&_\\.recharts-rectangle\\.recharts-tooltip-cursor\\]\\:fill-muted .recharts-rectangle.recharts-tooltip-cursor{fill:hsl(var(--muted))}.\\[\\&_\\.recharts-reference-line_\\[stroke\\=\\'\\#ccc\\'\\]\\]\\:stroke-border .recharts-reference-line [stroke="#ccc"]{stroke:hsl(var(--border))}.\\[\\&_\\.recharts-sector\\[stroke\\=\\'\\#fff\\'\\]\\]\\:stroke-transparent .recharts-sector[stroke="#fff"]{stroke:transparent}.\\[\\&_\\[cmdk-group-heading\\]\\]\\:px-2 [cmdk-group-heading]{padding-left:.5rem;padding-right:.5rem}.\\[\\&_\\[cmdk-group-heading\\]\\]\\:py-1\\.5 [cmdk-group-heading]{padding-top:.375rem;padding-bottom:.375rem}.\\[\\&_\\[cmdk-group-heading\\]\\]\\:text-xs [cmdk-group-heading]{font-size:.75rem;line-height:1rem}.\\[\\&_\\[cmdk-group-heading\\]\\]\\:font-medium [cmdk-group-heading]{font-weight:500}.\\[\\&_\\[cmdk-group-heading\\]\\]\\:text-muted-foreground [cmdk-group-heading]{color:hsl(var(--muted-foreground))}.\\[\\&_\\[cmdk-group\\]\\:not\\(\\[hidden\\]\\)_\\~\\[cmdk-group\\]\\]\\:pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:0}.\\[\\&_\\[cmdk-group\\]\\]\\:px-2 [cmdk-group]{padding-left:.5rem;padding-right:.5rem}.\\[\\&_\\[cmdk-input-wrapper\\]_svg\\]\\:h-5 [cmdk-input-wrapper] svg{height:1.25rem}.\\[\\&_\\[cmdk-input-wrapper\\]_svg\\]\\:w-5 [cmdk-input-wrapper] svg{width:1.25rem}.\\[\\&_\\[cmdk-input\\]\\]\\:h-12 [cmdk-input]{height:3rem}.\\[\\&_\\[cmdk-item\\]\\]\\:px-2 [cmdk-item]{padding-left:.5rem;padding-right:.5rem}.\\[\\&_\\[cmdk-item\\]\\]\\:py-3 [cmdk-item]{padding-top:.75rem;padding-bottom:.75rem}.\\[\\&_\\[cmdk-item\\]_svg\\]\\:h-5 [cmdk-item] svg{height:1.25rem}.\\[\\&_\\[cmdk-item\\]_svg\\]\\:w-5 [cmdk-item] svg{width:1.25rem}.\\[\\&_p\\]\\:leading-relaxed p{line-height:1.625}.\\[\\&_svg\\:not\\(\\[class\\*\\=\\'size-\\'\\]\\)\\]\\:size-4 svg:not([class*=size-]){width:1rem;height:1rem}.\\[\\&_svg\\:not\\(\\[class\\*\\=\\'text-\\'\\]\\)\\]\\:text-muted-foreground svg:not([class*=text-]){color:hsl(var(--muted-foreground))}.\\[\\&_svg\\]\\:pointer-events-none svg{pointer-events:none}.\\[\\&_svg\\]\\:shrink-0 svg{flex-shrink:0}.\\[\\&_tr\\:last-child\\]\\:border-0 tr:last-child{border-width:0px}.\\[\\&_tr\\]\\:border-b tr{border-bottom-width:1px}[data-side=left][data-collapsible=offcanvas] .\\[\\[data-side\\=left\\]\\[data-collapsible\\=offcanvas\\]_\\&\\]\\:-right-2{right:-.5rem}[data-side=left][data-state=collapsed] .\\[\\[data-side\\=left\\]\\[data-state\\=collapsed\\]_\\&\\]\\:cursor-e-resize{cursor:e-resize}[data-side=right][data-collapsible=offcanvas] .\\[\\[data-side\\=right\\]\\[data-collapsible\\=offcanvas\\]_\\&\\]\\:-left-2{left:-.5rem}[data-side=right][data-state=collapsed] .\\[\\[data-side\\=right\\]\\[data-state\\=collapsed\\]_\\&\\]\\:cursor-w-resize{cursor:w-resize}a.\\[a\\&\\]\\:hover\\:bg-accent:hover{background-color:hsl(var(--accent))}a.\\[a\\&\\]\\:hover\\:bg-destructive\\/90:hover{background-color:hsl(var(--destructive) / .9)}a.\\[a\\&\\]\\:hover\\:bg-primary\\/90:hover{background-color:hsl(var(--primary) / .9)}a.\\[a\\&\\]\\:hover\\:bg-secondary\\/90:hover{background-color:hsl(var(--secondary) / .9)}a.\\[a\\&\\]\\:hover\\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}`;
|
|
72175
72374
|
let stylesInjected = false;
|
|
72176
72375
|
function injectStyles() {
|
|
72177
72376
|
if (stylesInjected || typeof document === "undefined") return;
|