@fileflow/sdk 0.1.3 → 0.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -9,16 +9,26 @@ import { DocumentType as DocumentType_2 } from '@fileflow/shared';
9
9
  import { DriversLicenseData } from '@fileflow/shared';
10
10
  import { ExtractedData } from '@fileflow/shared';
11
11
  import { FraudFlag } from '@fileflow/shared';
12
+ import { getAvailableTemplates } from '@fileflow/shared';
13
+ import { getTemplate } from '@fileflow/shared';
14
+ import { getTemplatesByCategory } from '@fileflow/shared';
15
+ import { getTemplateSchema } from '@fileflow/shared';
16
+ import { IMPORT_TEMPLATES } from '@fileflow/shared';
12
17
  import { ImportResult } from '@fileflow/shared';
13
18
  import { ImportSchema } from '@fileflow/shared';
19
+ import { ImportTemplateMetadata } from '@fileflow/shared';
14
20
  import { KYCDocument } from '@fileflow/shared';
15
21
  import { KYCSession } from '@fileflow/shared';
22
+ import { listTemplates } from '@fileflow/shared';
16
23
  import { ParsedRow } from '@fileflow/shared';
17
24
  import { PassportData } from '@fileflow/shared';
18
25
  import { ProofOfAddressData } from '@fileflow/shared';
19
26
  import { SchemaColumn } from '@fileflow/shared';
20
27
  import { StoreApi } from 'zustand';
28
+ import { templateExists } from '@fileflow/shared';
29
+ import { TemplateId } from '@fileflow/shared';
21
30
  import { UseBoundStore } from 'zustand';
31
+ import { VALID_TEMPLATE_IDS } from '@fileflow/shared';
22
32
  import { ValidationError } from '@fileflow/shared';
23
33
  import { ValidationResults } from '@fileflow/shared';
24
34
 
@@ -177,8 +187,18 @@ declare interface FileUploaderProps {
177
187
 
178
188
  export { FraudFlag }
179
189
 
190
+ export { getAvailableTemplates }
191
+
180
192
  export declare function getClient(): FileFlowClient;
181
193
 
194
+ export { getTemplate }
195
+
196
+ export { getTemplatesByCategory }
197
+
198
+ export { getTemplateSchema }
199
+
200
+ export { IMPORT_TEMPLATES }
201
+
182
202
  declare interface ImportActions {
183
203
  setSchema: (schema: ImportSchema) => void;
184
204
  setSessionId: (sessionId: string) => void;
@@ -237,10 +257,22 @@ export declare interface ImportState {
237
257
 
238
258
  export declare type ImportStep = 'upload' | 'mapping' | 'validation' | 'review' | 'complete';
239
259
 
260
+ export { ImportTemplateMetadata }
261
+
240
262
  export declare const ImportWizard: default_2.FC<ImportWizardProps>;
241
263
 
242
264
  declare interface ImportWizardProps {
243
- schema: ImportSchema;
265
+ /**
266
+ * Template name to use for import schema.
267
+ * Use this instead of schema prop for built-in templates.
268
+ * Available templates: 'sample-contact', 'payspace-batch'
269
+ */
270
+ template?: string;
271
+ /**
272
+ * Custom import schema. Only used if template is not provided.
273
+ * @deprecated Prefer using template prop for built-in schemas
274
+ */
275
+ schema?: ImportSchema;
244
276
  onComplete?: (result: ImportResult) => void;
245
277
  onCancel?: () => void;
246
278
  onError?: (error: Error) => void;
@@ -297,16 +329,24 @@ declare interface KYCWizardProps {
297
329
  onError?: (error: Error) => void;
298
330
  }
299
331
 
332
+ export { listTemplates }
333
+
300
334
  export { PassportData }
301
335
 
302
336
  export { ProofOfAddressData }
303
337
 
304
338
  export { SchemaColumn }
305
339
 
340
+ export { templateExists }
341
+
342
+ export { TemplateId }
343
+
306
344
  export declare const useImportStore: UseBoundStore<StoreApi<ImportState & ImportActions>>;
307
345
 
308
346
  export declare const useKYCStore: UseBoundStore<StoreApi<KYCState & KYCActions>>;
309
347
 
348
+ export { VALID_TEMPLATE_IDS }
349
+
310
350
  export { ValidationResults }
311
351
 
312
352
  export declare const ValidationSummary: default_2.FC<ValidationSummaryProps>;
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./index-BdodGzlO.js"),e=require("./ImportWizard-mc9UDwP3.js"),t=require("./KYCWizard-CRBXY9Np.js");exports.FileFlowClient=r.FileFlowClient;exports.FileFlowError=r.FileFlowError;exports.getClient=r.getClient;exports.initializeClient=r.initializeClient;exports.ColumnMapper=e.ColumnMapper;exports.DataTable=e.DataTable;exports.FileUploader=e.FileUploader;exports.ImportWizard=e.ImportWizard;exports.ValidationSummary=e.ValidationSummary;exports.useImportStore=e.useImportStore;exports.CANADIAN_PROVINCES=t.CANADIAN_PROVINCES;exports.DOCUMENT_TYPES=t.DOCUMENT_TYPES;exports.DocumentStatus=t.DocumentStatus;exports.DocumentUploader=t.DocumentUploader;exports.KYCWizard=t.KYCWizard;exports.useKYCStore=t.useKYCStore;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-VbMSbLb2.js"),t=require("./ImportWizard-D7zGFzbo.js"),a=require("./KYCWizard-VcCyxPjW.js");exports.CANADIAN_PROVINCES=e.CANADIAN_PROVINCES;exports.DOCUMENT_TYPES=e.DOCUMENT_TYPES;exports.FileFlowClient=e.FileFlowClient;exports.FileFlowError=e.FileFlowError;exports.IMPORT_TEMPLATES=e.IMPORT_TEMPLATES;exports.VALID_TEMPLATE_IDS=e.VALID_TEMPLATE_IDS;exports.getAvailableTemplates=e.getAvailableTemplates;exports.getClient=e.getClient;exports.getTemplate=e.getTemplate;exports.getTemplateSchema=e.getTemplateSchema;exports.getTemplatesByCategory=e.getTemplatesByCategory;exports.initializeClient=e.initializeClient;exports.listTemplates=e.listTemplates;exports.templateExists=e.templateExists;exports.ColumnMapper=t.ColumnMapper;exports.DataTable=t.DataTable;exports.FileUploader=t.FileUploader;exports.ImportWizard=t.ImportWizard;exports.ValidationSummary=t.ValidationSummary;exports.useImportStore=t.useImportStore;exports.DocumentStatus=a.DocumentStatus;exports.DocumentUploader=a.DocumentUploader;exports.KYCWizard=a.KYCWizard;exports.useKYCStore=a.useKYCStore;
2
2
  //# sourceMappingURL=index.js.map
package/dist/index.mjs CHANGED
@@ -1,22 +1,30 @@
1
- import { F as o, a as r, g as s, i as t } from "./index-CML_nPxo.mjs";
2
- import { C as l, D as C, F as m, I as p, V as u, u as n } from "./ImportWizard-BkHlsJ8v.mjs";
3
- import { C as F, b as S, a as d, D as I, K as E, u as N } from "./KYCWizard-D3Leb4rK.mjs";
1
+ import { C as s, D as t, F as l, a as o, I as r, V as i, d as m, g as p, b as T, c as C, e as D, i as u, l as E, t as I } from "./index-CEvc89fO.mjs";
2
+ import { C as n, D as g, F as A, I as F, V as d, u as M } from "./ImportWizard-CtAWJz5i.mjs";
3
+ import { a as V, D as _, K as c, u as x } from "./KYCWizard-DpNw8vOY.mjs";
4
4
  export {
5
- F as CANADIAN_PROVINCES,
6
- l as ColumnMapper,
7
- S as DOCUMENT_TYPES,
8
- C as DataTable,
9
- d as DocumentStatus,
10
- I as DocumentUploader,
11
- o as FileFlowClient,
12
- r as FileFlowError,
13
- m as FileUploader,
14
- p as ImportWizard,
15
- E as KYCWizard,
16
- u as ValidationSummary,
17
- s as getClient,
18
- t as initializeClient,
19
- n as useImportStore,
20
- N as useKYCStore
5
+ s as CANADIAN_PROVINCES,
6
+ n as ColumnMapper,
7
+ t as DOCUMENT_TYPES,
8
+ g as DataTable,
9
+ V as DocumentStatus,
10
+ _ as DocumentUploader,
11
+ l as FileFlowClient,
12
+ o as FileFlowError,
13
+ A as FileUploader,
14
+ r as IMPORT_TEMPLATES,
15
+ F as ImportWizard,
16
+ c as KYCWizard,
17
+ i as VALID_TEMPLATE_IDS,
18
+ d as ValidationSummary,
19
+ m as getAvailableTemplates,
20
+ p as getClient,
21
+ T as getTemplate,
22
+ C as getTemplateSchema,
23
+ D as getTemplatesByCategory,
24
+ u as initializeClient,
25
+ E as listTemplates,
26
+ I as templateExists,
27
+ M as useImportStore,
28
+ x as useKYCStore
21
29
  };
22
30
  //# sourceMappingURL=index.mjs.map
package/dist/kyc.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./KYCWizard-CRBXY9Np.js");exports.DocumentStatus=e.DocumentStatus;exports.DocumentUploader=e.DocumentUploader;exports.KYCWizard=e.KYCWizard;exports.useKYCStore=e.useKYCStore;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./KYCWizard-VcCyxPjW.js");exports.DocumentStatus=e.DocumentStatus;exports.DocumentUploader=e.DocumentUploader;exports.KYCWizard=e.KYCWizard;exports.useKYCStore=e.useKYCStore;
2
2
  //# sourceMappingURL=kyc.js.map
package/dist/kyc.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { a as o, D as s, K as t, u as r } from "./KYCWizard-D3Leb4rK.mjs";
1
+ import { a as o, D as s, K as t, u as r } from "./KYCWizard-DpNw8vOY.mjs";
2
2
  export {
3
3
  o as DocumentStatus,
4
4
  s as DocumentUploader,
package/dist/style.css CHANGED
@@ -1 +1 @@
1
- *,: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: }*,: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:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;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:JetBrains Mono,SF Mono,Monaco,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]:where(:not([hidden=until-found])){display:none}.ff-container{width:100%}@media (min-width: 640px){.ff-container{max-width:640px}}@media (min-width: 768px){.ff-container{max-width:768px}}@media (min-width: 1024px){.ff-container{max-width:1024px}}@media (min-width: 1280px){.ff-container{max-width:1280px}}@media (min-width: 1536px){.ff-container{max-width:1536px}}.ff-relative{position:relative}.ff-bottom-full{bottom:100%}.ff-left-1\/2{left:50%}.ff-mx-4{margin-left:1rem;margin-right:1rem}.ff-mx-auto{margin-left:auto;margin-right:auto}.ff-mb-2{margin-bottom:.5rem}.ff-mb-4{margin-bottom:1rem}.ff-mb-6{margin-bottom:1.5rem}.ff-mr-1{margin-right:.25rem}.ff-mr-2{margin-right:.5rem}.ff-mt-0\.5{margin-top:.125rem}.ff-mt-1{margin-top:.25rem}.ff-mt-2{margin-top:.5rem}.ff-block{display:block}.ff-flex{display:flex}.ff-table{display:table}.ff-grid{display:grid}.ff-aspect-\[3\/4\]{aspect-ratio:3/4}.ff-h-0\.5{height:.125rem}.ff-h-10{height:2.5rem}.ff-h-12{height:3rem}.ff-h-16{height:4rem}.ff-h-2{height:.5rem}.ff-h-3{height:.75rem}.ff-h-4{height:1rem}.ff-h-5{height:1.25rem}.ff-h-6{height:1.5rem}.ff-h-8{height:2rem}.ff-h-full{height:100%}.ff-max-h-96{max-height:24rem}.ff-max-h-\[500px\]{max-height:500px}.ff-max-h-\[90vh\]{max-height:90vh}.ff-min-h-0{min-height:0px}.ff-min-h-\[200px\]{min-height:200px}.ff-w-10{width:2.5rem}.ff-w-12{width:3rem}.ff-w-16{width:4rem}.ff-w-2{width:.5rem}.ff-w-3{width:.75rem}.ff-w-4{width:1rem}.ff-w-48{width:12rem}.ff-w-5{width:1.25rem}.ff-w-6{width:1.5rem}.ff-w-8{width:2rem}.ff-w-full{width:100%}.ff-min-w-0{min-width:0px}.ff-max-w-lg{max-width:32rem}.ff-max-w-xl{max-width:36rem}.ff-max-w-xs{max-width:20rem}.ff-flex-1{flex:1 1 0%}.ff-flex-shrink-0{flex-shrink:0}.ff--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))}.ff-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))}.ff-animate-spin{animation:ff-spin 1s linear infinite}.ff-cursor-not-allowed{cursor:not-allowed}.ff-cursor-pointer{cursor:pointer}.ff-select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.ff-list-inside{list-style-position:inside}.ff-list-disc{list-style-type:disc}.ff-grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.ff-flex-col{flex-direction:column}.ff-flex-wrap{flex-wrap:wrap}.ff-items-start{align-items:flex-start}.ff-items-center{align-items:center}.ff-justify-center{justify-content:center}.ff-justify-between{justify-content:space-between}.ff-gap-1{gap:.25rem}.ff-gap-1\.5{gap:.375rem}.ff-gap-2{gap:.5rem}.ff-gap-3{gap:.75rem}.ff-gap-4{gap:1rem}.ff-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))}.ff-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))}.ff-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))}.ff-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))}.ff-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))}.ff-divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.ff-divide-gray-100>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(243 244 246 / var(--tw-divide-opacity, 1))}.ff-overflow-hidden{overflow:hidden}.ff-overflow-y-auto{overflow-y:auto}.ff-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ff-rounded{border-radius:.5rem}.ff-rounded-full{border-radius:9999px}.ff-rounded-lg{border-radius:.5rem}.ff-rounded-xl{border-radius:.75rem}.ff-border{border-width:1px}.ff-border-2{border-width:2px}.ff-border-b{border-bottom-width:1px}.ff-border-t{border-top-width:1px}.ff-border-error-200{--tw-border-opacity: 1;border-color:rgb(243 163 163 / var(--tw-border-opacity, 1))}.ff-border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.ff-border-gray-300{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}.ff-border-green-200{--tw-border-opacity: 1;border-color:rgb(187 247 208 / var(--tw-border-opacity, 1))}.ff-border-success-200{--tw-border-opacity: 1;border-color:rgb(153 223 195 / var(--tw-border-opacity, 1))}.ff-border-success-300{--tw-border-opacity: 1;border-color:rgb(102 207 165 / var(--tw-border-opacity, 1))}.ff-border-warning-200{--tw-border-opacity: 1;border-color:rgb(251 219 153 / var(--tw-border-opacity, 1))}.ff-border-warning-300{--tw-border-opacity: 1;border-color:rgb(249 201 102 / var(--tw-border-opacity, 1))}.ff-bg-error-100{--tw-bg-opacity: 1;background-color:rgb(249 209 209 / var(--tw-bg-opacity, 1))}.ff-bg-error-50{--tw-bg-opacity: 1;background-color:rgb(252 232 232 / var(--tw-bg-opacity, 1))}.ff-bg-error-50\/30{background-color:#fce8e84d}.ff-bg-error-500{--tw-bg-opacity: 1;background-color:rgb(209 52 56 / var(--tw-bg-opacity, 1))}.ff-bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.ff-bg-gray-200{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.ff-bg-gray-300{--tw-bg-opacity: 1;background-color:rgb(209 213 219 / var(--tw-bg-opacity, 1))}.ff-bg-gray-50{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.ff-bg-green-100{--tw-bg-opacity: 1;background-color:rgb(220 252 231 / var(--tw-bg-opacity, 1))}.ff-bg-green-50{--tw-bg-opacity: 1;background-color:rgb(240 253 244 / var(--tw-bg-opacity, 1))}.ff-bg-success-100{--tw-bg-opacity: 1;background-color:rgb(204 239 225 / var(--tw-bg-opacity, 1))}.ff-bg-success-300{--tw-bg-opacity: 1;background-color:rgb(102 207 165 / var(--tw-bg-opacity, 1))}.ff-bg-success-50{--tw-bg-opacity: 1;background-color:rgb(230 247 240 / var(--tw-bg-opacity, 1))}.ff-bg-success-50\/50{background-color:#e6f7f080}.ff-bg-success-500{--tw-bg-opacity: 1;background-color:rgb(0 168 107 / var(--tw-bg-opacity, 1))}.ff-bg-warning-100{--tw-bg-opacity: 1;background-color:rgb(253 237 204 / var(--tw-bg-opacity, 1))}.ff-bg-warning-50{--tw-bg-opacity: 1;background-color:rgb(254 246 230 / var(--tw-bg-opacity, 1))}.ff-bg-warning-50\/50{background-color:#fef6e680}.ff-bg-warning-500{--tw-bg-opacity: 1;background-color:rgb(245 166 35 / var(--tw-bg-opacity, 1))}.ff-bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.ff-object-contain{-o-object-fit:contain;object-fit:contain}.ff-p-1{padding:.25rem}.ff-p-1\.5{padding:.375rem}.ff-p-2{padding:.5rem}.ff-p-3{padding:.75rem}.ff-p-4{padding:1rem}.ff-p-6{padding:1.5rem}.ff-px-2{padding-left:.5rem;padding-right:.5rem}.ff-px-4{padding-left:1rem;padding-right:1rem}.ff-px-6{padding-left:1.5rem;padding-right:1.5rem}.ff-py-1{padding-top:.25rem;padding-bottom:.25rem}.ff-py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.ff-py-12{padding-top:3rem;padding-bottom:3rem}.ff-py-3{padding-top:.75rem;padding-bottom:.75rem}.ff-py-4{padding-top:1rem;padding-bottom:1rem}.ff-text-left{text-align:left}.ff-text-center{text-align:center}.ff-text-right{text-align:right}.ff-font-mono{font-family:JetBrains Mono,SF Mono,Monaco,monospace}.ff-text-2xl{font-size:1.5rem;line-height:2rem}.ff-text-base{font-size:1rem;line-height:1.5rem}.ff-text-lg{font-size:1.125rem;line-height:1.75rem}.ff-text-sm{font-size:.875rem;line-height:1.25rem}.ff-text-xl{font-size:1.25rem;line-height:1.75rem}.ff-text-xs{font-size:.75rem;line-height:1rem}.ff-font-bold{font-weight:700}.ff-font-medium{font-weight:500}.ff-font-semibold{font-weight:600}.ff-text-error-500{--tw-text-opacity: 1;color:rgb(209 52 56 / var(--tw-text-opacity, 1))}.ff-text-error-600{--tw-text-opacity: 1;color:rgb(167 42 45 / var(--tw-text-opacity, 1))}.ff-text-error-700{--tw-text-opacity: 1;color:rgb(125 31 34 / var(--tw-text-opacity, 1))}.ff-text-error-800{--tw-text-opacity: 1;color:rgb(84 21 22 / var(--tw-text-opacity, 1))}.ff-text-gray-300{--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.ff-text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.ff-text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.ff-text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.ff-text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.ff-text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.ff-text-green-600{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity, 1))}.ff-text-green-900{--tw-text-opacity: 1;color:rgb(20 83 45 / var(--tw-text-opacity, 1))}.ff-text-success-600{--tw-text-opacity: 1;color:rgb(0 135 85 / var(--tw-text-opacity, 1))}.ff-text-success-700{--tw-text-opacity: 1;color:rgb(0 102 64 / var(--tw-text-opacity, 1))}.ff-text-success-800{--tw-text-opacity: 1;color:rgb(0 68 42 / var(--tw-text-opacity, 1))}.ff-text-warning-500{--tw-text-opacity: 1;color:rgb(245 166 35 / var(--tw-text-opacity, 1))}.ff-text-warning-600{--tw-text-opacity: 1;color:rgb(196 133 28 / var(--tw-text-opacity, 1))}.ff-text-warning-700{--tw-text-opacity: 1;color:rgb(147 100 21 / var(--tw-text-opacity, 1))}.ff-text-warning-800{--tw-text-opacity: 1;color:rgb(98 66 14 / var(--tw-text-opacity, 1))}.ff-opacity-0{opacity:0}.ff-opacity-50{opacity:.5}.ff-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)}.ff-transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ff-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}.ff-transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ff-container{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1));font-feature-settings:"cv02","cv03","cv04","cv11"}.ff-table-container{position:relative;overflow:auto;border-radius:1rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.ff-table{width:100%;font-size:.875rem;line-height:1.25rem}.ff-table thead{position:sticky;top:0;z-index:10;--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.ff-table th{padding:.75rem 1rem;text-align:left;font-weight:600;--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1));border-bottom-width:2px;--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));font-size:.75rem;line-height:1rem;text-transform:uppercase;letter-spacing:.05em}.ff-table td{border-bottom-width:1px;--tw-border-opacity: 1;border-color:rgb(243 244 246 / var(--tw-border-opacity, 1));padding:.75rem 1rem;--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.ff-table tbody tr{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ff-table tbody tr:hover{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.ff-cell-error{border-left-width:4px;--tw-border-opacity: 1;border-left-color:rgb(239 68 68 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.ff-cell-warning{border-left-width:4px;--tw-border-opacity: 1;border-left-color:rgb(245 158 11 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 251 235 / var(--tw-bg-opacity, 1))}.ff-cell-editing{--tw-bg-opacity: 1;background-color:rgb(236 253 245 / var(--tw-bg-opacity, 1));--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);--tw-ring-opacity: 1;--tw-ring-color: rgb(52 211 153 / var(--tw-ring-opacity, 1))}.ff-cell-success{--tw-bg-opacity: 1;background-color:rgb(236 253 245 / var(--tw-bg-opacity, 1))}.ff-input{width:100%;border-radius:.75rem;border-width:2px;--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));padding:.75rem 1rem;font-size:.875rem;line-height:1.25rem;--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.ff-input::-moz-placeholder{--tw-placeholder-opacity: 1;color:rgb(156 163 175 / var(--tw-placeholder-opacity, 1))}.ff-input::placeholder{--tw-placeholder-opacity: 1;color:rgb(156 163 175 / var(--tw-placeholder-opacity, 1))}.ff-input{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.ff-input:hover{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}.ff-input:focus{--tw-border-opacity: 1;border-color:rgb(52 211 153 / var(--tw-border-opacity, 1));outline:2px solid transparent;outline-offset:2px;--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);--tw-ring-opacity: 1;--tw-ring-color: rgb(209 250 229 / var(--tw-ring-opacity, 1))}.ff-input-error{--tw-border-opacity: 1;border-color:rgb(239 68 68 / var(--tw-border-opacity, 1))}.ff-input-error:focus{--tw-border-opacity: 1;border-color:rgb(239 68 68 / var(--tw-border-opacity, 1));--tw-ring-opacity: 1;--tw-ring-color: rgb(254 226 226 / var(--tw-ring-opacity, 1))}.ff-select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;border-radius:.75rem;border-width:2px;--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));padding:.75rem 1rem;font-size:.875rem;line-height:1.25rem;--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.ff-select::-moz-placeholder{--tw-placeholder-opacity: 1;color:rgb(156 163 175 / var(--tw-placeholder-opacity, 1))}.ff-select::placeholder{--tw-placeholder-opacity: 1;color:rgb(156 163 175 / var(--tw-placeholder-opacity, 1))}.ff-select{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.ff-select:hover{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}.ff-select:focus{--tw-border-opacity: 1;border-color:rgb(52 211 153 / var(--tw-border-opacity, 1));outline:2px solid transparent;outline-offset:2px;--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);--tw-ring-opacity: 1;--tw-ring-color: rgb(209 250 229 / var(--tw-ring-opacity, 1))}.ff-select{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right .75rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem}.ff-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:.75rem;padding:.75rem 1.25rem;font-size:.875rem;line-height:1.25rem;font-weight:600;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.ff-btn:disabled{cursor:not-allowed;opacity:.5}.ff-btn-primary{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1));background-color:#9fe870}.ff-btn-primary:hover:not(:disabled){background-color:#7ed94a;transform:translateY(-1px);box-shadow:0 4px 12px -2px #0000001f}.ff-btn-primary:active:not(:disabled){background-color:#5fc02a;transform:translateY(0)}.ff-btn-secondary{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1));background-color:#0a2540}.ff-btn-secondary:hover:not(:disabled){background-color:#254063;transform:translateY(-1px);box-shadow:0 4px 12px -2px #0000001f}.ff-btn-outline{border-width:2px;--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.ff-btn-outline:hover:not(:disabled){--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.ff-btn-ghost{background-color:transparent;--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.ff-btn-ghost:hover:not(:disabled){--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.ff-btn-danger{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.ff-btn-danger:hover:not(:disabled){--tw-bg-opacity: 1;background-color:rgb(220 38 38 / var(--tw-bg-opacity, 1));transform:translateY(-1px)}.ff-btn-sm{border-radius:.5rem;padding:.5rem 1rem;font-size:.875rem;line-height:1.25rem}.ff-btn-lg{border-radius:1rem;padding:1rem 2rem;font-size:1rem;line-height:1.5rem}.ff-dropzone{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:1rem;border-width:2px;border-style:dashed;--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1));padding:2.5rem;cursor:pointer;--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1));transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.ff-dropzone *{pointer-events:none}.ff-dropzone input{pointer-events:auto}.ff-dropzone:hover{--tw-border-opacity: 1;border-color:rgb(52 211 153 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(236 253 245 / var(--tw-bg-opacity, 1))}.ff-dropzone-active{--tw-border-opacity: 1;border-color:rgb(52 211 153 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(236 253 245 / var(--tw-bg-opacity, 1));transform:scale(1.01)}.ff-dropzone-icon{margin-bottom:1rem;height:4rem;width:4rem;--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.ff-dropzone:hover .ff-dropzone-icon{--tw-text-opacity: 1;color:rgb(16 185 129 / var(--tw-text-opacity, 1))}.ff-dropzone-text{margin-bottom:.25rem;font-size:1rem;line-height:1.5rem;font-weight:500;--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.ff-dropzone-hint{font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.ff-badge{display:inline-flex;align-items:center;border-radius:9999px;padding:.25rem .75rem;font-size:.75rem;line-height:1rem;font-weight:600}.ff-badge-error{--tw-bg-opacity: 1;background-color:rgb(254 226 226 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(185 28 28 / var(--tw-text-opacity, 1))}.ff-badge-warning{--tw-bg-opacity: 1;background-color:rgb(254 243 199 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(180 83 9 / var(--tw-text-opacity, 1))}.ff-badge-success{--tw-bg-opacity: 1;background-color:rgb(209 250 229 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(4 120 87 / var(--tw-text-opacity, 1))}.ff-badge-info{--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity, 1))}.ff-badge-neutral{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.ff-badge-wise{background-color:#ddf9c8;color:#2e5c1b}.ff-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:center;justify-content:center;background-color:#0a254099;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.ff-modal{max-height:90vh;width:100%;max-width:56rem;overflow:hidden;border-radius:1.5rem;--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));margin-left:1rem;margin-right:1rem;box-shadow:0 25px 50px -12px #00000040;animation:modalSlideUp .3s ease-out}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.ff-modal-header{display:flex;align-items:center;justify-content:space-between;border-bottom-width:1px;--tw-border-opacity: 1;border-color:rgb(243 244 246 / var(--tw-border-opacity, 1));padding:1.25rem 1.5rem}.ff-modal-title{font-size:1.25rem;line-height:1.75rem;font-weight:600;--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.ff-modal-body{overflow:auto;padding:1.5rem}.ff-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top-width:1px;--tw-border-opacity: 1;border-color:rgb(243 244 246 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.ff-progress{height:.5rem;overflow:hidden;border-radius:9999px;--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.ff-progress-bar{height:100%;border-radius:9999px;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.5s;transition-timing-function:cubic-bezier(0,0,.2,1);background-color:#9fe870}.ff-progress-bar-animated{background:linear-gradient(90deg,#9fe870,#7ed94a,#9fe870);background-size:200% 100%;animation:shimmer 2s linear infinite}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.ff-tooltip{position:absolute;z-index:50;border-radius:.5rem;padding:.5rem .75rem;font-size:.75rem;line-height:1rem;font-weight:500;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1));visibility:hidden;opacity:0;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;background-color:#0a2540;box-shadow:0 4px 12px -2px #0003}.ff-tooltip-visible{visibility:visible;opacity:1}.ff-spinner{height:1.25rem;width:1.25rem}@keyframes ff-spin{to{transform:rotate(360deg)}}.ff-spinner{animation:ff-spin 1s linear infinite;border-radius:9999px;border-width:2px;--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));border-top-color:#9fe870}.ff-spinner-lg{height:2rem;width:2rem;border-width:3px}.ff-document-preview{position:relative;overflow:hidden;border-radius:1rem;--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.ff-document-preview img{height:auto;width:100%;-o-object-fit:contain;object-fit:contain}.ff-mapping-row{display:flex;align-items:center;gap:1rem;border-radius:.75rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding:1rem;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.ff-mapping-row:hover{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.ff-mapping-source{flex:1 1 0%;border-radius:.5rem;--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1));padding:.5rem 1rem;font-family:JetBrains Mono,SF Mono,Monaco,monospace;font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.ff-mapping-arrow{flex-shrink:0;--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.ff-mapping-target{flex:1 1 0%}.ff-confidence{display:inline-flex;align-items:center;gap:.375rem;font-size:.75rem;line-height:1rem;font-weight:500}.ff-confidence-high{--tw-text-opacity: 1;color:rgb(5 150 105 / var(--tw-text-opacity, 1))}.ff-confidence-medium{--tw-text-opacity: 1;color:rgb(217 119 6 / var(--tw-text-opacity, 1))}.ff-confidence-low{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.ff-confidence-bar{height:.375rem;border-radius:9999px;--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.ff-confidence-bar-fill{height:100%;border-radius:9999px;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.ff-steps{display:flex;align-items:center;gap:.5rem}.ff-step{display:flex;height:2rem;width:2rem;align-items:center;justify-content:center;border-radius:9999px;font-size:.875rem;line-height:1.25rem;font-weight:600;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.ff-step-pending{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.ff-step-active{background-color:#9fe870;color:#163300}.ff-step-complete{background-color:#5fc02a;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.ff-step-connector{height:.125rem;width:2rem;--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1));transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.ff-step-connector-complete{background-color:#7ed94a}.ff-validation-summary{border-radius:.75rem;border-width:1px;padding:1rem}.ff-validation-summary-error{--tw-border-opacity: 1;border-color:rgb(254 202 202 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.ff-validation-summary-warning{--tw-border-opacity: 1;border-color:rgb(253 230 138 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 251 235 / var(--tw-bg-opacity, 1))}.ff-validation-summary-success{--tw-border-opacity: 1;border-color:rgb(167 243 208 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(236 253 245 / var(--tw-bg-opacity, 1))}.ff-card{border-radius:1rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));box-shadow:0 2px 8px -2px #0000000a}.ff-card-hover{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.ff-card-hover:hover{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1));box-shadow:0 8px 24px -4px #00000014;transform:translateY(-2px)}.ff-status{display:inline-flex;align-items:center;gap:.5rem}.ff-status-dot{height:.5rem;width:.5rem;border-radius:9999px}.ff-status-dot-success{--tw-bg-opacity: 1;background-color:rgb(16 185 129 / var(--tw-bg-opacity, 1))}.ff-status-dot-warning{--tw-bg-opacity: 1;background-color:rgb(245 158 11 / var(--tw-bg-opacity, 1))}.ff-status-dot-error{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1))}.ff-status-dot-pending{--tw-bg-opacity: 1;background-color:rgb(156 163 175 / var(--tw-bg-opacity, 1))}.ff-status-dot-processing{animation:ff-pulse 2s cubic-bezier(.4,0,.6,1) infinite;--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity, 1))}.ff-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding-top:3rem;padding-bottom:3rem;text-align:center}.ff-empty-state-icon{margin-bottom:1rem;height:4rem;width:4rem;--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.ff-empty-state-title{margin-bottom:.5rem;font-size:1.125rem;line-height:1.75rem;font-weight:600;--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.ff-empty-state-description{max-width:24rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}@keyframes ff-pulse{50%{opacity:.5}}.ff-skeleton{animation:ff-pulse 2s cubic-bezier(.4,0,.6,1) infinite;border-radius:.5rem;--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.ff-skeleton-text{height:1rem;border-radius:.5rem}.ff-skeleton-title{height:1.5rem;width:75%;border-radius:.5rem}.ff-skeleton-avatar{height:2.5rem;width:2.5rem;border-radius:9999px}.ff-fade-in{animation:fadeIn .3s ease-out}.ff-slide-up{animation:slideUp .3s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.hover\:ff-bg-error-50:hover{--tw-bg-opacity: 1;background-color:rgb(252 232 232 / var(--tw-bg-opacity, 1))}.hover\:ff-bg-gray-100:hover{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.hover\:ff-bg-green-100:hover{--tw-bg-opacity: 1;background-color:rgb(220 252 231 / var(--tw-bg-opacity, 1))}.hover\:ff-bg-success-50:hover{--tw-bg-opacity: 1;background-color:rgb(230 247 240 / var(--tw-bg-opacity, 1))}.hover\:ff-text-gray-600:hover{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.hover\:ff-text-green-800:hover{--tw-text-opacity: 1;color:rgb(22 101 52 / var(--tw-text-opacity, 1))}.ff-group:hover .group-hover\:ff-opacity-100{opacity:1}
1
+ *,: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: }*,: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:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;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:JetBrains Mono,SF Mono,Monaco,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]:where(:not([hidden=until-found])){display:none}.ff-container{width:100%}@media (min-width: 640px){.ff-container{max-width:640px}}@media (min-width: 768px){.ff-container{max-width:768px}}@media (min-width: 1024px){.ff-container{max-width:1024px}}@media (min-width: 1280px){.ff-container{max-width:1280px}}@media (min-width: 1536px){.ff-container{max-width:1536px}}.ff-relative{position:relative}.ff-bottom-full{bottom:100%}.ff-left-1\/2{left:50%}.ff-mx-4{margin-left:1rem;margin-right:1rem}.ff-mx-auto{margin-left:auto;margin-right:auto}.ff-mb-2{margin-bottom:.5rem}.ff-mb-4{margin-bottom:1rem}.ff-mb-6{margin-bottom:1.5rem}.ff-mr-1{margin-right:.25rem}.ff-mr-2{margin-right:.5rem}.ff-mt-0\.5{margin-top:.125rem}.ff-mt-1{margin-top:.25rem}.ff-mt-2{margin-top:.5rem}.ff-block{display:block}.ff-flex{display:flex}.ff-table{display:table}.ff-grid{display:grid}.ff-aspect-\[3\/4\]{aspect-ratio:3/4}.ff-h-0\.5{height:.125rem}.ff-h-10{height:2.5rem}.ff-h-12{height:3rem}.ff-h-16{height:4rem}.ff-h-2{height:.5rem}.ff-h-3{height:.75rem}.ff-h-4{height:1rem}.ff-h-5{height:1.25rem}.ff-h-6{height:1.5rem}.ff-h-8{height:2rem}.ff-h-full{height:100%}.ff-max-h-96{max-height:24rem}.ff-max-h-\[500px\]{max-height:500px}.ff-max-h-\[90vh\]{max-height:90vh}.ff-min-h-0{min-height:0px}.ff-min-h-\[200px\]{min-height:200px}.ff-w-10{width:2.5rem}.ff-w-12{width:3rem}.ff-w-16{width:4rem}.ff-w-2{width:.5rem}.ff-w-3{width:.75rem}.ff-w-4{width:1rem}.ff-w-48{width:12rem}.ff-w-5{width:1.25rem}.ff-w-6{width:1.5rem}.ff-w-8{width:2rem}.ff-w-full{width:100%}.ff-min-w-0{min-width:0px}.ff-max-w-lg{max-width:32rem}.ff-max-w-md{max-width:28rem}.ff-max-w-xl{max-width:36rem}.ff-max-w-xs{max-width:20rem}.ff-flex-1{flex:1 1 0%}.ff-flex-shrink-0{flex-shrink:0}.ff--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))}.ff-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))}.ff-animate-spin{animation:ff-spin 1s linear infinite}.ff-cursor-not-allowed{cursor:not-allowed}.ff-cursor-pointer{cursor:pointer}.ff-select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.ff-list-inside{list-style-position:inside}.ff-list-disc{list-style-type:disc}.ff-grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.ff-flex-col{flex-direction:column}.ff-flex-wrap{flex-wrap:wrap}.ff-items-start{align-items:flex-start}.ff-items-center{align-items:center}.ff-justify-center{justify-content:center}.ff-justify-between{justify-content:space-between}.ff-gap-1{gap:.25rem}.ff-gap-1\.5{gap:.375rem}.ff-gap-2{gap:.5rem}.ff-gap-3{gap:.75rem}.ff-gap-4{gap:1rem}.ff-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))}.ff-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))}.ff-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))}.ff-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))}.ff-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))}.ff-divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.ff-divide-gray-100>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(132 130 128 / var(--tw-divide-opacity, 1))}.ff-overflow-hidden{overflow:hidden}.ff-overflow-y-auto{overflow-y:auto}.ff-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ff-rounded{border-radius:.5rem}.ff-rounded-full{border-radius:9999px}.ff-rounded-lg{border-radius:.75rem}.ff-rounded-xl{border-radius:1rem}.ff-border{border-width:1px}.ff-border-2{border-width:2px}.ff-border-b{border-bottom-width:1px}.ff-border-t{border-top-width:1px}.ff-border-error-200{--tw-border-opacity: 1;border-color:rgb(254 202 202 / var(--tw-border-opacity, 1))}.ff-border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.ff-border-gray-300{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}.ff-border-green-200{--tw-border-opacity: 1;border-color:rgb(187 247 208 / var(--tw-border-opacity, 1))}.ff-border-primary-200{--tw-border-opacity: 1;border-color:rgb(227 235 246 / var(--tw-border-opacity, 1))}.ff-border-success-200{--tw-border-opacity: 1;border-color:rgb(184 225 174 / var(--tw-border-opacity, 1))}.ff-border-success-300{--tw-border-opacity: 1;border-color:rgb(138 204 122 / var(--tw-border-opacity, 1))}.ff-border-warning-200{--tw-border-opacity: 1;border-color:rgb(253 230 138 / var(--tw-border-opacity, 1))}.ff-border-warning-300{--tw-border-opacity: 1;border-color:rgb(252 211 77 / var(--tw-border-opacity, 1))}.ff-bg-error-100{--tw-bg-opacity: 1;background-color:rgb(254 226 226 / var(--tw-bg-opacity, 1))}.ff-bg-error-50{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.ff-bg-error-50\/30{background-color:#fef2f24d}.ff-bg-error-500{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1))}.ff-bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(132 130 128 / var(--tw-bg-opacity, 1))}.ff-bg-gray-200{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.ff-bg-gray-30{--tw-bg-opacity: 1;background-color:rgb(240 239 237 / var(--tw-bg-opacity, 1))}.ff-bg-gray-300{--tw-bg-opacity: 1;background-color:rgb(209 213 219 / var(--tw-bg-opacity, 1))}.ff-bg-gray-50{--tw-bg-opacity: 1;background-color:rgb(226 224 221 / var(--tw-bg-opacity, 1))}.ff-bg-green-100{--tw-bg-opacity: 1;background-color:rgb(220 252 231 / var(--tw-bg-opacity, 1))}.ff-bg-green-50{--tw-bg-opacity: 1;background-color:rgb(240 253 244 / var(--tw-bg-opacity, 1))}.ff-bg-primary-100{--tw-bg-opacity: 1;background-color:rgb(240 244 250 / var(--tw-bg-opacity, 1))}.ff-bg-primary-50{--tw-bg-opacity: 1;background-color:rgb(248 250 253 / var(--tw-bg-opacity, 1))}.ff-bg-success-100{--tw-bg-opacity: 1;background-color:rgb(208 235 201 / var(--tw-bg-opacity, 1))}.ff-bg-success-300{--tw-bg-opacity: 1;background-color:rgb(138 204 122 / var(--tw-bg-opacity, 1))}.ff-bg-success-50{--tw-bg-opacity: 1;background-color:rgb(231 245 228 / var(--tw-bg-opacity, 1))}.ff-bg-success-50\/50{background-color:#e7f5e480}.ff-bg-success-500{--tw-bg-opacity: 1;background-color:rgb(41 142 51 / var(--tw-bg-opacity, 1))}.ff-bg-warning-100{--tw-bg-opacity: 1;background-color:rgb(254 243 199 / var(--tw-bg-opacity, 1))}.ff-bg-warning-50{--tw-bg-opacity: 1;background-color:rgb(255 251 235 / var(--tw-bg-opacity, 1))}.ff-bg-warning-50\/50{background-color:#fffbeb80}.ff-bg-warning-500{--tw-bg-opacity: 1;background-color:rgb(245 158 11 / var(--tw-bg-opacity, 1))}.ff-bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.ff-object-contain{-o-object-fit:contain;object-fit:contain}.ff-p-1{padding:.25rem}.ff-p-1\.5{padding:.375rem}.ff-p-2{padding:.5rem}.ff-p-3{padding:.75rem}.ff-p-4{padding:1rem}.ff-p-6{padding:1.5rem}.ff-px-2{padding-left:.5rem;padding-right:.5rem}.ff-px-3{padding-left:.75rem;padding-right:.75rem}.ff-px-4{padding-left:1rem;padding-right:1rem}.ff-px-6{padding-left:1.5rem;padding-right:1.5rem}.ff-py-1{padding-top:.25rem;padding-bottom:.25rem}.ff-py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.ff-py-12{padding-top:3rem;padding-bottom:3rem}.ff-py-3{padding-top:.75rem;padding-bottom:.75rem}.ff-py-4{padding-top:1rem;padding-bottom:1rem}.ff-py-8{padding-top:2rem;padding-bottom:2rem}.ff-text-left{text-align:left}.ff-text-center{text-align:center}.ff-text-right{text-align:right}.ff-font-mono{font-family:JetBrains Mono,SF Mono,Monaco,monospace}.ff-text-2xl{font-size:1.5rem;line-height:2rem}.ff-text-base{font-size:1rem;line-height:1.5rem}.ff-text-lg{font-size:1.125rem;line-height:1.75rem}.ff-text-sm{font-size:.875rem;line-height:1.25rem}.ff-text-xl{font-size:1.25rem;line-height:1.75rem}.ff-text-xs{font-size:.75rem;line-height:1rem}.ff-font-bold{font-weight:700}.ff-font-medium{font-weight:500}.ff-font-semibold{font-weight:600}.ff-text-error-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.ff-text-error-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.ff-text-error-700{--tw-text-opacity: 1;color:rgb(185 28 28 / var(--tw-text-opacity, 1))}.ff-text-error-800{--tw-text-opacity: 1;color:rgb(153 27 27 / var(--tw-text-opacity, 1))}.ff-text-gray-110{--tw-text-opacity: 1;color:rgb(101 100 97 / var(--tw-text-opacity, 1))}.ff-text-gray-300{--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.ff-text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.ff-text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.ff-text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.ff-text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.ff-text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.ff-text-green-600{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity, 1))}.ff-text-green-900{--tw-text-opacity: 1;color:rgb(20 83 45 / var(--tw-text-opacity, 1))}.ff-text-primary-600{--tw-text-opacity: 1;color:rgb(143 168 217 / var(--tw-text-opacity, 1))}.ff-text-primary-900{--tw-text-opacity: 1;color:rgb(68 99 181 / var(--tw-text-opacity, 1))}.ff-text-success-600{--tw-text-opacity: 1;color:rgb(35 122 44 / var(--tw-text-opacity, 1))}.ff-text-success-700{--tw-text-opacity: 1;color:rgb(31 60 32 / var(--tw-text-opacity, 1))}.ff-text-success-800{--tw-text-opacity: 1;color:rgb(26 51 25 / var(--tw-text-opacity, 1))}.ff-text-warning-500{--tw-text-opacity: 1;color:rgb(245 158 11 / var(--tw-text-opacity, 1))}.ff-text-warning-600{--tw-text-opacity: 1;color:rgb(217 119 6 / var(--tw-text-opacity, 1))}.ff-text-warning-700{--tw-text-opacity: 1;color:rgb(180 83 9 / var(--tw-text-opacity, 1))}.ff-text-warning-800{--tw-text-opacity: 1;color:rgb(146 64 14 / var(--tw-text-opacity, 1))}.ff-text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.ff-opacity-0{opacity:0}.ff-opacity-50{opacity:.5}.ff-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)}.ff-transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ff-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}.ff-transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}:root{--ff-primary-10: #f9fafb;--ff-primary-20: #eef0f6;--ff-primary-30: #e2e6f0;--ff-primary-40: #dce1ec;--ff-primary-50: #d7e1f2;--ff-primary-60: #c6d6f0;--ff-primary-70: #c0d0ed;--ff-primary-80: #b9cbeb;--ff-primary-90: #728ab3;--ff-primary-100: #6980a5;--ff-primary-110: #4f6180;--ff-primary-120: #132036;--ff-primary-500: #d7e1f2;--ff-primary-600: #c0d0ed;--ff-brown-10: #f0ece8;--ff-brown-20: #d4c4ba;--ff-brown-30: #b59f8c;--ff-brown-40: #a68c74;--ff-brown-50: #97795d;--ff-brown-60: #8a6447;--ff-brown-70: #7a522f;--ff-brown-80: #6b3f18;--ff-brown-90: #613916;--ff-brown-100: #563213;--ff-brown-110: #4b2c11;--ff-brown-120: #36200c;--ff-primary-text: #6b3f18;--ff-gray-white: #ffffff;--ff-gray-10: #fcfcfb;--ff-gray-20: #f9f9f7;--ff-gray-30: #f0efed;--ff-gray-40: #e9e8e4;--ff-gray-50: #e2e0dd;--ff-gray-60: #dadad5;--ff-gray-70: #cfceca;--ff-gray-80: #bcbbb7;--ff-gray-90: #8e8d89;--ff-gray-100: #848280;--ff-gray-110: #656461;--ff-gray-120: #21201d;--ff-bg-primary: var(--ff-gray-white);--ff-bg-secondary: var(--ff-gray-10);--ff-bg-tertiary: var(--ff-gray-30);--ff-bg-brand: var(--ff-primary-50);--ff-bg-brand-light: var(--ff-primary-20);--ff-text-primary: var(--ff-gray-120);--ff-text-secondary: var(--ff-gray-110);--ff-text-muted: var(--ff-gray-90);--ff-text-supportive: var(--ff-gray-80);--ff-text-inverse: var(--ff-gray-white);--ff-text-link: var(--ff-primary-90);--ff-text-brand: var(--ff-brown-80);--ff-border-light: var(--ff-gray-30);--ff-border-default: var(--ff-gray-40);--ff-border-dark: var(--ff-gray-70);--ff-border-brand: var(--ff-brown-80);--ff-border-focus: var(--ff-primary-70);--ff-icon-default: var(--ff-gray-90);--ff-icon-active: var(--ff-gray-120);--ff-icon-muted: var(--ff-gray-80);--ff-icon-brand: var(--ff-brown-80);--ff-icon-inverse: var(--ff-gray-white);--ff-success-light: #e7f5e4;--ff-success: #298e33;--ff-success-dark: #1f3c20;--ff-warning-light: #ffe6c1;--ff-warning: #a86807;--ff-warning-dark: #4a3723;--ff-error-light: #fcdede;--ff-error: #d43338;--ff-error-dark: #641a1a;--ff-focus-ring: rgba(192, 208, 237, .5);--ff-focus-ring-accent: rgba(168, 85, 247, .25);--ff-accent-50: #faf5ff;--ff-accent-100: #f3e8ff;--ff-accent-200: #e9d5ff;--ff-accent-300: #d8b4fe;--ff-accent-400: #c084fc;--ff-accent-500: #a855f7;--ff-accent-600: #9333ea;--ff-accent-700: #7c3aed;--ff-accent-800: #6b21a8;--ff-accent-900: #581c87;--ff-navy-950: #1a2029}.ff-container{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:var(--ff-text-primary);font-feature-settings:"cv02","cv03","cv04","cv11"}.ff-table-container{position:relative;overflow:auto;border-radius:1rem;border-width:1px;border-color:var(--ff-border-light);background-color:var(--ff-bg-primary)}.ff-table{width:100%;font-size:.875rem;line-height:1.25rem}.ff-table thead{position:sticky;top:0;z-index:10;background-color:var(--ff-bg-secondary)}.ff-table th{padding:.75rem 1rem;text-align:left;font-size:.75rem;line-height:1rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--ff-text-secondary);border-bottom:2px solid var(--ff-border-light)}.ff-table td{padding:.75rem 1rem;color:var(--ff-text-primary);border-bottom:1px solid var(--ff-border-light)}.ff-table tbody tr{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ff-table tbody tr:hover{background-color:var(--ff-bg-secondary)}.ff-cell-error{border-left-width:4px;background-color:#fef2f2;border-left-color:#ef4444}.ff-cell-warning{border-left-width:4px;background-color:#fffbeb;border-left-color:#f59e0b}.ff-cell-editing{--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);background-color:var(--ff-primary-50);--tw-ring-color: var(--ff-primary-400)}.ff-cell-success{background-color:#f0fdf4}.ff-input{width:100%;border-radius:.75rem;border-width:1px;padding:.75rem 1rem;font-size:.875rem;line-height:1.25rem;border-color:var(--ff-border-default);background-color:var(--ff-bg-primary);color:var(--ff-text-primary);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.ff-input::-moz-placeholder{color:var(--ff-text-muted)}.ff-input::placeholder{color:var(--ff-text-muted)}.ff-input:hover{border-color:var(--ff-border-dark)}.ff-input:focus{outline:2px solid transparent;outline-offset:2px;--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);border-color:var(--ff-primary-500);--tw-ring-color: var(--ff-focus-ring)}.ff-input-error{border-color:#ef4444}.ff-input-error:focus{border-color:#ef4444;--tw-ring-color: rgba(239, 68, 68, .2)}.ff-select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:2.5rem;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%2378716c' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right .75rem center;background-repeat:no-repeat;background-size:1.25em 1.25em}.ff-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:.75rem;padding:.625rem 1.25rem;font-size:.875rem;line-height:1.25rem;font-weight:600;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;border-width:1px;border-color:transparent}.ff-btn:disabled{cursor:not-allowed;opacity:.5}.ff-btn-primary{background-color:var(--ff-primary-500);color:var(--ff-primary-text);font-weight:600}.ff-btn-primary:hover:not(:disabled){background-color:var(--ff-primary-600);transform:translateY(-1px);box-shadow:0 4px 12px -2px #d7e1f280}.ff-btn-primary:active:not(:disabled){background-color:var(--ff-primary-700);transform:translateY(0)}.ff-btn-primary:focus{outline:2px solid transparent;outline-offset:2px;--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);--tw-ring-color: var(--ff-focus-ring)}.ff-btn-secondary{background-color:var(--ff-bg-primary);color:var(--ff-text-primary);border-color:var(--ff-border-default)}.ff-btn-secondary:hover:not(:disabled){background-color:var(--ff-bg-secondary);border-color:var(--ff-border-dark)}.ff-btn-secondary:active:not(:disabled){background-color:var(--ff-bg-tertiary)}.ff-btn-ghost{background-color:transparent;color:var(--ff-text-secondary)}.ff-btn-ghost:hover:not(:disabled){background-color:var(--ff-bg-secondary);color:var(--ff-text-primary)}.ff-btn-accent{background-color:var(--ff-accent-500);color:var(--ff-text-inverse)}.ff-btn-accent:hover:not(:disabled){background-color:var(--ff-accent-600);transform:translateY(-1px);box-shadow:0 4px 12px -2px #a855f74d}.ff-btn-accent:active:not(:disabled){background-color:var(--ff-accent-700);transform:translateY(0)}.ff-btn-accent:focus{outline:2px solid transparent;outline-offset:2px;--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);--tw-ring-color: var(--ff-focus-ring-accent)}.ff-btn-danger{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.ff-btn-danger:hover:not(:disabled){--tw-bg-opacity: 1;background-color:rgb(220 38 38 / var(--tw-bg-opacity, 1));transform:translateY(-1px)}.ff-btn-link{background-color:transparent;color:var(--ff-primary-text);padding:.25rem .5rem}.ff-btn-link:hover:not(:disabled){color:#4a2a10;text-decoration:underline}.ff-btn-sm{border-radius:.375rem;padding:.5rem .75rem;font-size:.875rem;line-height:1.25rem}.ff-btn-lg{border-radius:1rem;padding:.75rem 1.5rem;font-size:1rem;line-height:1.5rem}.ff-checkbox{height:1.25rem;width:1.25rem;cursor:pointer;border-radius:.5rem;border-width:2px;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;border-color:var(--ff-border-default);background-color:var(--ff-bg-primary)}.ff-checkbox:hover{border-color:var(--ff-primary-400)}.ff-checkbox:checked{background-color:var(--ff-primary-500);border-color:var(--ff-primary-500);background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e")}.ff-checkbox:focus{outline:2px solid transparent;outline-offset:2px;--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);--tw-ring-color: var(--ff-focus-ring)}.ff-radio{height:1.25rem;width:1.25rem;cursor:pointer;border-radius:9999px;border-width:2px;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;border-color:var(--ff-border-default);background-color:var(--ff-bg-primary)}.ff-radio:checked{border-color:var(--ff-primary-500);border-width:6px}.ff-radio:focus{outline:2px solid transparent;outline-offset:2px;--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);--tw-ring-color: var(--ff-focus-ring)}.ff-toggle{position:relative;height:1.5rem;width:2.75rem;cursor:pointer;border-radius:9999px;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;background-color:var(--ff-border-default)}.ff-toggle:after{position:absolute;top:.125rem;left:.125rem;height:1.25rem;width:1.25rem;border-radius:9999px;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;content:"";background-color:var(--ff-bg-primary);box-shadow:0 1px 3px #0000001a}.ff-toggle:checked{background-color:var(--ff-primary-500)}.ff-toggle:checked:after{transform:translate(1.25rem)}.ff-dropzone{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:1rem;border-width:2px;border-style:dashed;padding:2.5rem;cursor:pointer;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;border-color:var(--ff-border-default);background-color:var(--ff-bg-secondary)}.ff-dropzone *{pointer-events:none}.ff-dropzone input{pointer-events:auto}.ff-dropzone:hover{border-color:var(--ff-primary-400);background-color:var(--ff-primary-50)}.ff-dropzone-active{border-color:var(--ff-primary-500);background-color:var(--ff-primary-50);transform:scale(1.01)}.ff-dropzone-icon{margin-bottom:1rem;height:4rem;width:4rem;color:var(--ff-text-muted)}.ff-dropzone:hover .ff-dropzone-icon{color:var(--ff-primary-500)}.ff-dropzone-text{margin-bottom:.25rem;font-size:1rem;line-height:1.5rem;font-weight:500;color:var(--ff-text-primary)}.ff-dropzone-hint{font-size:.875rem;line-height:1.25rem;color:var(--ff-text-muted)}.ff-badge{display:inline-flex;align-items:center;border-radius:9999px;padding:.25rem .625rem;font-size:.75rem;line-height:1rem;font-weight:600}.ff-badge-error{background-color:#fef2f2;color:#dc2626}.ff-badge-warning{background-color:#fffbeb;color:#d97706}.ff-badge-success{background-color:#f0fdf4;color:#16a34a}.ff-badge-info{background-color:#eff6ff;color:#2563eb}.ff-badge-neutral{background-color:var(--ff-bg-tertiary);color:var(--ff-text-secondary)}.ff-badge-primary{background-color:var(--ff-primary-100);color:var(--ff-primary-700)}.ff-badge-accent{background-color:var(--ff-accent-100);color:var(--ff-accent-700)}.ff-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:center;justify-content:center;background-color:#1c191780;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.ff-modal{max-height:90vh;width:100%;max-width:56rem;overflow:hidden;border-radius:1.25rem;margin-left:1rem;margin-right:1rem;background-color:var(--ff-bg-primary);box-shadow:0 25px 50px -12px #00000040;animation:modalSlideUp .3s ease-out}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.ff-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--ff-border-light)}.ff-modal-title{font-size:1.25rem;line-height:1.75rem;font-weight:600;color:var(--ff-text-primary)}.ff-modal-body{overflow:auto;padding:1.5rem}.ff-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;background-color:var(--ff-bg-secondary);border-top:1px solid var(--ff-border-light)}.ff-progress{height:.5rem;overflow:hidden;border-radius:9999px;background-color:var(--ff-bg-tertiary)}.ff-progress-bar{height:100%;border-radius:9999px;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.5s;transition-timing-function:cubic-bezier(0,0,.2,1);background-color:var(--ff-primary-500)}.ff-progress-bar-animated{background:linear-gradient(90deg,var(--ff-primary-400) 0%,var(--ff-primary-500) 50%,var(--ff-primary-400) 100%);background-size:200% 100%;animation:shimmer 2s linear infinite}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.ff-tooltip{position:absolute;z-index:50;border-radius:.75rem;padding:.5rem .75rem;font-size:.75rem;line-height:1rem;font-weight:500;visibility:hidden;opacity:0;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;background-color:var(--ff-navy-950);color:var(--ff-text-inverse);box-shadow:0 4px 12px -2px #0003}.ff-tooltip-visible{visibility:visible;opacity:1}.ff-spinner{height:1.25rem;width:1.25rem}@keyframes ff-spin{to{transform:rotate(360deg)}}.ff-spinner{animation:ff-spin 1s linear infinite;border-radius:9999px;border-width:2px;border-color:var(--ff-border-light);border-top-color:var(--ff-primary-500)}.ff-spinner-lg{height:2rem;width:2rem;border-width:3px}.ff-document-preview{position:relative;overflow:hidden;border-radius:1rem;background-color:var(--ff-bg-tertiary)}.ff-document-preview img{height:auto;width:100%;-o-object-fit:contain;object-fit:contain}.ff-mapping-row{display:flex;align-items:center;gap:1rem;border-radius:1rem;border-width:1px;padding:1rem;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;background-color:var(--ff-bg-primary);border-color:var(--ff-border-light)}.ff-mapping-row:hover{border-color:var(--ff-border-default);background-color:var(--ff-bg-secondary)}.ff-mapping-source{flex:1 1 0%;border-radius:.75rem;padding:.5rem 1rem;font-family:JetBrains Mono,SF Mono,Monaco,monospace;font-size:.875rem;line-height:1.25rem;background-color:var(--ff-bg-tertiary);color:var(--ff-text-secondary)}.ff-mapping-arrow{flex-shrink:0;color:var(--ff-text-muted)}.ff-mapping-target{flex:1 1 0%}.ff-confidence{display:inline-flex;align-items:center;gap:.375rem;font-size:.75rem;line-height:1rem;font-weight:500}.ff-confidence-high{color:#16a34a}.ff-confidence-medium{color:#d97706}.ff-confidence-low{color:#dc2626}.ff-confidence-bar{height:.375rem;border-radius:9999px;background-color:var(--ff-bg-tertiary)}.ff-confidence-bar-fill{height:100%;border-radius:9999px;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.ff-steps{display:flex;align-items:center;gap:.5rem}.ff-step{display:flex;height:2rem;width:2rem;align-items:center;justify-content:center;border-radius:9999px;font-size:.875rem;line-height:1.25rem;font-weight:600;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.ff-step-pending{background-color:var(--ff-bg-tertiary);color:var(--ff-text-muted)}.ff-step-active{background-color:var(--ff-primary-500);color:var(--ff-text-inverse)}.ff-step-complete{background-color:var(--ff-primary-600);color:var(--ff-text-inverse)}.ff-step-connector{height:.125rem;width:2rem;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;background-color:var(--ff-border-light)}.ff-step-connector-complete{background-color:var(--ff-primary-500)}.ff-validation-summary{border-radius:1rem;border-width:1px;padding:1rem}.ff-validation-summary-error{background-color:#fef2f2;border-color:#fecaca}.ff-validation-summary-warning{background-color:#fffbeb;border-color:#fde68a}.ff-validation-summary-success{background-color:#f0fdf4;border-color:#bbf7d0}.ff-card{border-radius:1rem;border-width:1px;background-color:var(--ff-bg-primary);border-color:var(--ff-border-light);box-shadow:0 2px 8px -2px #0000000a}.ff-card-hover{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.ff-card-hover:hover{border-color:var(--ff-border-default);box-shadow:0 8px 24px -4px #00000014;transform:translateY(-2px)}.ff-status{display:inline-flex;align-items:center;gap:.5rem}.ff-status-dot{height:.5rem;width:.5rem;border-radius:9999px}.ff-status-dot-success{background-color:#22c55e}.ff-status-dot-warning{background-color:#f59e0b}.ff-status-dot-error{background-color:#ef4444}.ff-status-dot-pending{background-color:var(--ff-text-muted)}.ff-status-dot-processing{animation:ff-pulse 2s cubic-bezier(.4,0,.6,1) infinite;background-color:#3b82f6}.ff-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding-top:3rem;padding-bottom:3rem;text-align:center}.ff-empty-state-icon{margin-bottom:1rem;height:4rem;width:4rem;color:var(--ff-border-default)}.ff-empty-state-title{margin-bottom:.5rem;font-size:1.125rem;line-height:1.75rem;font-weight:600;color:var(--ff-text-primary)}.ff-empty-state-description{max-width:24rem;font-size:.875rem;line-height:1.25rem;color:var(--ff-text-muted)}@keyframes ff-pulse{50%{opacity:.5}}.ff-skeleton{animation:ff-pulse 2s cubic-bezier(.4,0,.6,1) infinite;border-radius:.5rem;background-color:var(--ff-bg-tertiary)}.ff-skeleton-text{height:1rem;border-radius:.5rem}.ff-skeleton-title{height:1.5rem;width:75%;border-radius:.5rem}.ff-skeleton-avatar{height:2.5rem;width:2.5rem;border-radius:9999px}.ff-pagination{display:flex;align-items:center;gap:.25rem}.ff-pagination-btn{display:flex;height:2.25rem;width:2.25rem;align-items:center;justify-content:center;border-radius:.75rem;font-size:.875rem;line-height:1.25rem;font-weight:500;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;color:var(--ff-text-secondary)}.ff-pagination-btn:hover{background-color:var(--ff-bg-secondary);color:var(--ff-text-primary)}.ff-pagination-btn-active{background-color:var(--ff-primary-500);color:var(--ff-text-inverse)}.ff-pagination-btn-active:hover{background-color:var(--ff-primary-600);color:var(--ff-text-inverse)}.ff-selector-group{display:inline-flex;flex-wrap:wrap;gap:.5rem}.ff-selector-item{display:inline-flex;align-items:center;gap:.375rem;border-radius:9999px;padding:.375rem .75rem;cursor:pointer;font-size:.875rem;line-height:1.25rem;font-weight:500;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;background-color:var(--ff-bg-secondary);color:var(--ff-text-secondary);border:1px solid var(--ff-border-light)}.ff-selector-item:hover{background-color:var(--ff-bg-tertiary);border-color:var(--ff-border-default)}.ff-selector-item-active{background-color:var(--ff-primary-500);color:var(--ff-text-inverse);border-color:var(--ff-primary-500)}.ff-selector-item-active:hover{background-color:var(--ff-primary-600);border-color:var(--ff-primary-600)}.ff-fade-in{animation:fadeIn .3s ease-out}.ff-slide-up{animation:slideUp .3s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.ff-theme-accent{--ff-primary-50: var(--ff-accent-50);--ff-primary-100: var(--ff-accent-100);--ff-primary-200: var(--ff-accent-200);--ff-primary-300: var(--ff-accent-300);--ff-primary-400: var(--ff-accent-400);--ff-primary-500: var(--ff-accent-500);--ff-primary-600: var(--ff-accent-600);--ff-primary-700: var(--ff-accent-700);--ff-primary-800: var(--ff-accent-800);--ff-primary-900: var(--ff-accent-900);--ff-focus-ring: var(--ff-focus-ring-accent)}.hover\:ff-border-primary-300:hover{--tw-border-opacity: 1;border-color:rgb(215 225 242 / var(--tw-border-opacity, 1))}.hover\:ff-bg-gray-100:hover{--tw-bg-opacity: 1;background-color:rgb(132 130 128 / var(--tw-bg-opacity, 1))}.hover\:ff-bg-gray-40:hover{--tw-bg-opacity: 1;background-color:rgb(233 232 228 / var(--tw-bg-opacity, 1))}.hover\:ff-bg-green-100:hover{--tw-bg-opacity: 1;background-color:rgb(220 252 231 / var(--tw-bg-opacity, 1))}.hover\:ff-bg-primary-100:hover{--tw-bg-opacity: 1;background-color:rgb(240 244 250 / var(--tw-bg-opacity, 1))}.hover\:ff-bg-primary-50:hover{--tw-bg-opacity: 1;background-color:rgb(248 250 253 / var(--tw-bg-opacity, 1))}.hover\:ff-bg-success-600:hover{--tw-bg-opacity: 1;background-color:rgb(35 122 44 / var(--tw-bg-opacity, 1))}.hover\:ff-text-gray-600:hover{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.hover\:ff-text-green-800:hover{--tw-text-opacity: 1;color:rgb(22 101 52 / var(--tw-text-opacity, 1))}.hover\:ff-text-primary-800:hover{--tw-text-opacity: 1;color:rgb(93 122 193 / var(--tw-text-opacity, 1))}.ff-group:hover .group-hover\:ff-opacity-100{opacity:1}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fileflow/sdk",
3
- "version": "0.1.3",
3
+ "version": "0.1.5",
4
4
  "description": "FileFlow SDK - Embeddable data import and KYC verification components",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.mjs",