@sito/dashboard-app 0.0.57 → 0.0.59

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.
Files changed (70) hide show
  1. package/README.md +58 -2
  2. package/dist/components/BottomNavigation/BottomNavigation.d.ts +8 -0
  3. package/dist/components/BottomNavigation/NavLink.d.ts +13 -0
  4. package/dist/components/BottomNavigation/index.d.ts +2 -0
  5. package/dist/components/BottomNavigation/testmap.d.ts +2 -0
  6. package/dist/components/BottomNavigation/types.d.ts +26 -0
  7. package/dist/components/BottomNavigation/utils.d.ts +17 -0
  8. package/dist/components/Buttons/IconButton.d.ts +5 -0
  9. package/dist/components/Buttons/ToTop.d.ts +5 -0
  10. package/dist/components/Dialog/ConfirmationDialog.d.ts +5 -0
  11. package/dist/components/Dialog/Dialog.d.ts +5 -0
  12. package/dist/components/Dialog/DialogActions.d.ts +5 -0
  13. package/dist/components/Dialog/FormDialog.d.ts +5 -0
  14. package/dist/components/Dialog/ImportDialog/Error.d.ts +6 -5
  15. package/dist/components/Dialog/ImportDialog/ImportDialog.d.ts +5 -0
  16. package/dist/components/Dialog/ImportDialog/Loading.d.ts +6 -5
  17. package/dist/components/Dialog/ImportDialog/Preview.d.ts +5 -0
  18. package/dist/components/Dialog/ImportDialog/types.d.ts +33 -0
  19. package/dist/components/Drawer/Drawer.d.ts +5 -0
  20. package/dist/components/Empty/Empty.d.ts +5 -0
  21. package/dist/components/Error/Error.d.ts +5 -0
  22. package/dist/components/Form/FormContainer.d.ts +5 -0
  23. package/dist/components/Form/PasswordInput.d.ts +6 -0
  24. package/dist/components/Loading/SplashScreen.d.ts +5 -0
  25. package/dist/components/Navbar/Navbar.d.ts +5 -0
  26. package/dist/components/Notification/Notification.d.ts +4 -0
  27. package/dist/components/Onboarding/Onboarding.d.ts +5 -0
  28. package/dist/components/Onboarding/Step.d.ts +5 -0
  29. package/dist/components/Page/Page.d.ts +5 -0
  30. package/dist/components/Page/PageHeader.d.ts +5 -0
  31. package/dist/components/PrettyGrid/PrettyGrid.d.ts +5 -0
  32. package/dist/components/TabsLayout/Tab.d.ts +5 -0
  33. package/dist/components/TabsLayout/TabsLayout.d.ts +5 -0
  34. package/dist/components/index.d.ts +1 -0
  35. package/dist/dashboard-app.cjs +1 -1
  36. package/dist/dashboard-app.js +1247 -1138
  37. package/dist/hooks/actions/types.d.ts +1 -0
  38. package/dist/hooks/actions/useDeleteAction.d.ts +5 -0
  39. package/dist/hooks/actions/useEditAction.d.ts +5 -0
  40. package/dist/hooks/actions/useExportAction.d.ts +5 -0
  41. package/dist/hooks/actions/useImportAction.d.ts +5 -0
  42. package/dist/hooks/actions/useRestoreAction.d.ts +5 -0
  43. package/dist/hooks/dialogs/useDeleteDialog.d.ts +5 -0
  44. package/dist/hooks/dialogs/useDialog.d.ts +4 -0
  45. package/dist/hooks/dialogs/useFormDialog.d.ts +5 -0
  46. package/dist/hooks/dialogs/useImportDialog.d.ts +5 -0
  47. package/dist/hooks/dialogs/usePostDialog.d.ts +5 -0
  48. package/dist/hooks/dialogs/usePutDialog.d.ts +5 -0
  49. package/dist/hooks/dialogs/useRestoreDialog.d.ts +5 -0
  50. package/dist/hooks/forms/useConfirmationForm.d.ts +5 -0
  51. package/dist/hooks/forms/usePostForm.d.ts +5 -0
  52. package/dist/hooks/mutate/useExportActionMutate.d.ts +5 -0
  53. package/dist/hooks/useScrollTrigger.d.ts +5 -0
  54. package/dist/hooks/useTimeAge.d.ts +4 -0
  55. package/dist/lib/Notification.d.ts +1 -0
  56. package/dist/lib/api/AuthClient.d.ts +6 -0
  57. package/dist/lib/api/BaseClient.d.ts +6 -3
  58. package/dist/lib/api/IManager.d.ts +6 -0
  59. package/dist/lib/api/IndexedDBClient.d.ts +6 -0
  60. package/dist/lib/api/SupabaseDataClient.d.ts +6 -0
  61. package/dist/lib/api/supabaseAuth.d.ts +6 -0
  62. package/dist/lib/api/utils/services.d.ts +7 -0
  63. package/dist/lib/errors.d.ts +16 -0
  64. package/dist/lib/utils/enums.d.ts +5 -0
  65. package/dist/lib/utils/os.d.ts +4 -0
  66. package/dist/main.css +1 -1
  67. package/dist/providers/Auth/authContext.d.ts +10 -0
  68. package/dist/providers/NotificationProvider.d.ts +5 -0
  69. package/dist/providers/Supbase/SupabaseContext.d.ts +5 -0
  70. package/package.json +1 -1
@@ -19,6 +19,7 @@ export interface UseExportAction extends UseActionPropTypes {
19
19
  onClick: () => void;
20
20
  }
21
21
  export type UseImportAction = UseExportAction;
22
+ /** Built-in identifiers for prefab page actions. */
22
23
  export declare enum GlobalActions {
23
24
  Add = "add",
24
25
  Edit = "edit",
@@ -1,6 +1,11 @@
1
1
  import { ActionType } from '@sito/dashboard';
2
2
  import { UseMultipleActionPropTypes } from '..';
3
3
  import { BaseEntityDto } from '../../lib';
4
+ /**
5
+ * Creates a delete action descriptor for single and multi-row operations.
6
+ * @param props - Delete action options.
7
+ * @returns Action factory compatible with Actions/PrettyGrid.
8
+ */
4
9
  export declare const useDeleteAction: (props: UseMultipleActionPropTypes<number>) => {
5
10
  action: (record: BaseEntityDto) => ActionType<BaseEntityDto>;
6
11
  };
@@ -1,6 +1,11 @@
1
1
  import { ActionType } from '@sito/dashboard';
2
2
  import { UseSingleActionPropTypes } from '..';
3
3
  import { BaseEntityDto } from '../../lib';
4
+ /**
5
+ * Creates an edit action descriptor for row-level editing flows.
6
+ * @param props - Edit action options.
7
+ * @returns Action factory compatible with Actions/PrettyGrid.
8
+ */
4
9
  export declare const useEditAction: <TRow extends BaseEntityDto>(props: UseSingleActionPropTypes<number>) => {
5
10
  action: (record: TRow) => ActionType<TRow>;
6
11
  };
@@ -1,4 +1,9 @@
1
1
  import { GlobalActions, UseExportAction } from '..';
2
+ /**
3
+ * Creates an export action descriptor with loading-state icon handling.
4
+ * @param props - Export action options.
5
+ * @returns Action factory for export triggers.
6
+ */
2
7
  export declare const useExportAction: (props: UseExportAction) => {
3
8
  action: () => {
4
9
  id: GlobalActions;
@@ -1,4 +1,9 @@
1
1
  import { GlobalActions, UseImportAction } from '..';
2
+ /**
3
+ * Creates an import action descriptor with loading-state icon handling.
4
+ * @param props - Import action options.
5
+ * @returns Action factory for import triggers.
6
+ */
2
7
  export declare const useImportAction: (props: UseImportAction) => {
3
8
  action: () => {
4
9
  id: GlobalActions;
@@ -1,6 +1,11 @@
1
1
  import { ActionType } from '@sito/dashboard';
2
2
  import { UseMultipleActionPropTypes } from '..';
3
3
  import { BaseEntityDto } from '../../lib';
4
+ /**
5
+ * Creates a restore action descriptor for soft-deleted records.
6
+ * @param props - Restore action options.
7
+ * @returns Action factory compatible with Actions/PrettyGrid.
8
+ */
4
9
  export declare const useRestoreAction: (props: UseMultipleActionPropTypes<number>) => {
5
10
  action: (record: BaseEntityDto) => ActionType<BaseEntityDto>;
6
11
  };
@@ -1,4 +1,9 @@
1
1
  import { UseDeleteDialogPropsType } from '..';
2
+ /**
3
+ * Builds delete dialog state, submit handler and matching delete action.
4
+ * @param props - Delete dialog configuration.
5
+ * @returns Dialog state, handlers and action factory.
6
+ */
2
7
  export declare const useDeleteDialog: (props: UseDeleteDialogPropsType) => {
3
8
  onClick: (record: number | number[]) => Promise<void>;
4
9
  title: string;
@@ -1,3 +1,7 @@
1
+ /**
2
+ * Provides basic open/close state helpers for dialog components.
3
+ * @returns Open state and imperative open/close handlers.
4
+ */
1
5
  export declare const useDialog: () => {
2
6
  open: boolean;
3
7
  setOpen: import('react').Dispatch<import('react').SetStateAction<boolean>>;
@@ -1,3 +1,8 @@
1
1
  import { FieldValues } from 'react-hook-form';
2
2
  import { UseFormDialogPropsType, UseFormDialogReturnType } from './types';
3
+ /**
4
+ * Handles reusable form-dialog lifecycle, mapping and submit orchestration.
5
+ * @param props - Form dialog configuration.
6
+ * @returns Form dialog state and handlers.
7
+ */
3
8
  export declare const useFormDialog: <TFormType extends FieldValues, TMappedValues = TFormType>(props: UseFormDialogPropsType<TFormType, TMappedValues>) => UseFormDialogReturnType<TFormType>;
@@ -1,3 +1,8 @@
1
1
  import { BaseEntityDto, ImportPreviewDto } from '../../lib';
2
2
  import { UseImportDialogPropsType, UseImportDialogReturnType } from './types';
3
+ /**
4
+ * Builds import dialog state and mutation flow for entity imports.
5
+ * @param props - Import dialog configuration.
6
+ * @returns Import dialog state, handlers and action factory.
7
+ */
3
8
  export declare function useImportDialog<EntityDto extends BaseEntityDto, PreviewEntityDto extends ImportPreviewDto>(props: UseImportDialogPropsType<PreviewEntityDto>): UseImportDialogReturnType<EntityDto, PreviewEntityDto>;
@@ -1,3 +1,8 @@
1
1
  import { FieldValues } from 'react-hook-form';
2
2
  import { UseFormDialogReturnType, UsePostDialogPropsType } from './types';
3
+ /**
4
+ * Creates a form dialog wired to a create mutation and cache invalidation.
5
+ * @param props - Post dialog configuration.
6
+ * @returns Form dialog state and handlers.
7
+ */
3
8
  export declare const usePostDialog: <TMutationDto, TMutationOutputDto, TFormType extends FieldValues>(props: UsePostDialogPropsType<TMutationDto, TMutationOutputDto, TFormType>) => UseFormDialogReturnType<TFormType>;
@@ -1,3 +1,8 @@
1
1
  import { FieldValues } from 'react-hook-form';
2
2
  import { UseFormDialogReturnType, UsePutDialogPropsType } from './types';
3
+ /**
4
+ * Creates an edit dialog with get-by-id hydration and update mutation flow.
5
+ * @param props - Put dialog configuration.
6
+ * @returns Form dialog state and handlers.
7
+ */
3
8
  export declare const usePutDialog: <TDto, TMutationDto, TMutationOutputDto, TFormType extends FieldValues>(props: UsePutDialogPropsType<TDto, TMutationDto, TMutationOutputDto, TFormType>) => UseFormDialogReturnType<TFormType>;
@@ -1,4 +1,9 @@
1
1
  import { UseDeleteDialogPropsType } from '..';
2
+ /**
3
+ * Builds restore dialog state, submit handler and matching restore action.
4
+ * @param props - Restore dialog configuration.
5
+ * @returns Dialog state, handlers and action factory.
6
+ */
2
7
  export declare const useRestoreDialog: (props: UseDeleteDialogPropsType) => {
3
8
  onClick: (record: number | number[]) => Promise<void>;
4
9
  title: string;
@@ -1,4 +1,9 @@
1
1
  import { UseConfirmationPropsType } from '..';
2
+ /**
3
+ * Manages confirmation dialog state and mutation execution for bulk actions.
4
+ * @param props - Confirmation mutation configuration.
5
+ * @returns Dialog state, handlers and mutation object.
6
+ */
2
7
  export declare const useConfirmationForm: <TInDto, TError extends Error>(props: UseConfirmationPropsType<TInDto, TError>) => {
3
8
  open: boolean;
4
9
  onClick: (record: TInDto | TInDto[]) => Promise<void>;
@@ -1,4 +1,9 @@
1
1
  import { FieldValues } from 'react-hook-form';
2
2
  import { UseFormPropsType } from '..';
3
3
  import { FormPropsType } from '../../components';
4
+ /**
5
+ * Creates a mutation-backed form handler with notification-aware errors.
6
+ * @param props - Post form configuration.
7
+ * @returns Form handlers and mutation loading state.
8
+ */
4
9
  export declare const usePostForm: <TDto, TMutationDto, TMutationOutputDto, TFormType extends FieldValues>(props: UseFormPropsType<TDto, TMutationDto, TMutationOutputDto, TFormType>) => FormPropsType<TFormType>;
@@ -1,4 +1,9 @@
1
1
  import { UseExportActionMutatePropsType } from './types';
2
+ /**
3
+ * Runs export mutation and returns a prefab export action descriptor.
4
+ * @param props - Export mutation configuration.
5
+ * @returns Export action factory with loading state integration.
6
+ */
2
7
  export declare const useExportActionMutate: <TInOutDto, Tables, TError extends Error>(props: UseExportActionMutatePropsType<TInOutDto, Tables, TError>) => {
3
8
  action: () => {
4
9
  id: import('../actions').GlobalActions;
@@ -1 +1,6 @@
1
+ /**
2
+ * Returns true when page scroll exceeds the provided offset.
3
+ * @param offset - Scroll threshold in pixels.
4
+ * @returns Whether current vertical scroll is above offset.
5
+ */
1
6
  export declare function useScrollTrigger(offset: number): boolean;
@@ -1,3 +1,7 @@
1
+ /**
2
+ * Returns a translator that formats dates as relative age labels.
3
+ * @returns Helper with `timeAge(date)` formatter.
4
+ */
1
5
  export declare function useTimeAge(): {
2
6
  timeAge: (date: Date) => string;
3
7
  };
@@ -1,3 +1,4 @@
1
+ /** Notification variants supported by NotificationProvider/Notification UI. */
1
2
  export declare enum NotificationEnumType {
2
3
  success = 0,
3
4
  error = 1,
@@ -4,8 +4,14 @@ type AuthClientLogoutOptions = {
4
4
  accessToken?: string;
5
5
  refreshToken?: string;
6
6
  };
7
+ /** Auth-focused API client for login, refresh, logout and session endpoints. */
7
8
  export declare class AuthClient {
8
9
  api: APIClient;
10
+ /**
11
+ * @param baseUrl - API base URL.
12
+ * @param userKey - Storage key for user session data.
13
+ * @param authConfig - Custom auth storage key configuration.
14
+ */
9
15
  constructor(baseUrl: string, userKey?: string, authConfig?: APIClientAuthConfig);
10
16
  login(data: AuthDto): Promise<SessionDto>;
11
17
  refresh(data: RefreshDto): Promise<SessionDto>;
@@ -1,14 +1,17 @@
1
1
  import { APIClient, APIClientAuthConfig } from './APIClient';
2
2
  import { QueryParam } from './types';
3
3
  import { BaseCommonEntityDto, BaseEntityDto, BaseFilterDto, DeleteDto, ImportDto, ImportPreviewDto, QueryResult } from '..';
4
+ /** Generic REST client with CRUD, import/export and common list operations. */
4
5
  export declare class BaseClient<Tables, TDto extends BaseEntityDto, TCommonDto extends BaseCommonEntityDto, TAddDto, TUpdateDto extends DeleteDto, TFilter extends BaseFilterDto, TImportPreviewDto extends ImportPreviewDto> {
5
6
  table: Tables;
6
7
  secured: boolean;
7
8
  api: APIClient;
8
9
  /**
9
- *
10
- * @param table
11
- * @param secured to see if the api client requires jwt protection
10
+ * @param table - Resource table/endpoint name.
11
+ * @param baseUrl - API base URL.
12
+ * @param userKey - Storage key for user session data.
13
+ * @param secured - Whether this client requires auth headers.
14
+ * @param authConfig - Custom auth storage key configuration.
12
15
  */
13
16
  constructor(table: Tables, baseUrl: string, userKey?: string, secured?: boolean, authConfig?: APIClientAuthConfig);
14
17
  /**
@@ -1,7 +1,13 @@
1
1
  import { AuthClient } from './AuthClient';
2
2
  import { APIClientAuthConfig } from './APIClient';
3
+ /** Root manager that exposes domain API clients for consumers. */
3
4
  export declare class IManager {
4
5
  auth: AuthClient;
6
+ /**
7
+ * @param baseUrl - API base URL.
8
+ * @param userKey - Storage key for user session data.
9
+ * @param authConfig - Custom auth storage key configuration.
10
+ */
5
11
  constructor(baseUrl: string, userKey?: string, authConfig?: APIClientAuthConfig);
6
12
  /**
7
13
  * @returns auth
@@ -1,10 +1,16 @@
1
1
  import { QueryParam, QueryResult } from './types';
2
2
  import { BaseCommonEntityDto, BaseEntityDto, BaseFilterDto, DeleteDto, ImportDto, ImportPreviewDto } from '..';
3
+ /** Generic IndexedDB-backed client mirroring BaseClient CRUD semantics. */
3
4
  export declare class IndexedDBClient<Tables extends string, TDto extends BaseEntityDto, TCommonDto extends BaseCommonEntityDto, TAddDto, TUpdateDto extends DeleteDto, TFilter extends BaseFilterDto, TImportPreviewDto extends ImportPreviewDto> {
4
5
  table: Tables;
5
6
  dbName: string;
6
7
  version: number;
7
8
  private db;
9
+ /**
10
+ * @param table - Object store name.
11
+ * @param dbName - IndexedDB database name.
12
+ * @param version - IndexedDB schema version.
13
+ */
8
14
  constructor(table: Tables, dbName: string, version?: number);
9
15
  close(): void;
10
16
  private open;
@@ -12,6 +12,7 @@ export type SupabaseDataClientOptions<TDto, TCommonDto, TAddDto, TUpdateDto, TIm
12
12
  mapImportPreviewToRow?: (value: TImportPreviewDto) => Partial<TRow>;
13
13
  nowFactory?: () => Date;
14
14
  };
15
+ /** Generic Supabase data client aligned with BaseClient behavior. */
15
16
  export declare class SupabaseDataClient<Tables extends string, TDto extends BaseEntityDto, TCommonDto extends BaseCommonEntityDto, TAddDto, TUpdateDto extends DeleteDto, TFilter extends BaseFilterDto, TImportPreviewDto extends ImportPreviewDto, TRow extends Record<string, unknown> = Record<string, unknown>, TCommonRow extends Record<string, unknown> = TRow> {
16
17
  table: Tables;
17
18
  supabase: Pick<SupabaseClient, "from">;
@@ -19,6 +20,11 @@ export declare class SupabaseDataClient<Tables extends string, TDto extends Base
19
20
  deletedAtColumn: keyof TRow & string;
20
21
  defaultSortColumn: keyof TRow & string;
21
22
  options: SupabaseDataClientOptions<TDto, TCommonDto, TAddDto, TUpdateDto, TImportPreviewDto, TRow, TCommonRow>;
23
+ /**
24
+ * @param table - Resource table name.
25
+ * @param supabase - Supabase client with `from` capability.
26
+ * @param options - Mapping and column configuration options.
27
+ */
22
28
  constructor(table: Tables, supabase: Pick<SupabaseClient, "from">, options?: SupabaseDataClientOptions<TDto, TCommonDto, TAddDto, TUpdateDto, TImportPreviewDto, TRow, TCommonRow>);
23
29
  private resolveStatus;
24
30
  private throwHttpError;
@@ -7,4 +7,10 @@ export type SupabaseSessionMapperOptions = {
7
7
  defaultEmail?: string;
8
8
  usernameMetadataKeys?: string[];
9
9
  };
10
+ /**
11
+ * Maps a Supabase session object into the library SessionDto shape.
12
+ * @param session - Supabase session payload.
13
+ * @param options - Mapping overrides and metadata key preferences.
14
+ * @returns Normalized SessionDto.
15
+ */
10
16
  export declare const mapSupabaseSessionToSessionDto: (session: Session, options?: SupabaseSessionMapperOptions) => SessionDto;
@@ -1,4 +1,5 @@
1
1
  import { HttpResponse } from './types';
2
+ /** Supported HTTP verbs for API requests. */
2
3
  export declare enum Methods {
3
4
  GET = "GET",
4
5
  POST = "POST",
@@ -20,4 +21,10 @@ export type RequestConfig = HeadersInit | RequestOptions;
20
21
  * @returns Request response
21
22
  */
22
23
  export declare function makeRequest<TBody = undefined, TResponse = unknown>(url: string, method?: Methods, body?: TBody, requestConfig?: RequestConfig): Promise<HttpResponse<TResponse>>;
24
+ /**
25
+ * Builds a URL with query-string parameters from a filter object.
26
+ * @param endpoint - Base endpoint path.
27
+ * @param params - Filter/query params object.
28
+ * @returns Endpoint with encoded query string.
29
+ */
23
30
  export declare function buildQueryUrl<TFilter>(endpoint: string, params?: TFilter): string;
@@ -10,6 +10,22 @@ export interface HttpError extends Error {
10
10
  status: number;
11
11
  message: string;
12
12
  }
13
+ /**
14
+ * Type guard for validation errors with field/code tuples.
15
+ * @param error - Unknown error candidate.
16
+ * @returns True when error matches ValidationError shape.
17
+ */
13
18
  export declare function isValidationError(error: unknown): error is ValidationError;
19
+ /**
20
+ * Type guard for normalized HTTP-like errors.
21
+ * @param error - Unknown error candidate.
22
+ * @returns True when error matches HttpError shape.
23
+ */
14
24
  export declare function isHttpError(error: unknown): error is HttpError;
25
+ /**
26
+ * Maps validation tuples to translated or domain-specific messages.
27
+ * @param error - Validation error instance.
28
+ * @param map - Mapper from field/code to display message.
29
+ * @returns List of mapped messages.
30
+ */
15
31
  export declare function mapValidationErrors(error: ValidationError, map: (field: string, code: string) => string): string[];
@@ -1,3 +1,8 @@
1
+ /**
2
+ * Converts an enum-like object into key/value entries for UI consumers.
3
+ * @param enumObj - Enum-like object.
4
+ * @returns Key/value array representation.
5
+ */
1
6
  export declare function enumToKeyValueArray<T extends Record<string, string | number>>(enumObj: T): {
2
7
  key: string;
3
8
  value: string | number;
@@ -1 +1,5 @@
1
+ /**
2
+ * Returns true when the current platform should be treated as macOS/iOS.
3
+ * @returns Whether the running platform is Apple-based.
4
+ */
1
5
  export declare const isMac: () => boolean;
package/dist/main.css CHANGED
@@ -1 +1 @@
1
- @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-orange-700:oklch(55.3% .195 38.402);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-600:oklch(66.6% .179 58.318);--color-green-500:oklch(72.3% .219 149.579);--color-emerald-600:oklch(59.6% .145 163.225);--color-cyan-700:oklch(52% .105 223.128);--color-sky-700:oklch(50% .134 242.749);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-indigo-700:oklch(45.7% .24 277.023);--color-violet-600:oklch(54.1% .281 293.009);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-700:oklch(37.3% .034 259.733);--color-white:#fff;--spacing:.25rem;--container-md:28rem;--container-xl:36rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--font-weight-semibold:600;--font-weight-bold:700;--tracking-wide:.025em;--radius-lg:.5rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-primary:#041e42;--color-bg-primary:#021327;--color-hover-primary:#0a2f66;--color-secondary:#cd212a;--color-bg-secondary:#8f151b;--color-hover-secondary:#e03a42;--color-tertiary:#00997b;--color-bg-tertiary:#006654;--color-hover-tertiary:#1ab89a;--color-quaternary:#d7942e;--color-bg-quaternary:#9e6a1f;--color-hover-quaternary:#ebb04a;--color-base-dark:#e6e6e6;--color-base:#f2f2f2;--color-base-light:#fff;--color-text:#0d0d0d;--color-border:#ccc;--color-text-muted:#4d4d4d;--color-bg-info:#0070ba;--color-info:#fbfbfb;--color-bg-success:#1d9a5b;--color-success:#fbfbfb;--color-bg-warning:orange;--color-warning:#000;--color-bg-error:#c14444;--color-error:#fbfbfb;--breakpoint-xs:28rem}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}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;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.right-8{right:calc(var(--spacing)*8)}.bottom-8{bottom:calc(var(--spacing)*8)}.container{width:100%}@media(min-width:28rem){.container{max-width:28rem}}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-5{margin-top:calc(var(--spacing)*5)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.table-row{display:table-row}.h-5{height:calc(var(--spacing)*5)}.h-14{height:calc(var(--spacing)*14)}.h-20{height:calc(var(--spacing)*20)}.max-h-\[70vh\]{max-height:70vh}.\!w-6{width:calc(var(--spacing)*6)!important}.\!w-auto{width:auto!important}.w-5{width:calc(var(--spacing)*5)}.w-14{width:calc(var(--spacing)*14)}.w-fit{width:fit-content}.w-full{width:100%}.max-w-\[220px\]{max-width:220px}.max-w-md{max-width:var(--container-md)}.max-w-xl{max-width:var(--container-xl)}.min-w-\[56px\]{min-width:56px}.min-w-\[120px\]{min-width:120px}.flex-grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.resize{resize:both}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.gap-1{gap:calc(var(--spacing)*1)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*8)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*8)*calc(1 - var(--tw-space-y-reverse)))}.overflow-hidden{overflow:hidden}.rounded{border-radius:.25rem}.rounded-lg{border-radius:var(--radius-lg)}.border{border-style:var(--tw-border-style);border-width:1px}.border-base\/20{border-color:#f2f2f233}@supports (color:color-mix(in lab,red,red)){.border-base\/20{border-color:color-mix(in oklab,var(--color-base)20%,transparent)}}.border-border{border-color:var(--color-border)}.border-gray-300{border-color:var(--color-gray-300)}.bg-amber-600{background-color:var(--color-amber-600)}.bg-base{background-color:var(--color-base)}.bg-base-light{background-color:var(--color-base-light)}.bg-bg-error{background-color:var(--color-bg-error)}.bg-bg-info{background-color:var(--color-bg-info)}.bg-bg-success{background-color:var(--color-bg-success)}.bg-bg-warning{background-color:var(--color-bg-warning)}.bg-blue-600{background-color:var(--color-blue-600)}.bg-cyan-700{background-color:var(--color-cyan-700)}.bg-emerald-600{background-color:var(--color-emerald-600)}.bg-indigo-700{background-color:var(--color-indigo-700)}.bg-orange-700{background-color:var(--color-orange-700)}.bg-sky-700{background-color:var(--color-sky-700)}.bg-violet-600{background-color:var(--color-violet-600)}.stroke-base{stroke:var(--color-base)}.stroke-primary{stroke:var(--color-primary)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-6{padding:calc(var(--spacing)*6)}.px-3{padding-inline:calc(var(--spacing)*3)}.py-2{padding-block:calc(var(--spacing)*2)}.pb-2{padding-bottom:calc(var(--spacing)*2)}.text-center{text-align:center}.text-left{text-align:left}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.\!text-error{color:var(--color-error)!important}.\!text-info{color:var(--color-info)!important}.\!text-success{color:var(--color-success)!important}.\!text-warning{color:var(--color-warning)!important}.text-amber-500{color:var(--color-amber-500)}.text-bg-error{color:var(--color-bg-error)}.text-blue-500{color:var(--color-blue-500)}.text-gray-400{color:var(--color-gray-400)}.text-gray-700{color:var(--color-gray-700)}.text-green-500{color:var(--color-green-500)}.text-primary{color:var(--color-primary)}.text-text{color:var(--color-text)}.text-text-muted{color:var(--color-text-muted)}.text-white{color:var(--color-white)}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.invert{--tw-invert:invert(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-filter{-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,)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-blue-400:focus{--tw-ring-color:var(--color-blue-400)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}@media(min-width:40rem){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:48rem){.md\:p-8{padding:calc(var(--spacing)*8)}}@media(min-width:64rem){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:80rem){.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}.form-container{gap:calc(var(--spacing,.25rem)*7);padding-top:calc(var(--spacing,.25rem)*1);flex-direction:column;display:flex}.form-actions{margin-top:calc(var(--spacing,.25rem)*5);gap:calc(var(--spacing,.25rem)*2);display:flex}.form-actions.end{justify-content:flex-end}.form-paragraph-container{z-index:0;margin-bottom:calc(var(--spacing,.25rem)*5);width:100%;position:relative}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-border-style:solid;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0}}}.dialog .button{border-radius:var(--radius-4xl,2rem);padding-inline:calc(var(--spacing,.25rem)*4);padding-block:calc(var(--spacing,.25rem)*1)}.dialog-backdrop{top:calc(var(--spacing,.25rem)*0);left:calc(var(--spacing,.25rem)*0);z-index:50;justify-content:center;align-items:center;width:100%;height:100vh;display:flex;position:fixed}@media not all and (min-width:28rem){.dialog-backdrop{z-index:36}}.dialog-backdrop.opened{background-color:#f2f2f233}@supports (color:color-mix(in lab,red,red)){.dialog-backdrop.opened{background-color:color-mix(in oklab,var(--color-base,#f2f2f2)20%,transparent)}}.dialog-backdrop.opened{--tw-backdrop-blur:blur(var(--blur-xl,24px));-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,)}.dialog-backdrop.closed{pointer-events:none}.dialog{border-style:var(--tw-border-style);background-color:var(--color-base,#f2f2f2);padding:calc(var(--spacing,.25rem)*5);border-width:2px;flex-direction:column;display:flex;position:relative}@media not all and (min-width:28rem){.dialog{width:100vw;height:100vh}}@media(min-width:28rem){.dialog{min-width:calc(var(--spacing,.25rem)*90);border-radius:var(--radius-2xl,1rem);border-color:var(--color-border,#ccc)}}.dialog.opened{--tw-translate-y:calc(var(--spacing,.25rem)*0);translate:var(--tw-translate-x)var(--tw-translate-y);opacity:1}.dialog.closed{--tw-translate-y:calc(var(--spacing,.25rem)*2);translate:var(--tw-translate-x)var(--tw-translate-y);opacity:0}.dialog-header{margin-bottom:calc(var(--spacing,.25rem)*6);justify-content:space-between;align-items:center;gap:calc(var(--spacing,.25rem)*2);display:flex}@media not all and (min-width:28rem){.dialog-header{margin-bottom:calc(var(--spacing,.25rem)*10)}}.dialog-title{font-size:var(--text-xl,1.25rem);line-height:var(--tw-leading,var(--text-xl--line-height,calc(1.75/1.25)));color:var(--color-text,#0d0d0d)}.dialog-actions{margin-top:calc(var(--spacing,.25rem)*2);gap:calc(var(--spacing,.25rem)*2);display:flex}.dialog-actions.end{justify-content:flex-end}.dialog-form-primary{padding-inline:calc(var(--spacing,.25rem)*6)!important}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}.import-override-label{margin-top:calc(var(--spacing,.25rem)*3);align-items:center;gap:calc(var(--spacing,.25rem)*2);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25/.875)));display:flex}.import-dialog-actions{margin-top:calc(var(--spacing,.25rem)*5)}.import-preview{margin-top:calc(var(--spacing,.25rem)*4)}.import-preview-count{font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25/.875)));color:var(--color-text-muted,#4d4d4d)}.import-preview-content{margin-top:calc(var(--spacing,.25rem)*2);max-height:calc(var(--spacing,.25rem)*56);background-color:var(--color-base-dark,#e6e6e6);padding:calc(var(--spacing,.25rem)*3);font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1/.75)));border-radius:.25rem;overflow:auto}.import-error-message{margin-top:calc(var(--spacing,.25rem)*2);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25/.875)));color:var(--color-error,#fbfbfb)}.import-loading{margin-inline:auto;margin-block:calc(var(--spacing,.25rem)*4);align-items:center;gap:calc(var(--spacing,.25rem)*3);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25/.875)));color:var(--color-text-muted,#4d4d4d);display:flex}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-font-weight:initial}}}.drawer-backdrop{z-index:36;position:fixed}.drawer-backdrop.opened{width:100vw;height:100vh}.drawer-backdrop.closed{pointer-events:none}.drawer{top:calc(var(--spacing,.25rem)*0);left:calc(var(--spacing,.25rem)*0);z-index:1;height:100vh;width:calc(var(--spacing,.25rem)*64);border-right-style:var(--tw-border-style);border-right-width:2px;border-color:var(--color-border,#ccc);background-color:var(--color-base,#f2f2f2);padding-top:calc(var(--spacing,.25rem)*5);border-radius:0;position:fixed}.drawer.opened{--tw-translate-x:calc(var(--spacing,.25rem)*0);translate:var(--tw-translate-x)var(--tw-translate-y);--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-shadow-color:#00000080}@supports (color:color-mix(in lab,red,red)){.drawer.opened{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-black,#000)50%,transparent)var(--tw-shadow-alpha),transparent)}}.drawer.closed{--tw-translate-x:calc(var(--spacing,.25rem)*-64);translate:var(--tw-translate-x)var(--tw-translate-y)}.drawer-list-item{flex-direction:column;width:100%;display:flex}@media(hover:hover){.drawer-list-item:hover{background-color:var(--color-base-light,#fff)}}.drawer-list-item.active{background-color:var(--color-base-light,#fff)}.drawer-children-list{flex-direction:column;width:100%;display:flex}.drawer-list-item-child{padding-left:calc(var(--spacing,.25rem)*7)}@media(hover:hover){.drawer-list-item-child:hover{background-color:var(--color-base,#f2f2f2)}}.drawer-list-item-child.active{background-color:var(--color-base-dark,#e6e6e6)}.drawer-link{justify-content:flex-start;align-items:center;gap:calc(var(--spacing,.25rem)*2);width:100%;padding-inline:calc(var(--spacing,.25rem)*5);padding-block:calc(var(--spacing,.25rem)*2);color:var(--color-text-muted,#4d4d4d);display:flex}.drawer-divider{--tw-border-spacing-x:calc(var(--spacing,.25rem)*.5);width:100%;border-spacing:var(--tw-border-spacing-x)var(--tw-border-spacing-y);border-color:var(--color-border,#ccc)}.drawer-header-container{justify-content:flex-start;align-items:center;gap:calc(var(--spacing,.25rem)*2);padding-inline:calc(var(--spacing,.25rem)*5);padding-bottom:calc(var(--spacing,.25rem)*5);display:flex}.drawer-header{font-size:var(--text-xl,1.25rem);line-height:var(--tw-leading,var(--text-xl--line-height,calc(1.75/1.25)));--tw-font-weight:var(--font-weight-bold,700);font-weight:var(--font-weight-bold,700);color:var(--color-text,#0d0d0d)}.drawer-menu-list{flex-direction:column;display:flex}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-border-spacing-x{syntax:"<length>";inherits:false;initial-value:0}@property --tw-border-spacing-y{syntax:"<length>";inherits:false;initial-value:0}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-duration:initial;--tw-ease:initial}}}.to-top{right:calc(var(--spacing,.25rem)*4);bottom:calc(var(--spacing,.25rem)*4);z-index:50;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4,0,.2,1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));--tw-duration:.5s;--tw-ease:var(--ease-in-out,cubic-bezier(.4,0,.2,1));transition-duration:.5s;transition-timing-function:var(--ease-in-out,cubic-bezier(.4,0,.2,1));position:fixed}.to-top.show{transform:scale(1)}.to-top.hide{transform:scale(0)}.fab{right:calc(var(--spacing,.25rem)*4);bottom:calc(var(--spacing,.25rem)*4);z-index:1;height:calc(var(--spacing,.25rem)*12);width:calc(var(--spacing,.25rem)*12);font-size:var(--text-lg,1.125rem);line-height:var(--tw-leading,var(--text-lg--line-height,calc(1.75/1.125)));position:fixed}@media(min-width:28rem){.fab{display:none!important}}.password-icon{right:calc(var(--spacing,.25rem)*2);position:absolute;top:50%;transform:translateY(-50%)}.error-container{justify-content:center;align-items:center;gap:calc(var(--spacing,.25rem)*5);padding-top:calc(var(--spacing,.25rem)*10);flex-direction:column;display:flex}.error-icon{font-size:var(--text-4xl,2.25rem);line-height:var(--tw-leading,var(--text-4xl--line-height,calc(2.5/2.25)));color:var(--color-bg-error,#c14444)}.error-message{text-align:center;color:var(--color-text,#0d0d0d)}.error-retry:hover{color:var(--color-hover-primary,#0a2f66)}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-font-weight:initial}}}.page-header{background-color:var(--color-primary,#041e42);width:100%;padding-block:calc(var(--spacing,.25rem)*2);padding-right:calc(var(--spacing,.25rem)*3);padding-left:calc(var(--spacing,.25rem)*4);color:var(--color-base-light,#fff);justify-content:space-between;align-items:center;transition:all .3s ease-in-out;display:flex}.page-header-left{justify-content:flex-start;align-items:center;gap:calc(var(--spacing,.25rem)*2);display:flex}.page-header-title{font-size:var(--text-2xl,1.5rem);line-height:var(--tw-leading,var(--text-2xl--line-height,calc(2/1.5)));--tw-font-weight:var(--font-weight-bold,700);font-weight:var(--font-weight-bold,700)}.page-main{flex-direction:column;display:flex}.page-main-content{height:100%;padding-inline:calc(var(--spacing,.25rem)*5);padding-block:calc(var(--spacing,.25rem)*3)}@media not all and (min-width:28rem){.page-main-content{padding-inline:calc(var(--spacing,.25rem)*3)}}.page-loading{height:calc(var(--spacing,.25rem)*50);justify-content:center;align-items:center;display:flex}@media not all and (min-width:28rem){.page-header-actions-desktop{display:none!important}}@media(min-width:28rem){.page-header-actions-mobile{display:none}}.page-header-actions-mobile .actions-dropdown-trigger{color:var(--color-base-light,#fff)}@media(hover:hover){.page-header-actions-mobile .actions-dropdown-trigger:hover{background-color:var(--color-secondary,#cd212a)!important}}.page-header .action{background-color:#f2f2f24d}@supports (color:color-mix(in lab,red,red)){.page-header .action{background-color:color-mix(in oklab,var(--color-base,#f2f2f2)30%,transparent)}}.page-header .action{color:var(--color-base-light,#fff)}@media(hover:hover){.page-header .action:hover{background-color:var(--color-secondary,#cd212a)}}.page-header-back,.page-header-actions-mobile .actions-dropdown-trigger{color:var(--color-base-light,#fff)}@media(hover:hover){:is(.page-header-back,.page-header-actions-mobile .actions-dropdown-trigger):hover{background-color:var(--color-secondary,#cd212a)!important}}.pretty-grid-main{gap:calc(var(--spacing,.25rem)*3);flex-wrap:wrap;display:flex}@media not all and (min-width:28rem){.pretty-grid-main{flex-direction:column}}.pretty-grid-item{min-height:auto;display:flex}.pretty-grid-load-more{width:100%;padding-block:calc(var(--spacing,.25rem)*2);justify-content:center;align-items:center;display:flex}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-font-weight:initial}}}.header{top:calc(var(--spacing,.25rem)*0);z-index:20;height:calc(var(--spacing,.25rem)*12);background-color:var(--color-primary,#041e42);width:100%;padding-inline:calc(var(--spacing,.25rem)*3);color:var(--color-base-light,#fff);justify-content:space-between;align-items:center;transition:all .3s ease-in-out;display:flex;position:sticky}.navbar-title{pointer-events:none;font-size:var(--text-lg,1.125rem);line-height:var(--tw-leading,var(--text-lg--line-height,calc(1.75/1.125)));--tw-font-weight:var(--font-weight-bold,700);font-weight:var(--font-weight-bold,700);color:var(--color-text,#0d0d0d)}.navbar-left{align-items:center;gap:calc(var(--spacing,.25rem)*2);display:flex}.navbar-right{justify-content:flex-end;align-items:center;gap:calc(var(--spacing,.25rem)*2);display:flex}.header h1{color:var(--color-base-light,#fff)}.navbar-right .actions-container .actions-container-item .action{height:calc(var(--spacing,.25rem)*7.5);width:calc(var(--spacing,.25rem)*7.5);background-color:#f2f2f24d}@supports (color:color-mix(in lab,red,red)){.navbar-right .actions-container .actions-container-item .action{background-color:color-mix(in oklab,var(--color-base,#f2f2f2)30%,transparent)}}.navbar-right .actions-container .actions-container-item .action{color:var(--color-base-light,#fff)}@media(hover:hover){.navbar-right .actions-container .actions-container-item .action:hover{background-color:var(--color-secondary,#cd212a)}}.header .icon-button,.navbar-menu{color:var(--color-base-light,#fff)}@media(hover:hover){:is(.header .icon-button,.navbar-menu):hover{background-color:var(--color-secondary,#cd212a)!important}}@property --tw-font-weight{syntax:"*";inherits:false}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-duration:initial;--tw-ease:initial}}}.notification-portal{z-index:51;pointer-events:none;bottom:calc(var(--spacing,.25rem)*0);left:calc(var(--spacing,.25rem)*0);justify-content:flex-end;align-items:flex-start;gap:calc(var(--spacing,.25rem)*2);padding:calc(var(--spacing,.25rem)*2);flex-direction:column;display:flex;position:fixed}.notification{pointer-events:auto;z-index:10;max-width:calc(100vw - 1rem);min-width:calc(var(--spacing,.25rem)*40);--tw-translate-y:calc(var(--spacing,.25rem)*0);translate:var(--tw-translate-x)var(--tw-translate-y);justify-content:space-between;align-items:center;gap:calc(var(--spacing,.25rem)*2);border-radius:var(--radius-3xl,1.5rem);padding:calc(var(--spacing,.25rem)*2);padding-inline:calc(var(--spacing,.25rem)*2.5);opacity:1;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4,0,.2,1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));--tw-duration:.3s;--tw-ease:var(--ease-in-out,cubic-bezier(.4,0,.2,1));transition-duration:.3s;transition-timing-function:var(--ease-in-out,cubic-bezier(.4,0,.2,1));display:flex;position:relative}@media not all and (min-width:28rem){.notification{width:100%}}.notification.closing{--tw-translate-y:calc(var(--spacing,.25rem)*2);translate:var(--tw-translate-x)var(--tw-translate-y);opacity:0}.notification-portal.active{width:100vw;height:100vh}.notification-body{min-width:calc(var(--spacing,.25rem)*0);align-items:center;gap:calc(var(--spacing,.25rem)*1);display:flex}.notification-icon{flex-shrink:0}@media not all and (min-width:28rem){.notification-icon{display:none!important}}.notification-text{font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25/.875)));overflow-wrap:break-word}@media not all and (min-width:28rem){.notification-text{padding-left:calc(var(--spacing,.25rem)*1);font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1/.75)))}}.notification-close{height:calc(var(--spacing,.25rem)*6)!important;min-height:calc(var(--spacing,.25rem)*6)!important;width:calc(var(--spacing,.25rem)*6)!important;min-width:calc(var(--spacing,.25rem)*6)!important}.notification-close-icon{cursor:pointer;font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1/.75)))}@media(hover:hover){.notification-close-icon:is(:where(.group):hover *){color:var(--color-error,#fbfbfb)!important}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}.splash-screen{justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;overflow:hidden}.tabs-layout-main{border-top-right-radius:var(--radius-xl,.75rem);border-bottom-right-radius:var(--radius-xl,.75rem);border-bottom-left-radius:var(--radius-xl,.75rem)}.tabs-container{margin-bottom:calc(var(--spacing,.25rem)*5);justify-content:flex-start;align-items:center;width:100%;display:flex}@media(min-width:28rem){.tabs-container{margin-bottom:calc(var(--spacing,.25rem)*0)}}.tab{padding-inline:calc(var(--spacing,.25rem)*3);white-space:nowrap;--tw-border-style:none!important;padding-top:calc(var(--spacing,.25rem)*2)!important;border-style:none!important;border-radius:0!important}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-leading:initial}}}.onboarding-main{top:calc(var(--spacing,.25rem)*0);left:calc(var(--spacing,.25rem)*0);z-index:50;background-color:var(--color-base,#f2f2f2);justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:fixed}.onboarding-main .tabs-layout-main{gap:calc(var(--spacing,.25rem)*40);flex-direction:column-reverse;height:auto;display:flex}.onboarding-main .tabs-container{justify-content:center;gap:calc(var(--spacing,.25rem)*5)}.onboarding-main .tab{height:calc(var(--spacing,.25rem)*2);width:calc(var(--spacing,.25rem)*2);padding:calc(var(--spacing,.25rem)*0);border-radius:3.40282e38px!important}.onboarding-main .tab.outlined{background-color:var(--color-primary,#041e42)!important}.step-container{width:var(--container-md,28rem);gap:calc(var(--spacing,.25rem)*20);flex-direction:column;display:flex}.step-title{text-align:center;font-size:var(--text-5xl,3rem);line-height:var(--tw-leading,var(--text-5xl--line-height,1));--tw-leading:calc(var(--spacing,.25rem)*16);line-height:calc(var(--spacing,.25rem)*16)}.step-body{text-align:center;font-size:var(--text-lg,1.125rem)!important;line-height:var(--tw-leading,var(--text-lg--line-height,calc(1.75/1.125)))!important}.step-content{gap:calc(var(--spacing,.25rem)*5);flex-direction:column;display:flex}.step-actions{justify-content:center;align-items:center;gap:calc(var(--spacing,.25rem)*5);display:flex}.step-button{padding-inline:calc(var(--spacing,.25rem)*8)!important}@property --tw-leading{syntax:"*";inherits:false}/*! tailwindcss v4.1.11 | MIT License | https://tailwindcss.com */.empty-container{justify-content:center;align-items:center;gap:calc(var(--spacing,.25rem)*5);padding-top:calc(var(--spacing,.25rem)*5);flex-direction:column;display:flex}.empty-message{text-align:center;text-wrap:balance;color:var(--color-text-muted,#4d4d4d)}
1
+ @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-orange-700:oklch(55.3% .195 38.402);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-600:oklch(66.6% .179 58.318);--color-green-500:oklch(72.3% .219 149.579);--color-emerald-600:oklch(59.6% .145 163.225);--color-cyan-700:oklch(52% .105 223.128);--color-sky-700:oklch(50% .134 242.749);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-indigo-700:oklch(45.7% .24 277.023);--color-violet-600:oklch(54.1% .281 293.009);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-700:oklch(37.3% .034 259.733);--color-white:#fff;--spacing:.25rem;--container-md:28rem;--container-xl:36rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--font-weight-semibold:600;--font-weight-bold:700;--tracking-wide:.025em;--leading-tight:1.25;--radius-lg:.5rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-primary:#041e42;--color-bg-primary:#021327;--color-hover-primary:#0a2f66;--color-secondary:#cd212a;--color-bg-secondary:#8f151b;--color-hover-secondary:#e03a42;--color-tertiary:#00997b;--color-bg-tertiary:#006654;--color-hover-tertiary:#1ab89a;--color-quaternary:#d7942e;--color-bg-quaternary:#9e6a1f;--color-hover-quaternary:#ebb04a;--color-base-dark:#e6e6e6;--color-base:#f2f2f2;--color-base-light:#fff;--color-text:#0d0d0d;--color-border:#ccc;--color-text-muted:#4d4d4d;--color-bg-info:#0070ba;--color-info:#fbfbfb;--color-bg-success:#1d9a5b;--color-success:#fbfbfb;--color-bg-warning:orange;--color-warning:#000;--color-bg-error:#c14444;--color-error:#fbfbfb;--breakpoint-xs:28rem}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}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;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.right-0{right:calc(var(--spacing)*0)}.right-8{right:calc(var(--spacing)*8)}.-bottom-1{bottom:calc(var(--spacing)*-1)}.bottom-8{bottom:calc(var(--spacing)*8)}.left-0{left:calc(var(--spacing)*0)}.z-20{z-index:20}.container{width:100%}@media(min-width:28rem){.container{max-width:28rem}}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.-mt-4{margin-top:calc(var(--spacing)*-4)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-5{margin-top:calc(var(--spacing)*5)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.table-row{display:table-row}.h-5{height:calc(var(--spacing)*5)}.h-12\!{height:calc(var(--spacing)*12)!important}.h-14{height:calc(var(--spacing)*14)}.h-16{height:calc(var(--spacing)*16)}.h-20{height:calc(var(--spacing)*20)}.max-h-\[70vh\]{max-height:70vh}.\!w-6{width:calc(var(--spacing)*6)!important}.\!w-auto{width:auto!important}.w-5{width:calc(var(--spacing)*5)}.w-12\!{width:calc(var(--spacing)*12)!important}.w-14{width:calc(var(--spacing)*14)}.w-fit{width:fit-content}.w-full{width:100%}.max-w-\[220px\]{max-width:220px}.max-w-md{max-width:var(--container-md)}.max-w-xl{max-width:var(--container-xl)}.min-w-0\!{min-width:calc(var(--spacing)*0)!important}.min-w-\[56px\]{min-width:56px}.min-w-\[120px\]{min-width:120px}.flex-1{flex:1}.flex-grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.cursor-not-allowed{cursor:not-allowed}.resize{resize:both}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.justify-around{justify-content:space-around}.justify-center{justify-content:center}.gap-0\.5{gap:calc(var(--spacing)*.5)}.gap-1{gap:calc(var(--spacing)*1)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*8)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*8)*calc(1 - var(--tw-space-y-reverse)))}.overflow-hidden{overflow:hidden}.rounded{border-radius:.25rem}.rounded-full\!{border-radius:3.40282e38px!important}.rounded-lg{border-radius:var(--radius-lg)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-base\/20{border-color:#f2f2f233}@supports (color:color-mix(in lab,red,red)){.border-base\/20{border-color:color-mix(in oklab,var(--color-base)20%,transparent)}}.border-border{border-color:var(--color-border)}.border-gray-300{border-color:var(--color-gray-300)}.bg-amber-600{background-color:var(--color-amber-600)}.bg-base{background-color:var(--color-base)}.bg-base-light{background-color:var(--color-base-light)}.bg-bg-error{background-color:var(--color-bg-error)}.bg-bg-info{background-color:var(--color-bg-info)}.bg-bg-success{background-color:var(--color-bg-success)}.bg-bg-warning{background-color:var(--color-bg-warning)}.bg-blue-600{background-color:var(--color-blue-600)}.bg-cyan-700{background-color:var(--color-cyan-700)}.bg-emerald-600{background-color:var(--color-emerald-600)}.bg-indigo-700{background-color:var(--color-indigo-700)}.bg-orange-700{background-color:var(--color-orange-700)}.bg-sky-700{background-color:var(--color-sky-700)}.bg-violet-600{background-color:var(--color-violet-600)}.stroke-base{stroke:var(--color-base)}.stroke-primary{stroke:var(--color-primary)}.p-0\!{padding:calc(var(--spacing)*0)!important}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-6{padding:calc(var(--spacing)*6)}.px-3{padding-inline:calc(var(--spacing)*3)}.py-2{padding-block:calc(var(--spacing)*2)}.pb-2{padding-bottom:calc(var(--spacing)*2)}.text-center{text-align:center}.text-left{text-align:left}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.\!text-error{color:var(--color-error)!important}.\!text-info{color:var(--color-info)!important}.\!text-success{color:var(--color-success)!important}.\!text-warning{color:var(--color-warning)!important}.text-amber-500{color:var(--color-amber-500)}.text-bg-error{color:var(--color-bg-error)}.text-blue-500{color:var(--color-blue-500)}.text-gray-400{color:var(--color-gray-400)}.text-gray-700{color:var(--color-gray-700)}.text-green-500{color:var(--color-green-500)}.text-hover-primary{color:var(--color-hover-primary)}.text-primary{color:var(--color-primary)}.text-text{color:var(--color-text)}.text-text-muted{color:var(--color-text-muted)}.text-text-muted\/60{color:#4d4d4d99}@supports (color:color-mix(in lab,red,red)){.text-text-muted\/60{color:color-mix(in oklab,var(--color-text-muted)60%,transparent)}}.text-white{color:var(--color-white)}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.invert{--tw-invert:invert(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-filter{-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-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-blue-400:focus{--tw-ring-color:var(--color-blue-400)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}@media(min-width:40rem){.sm\:\!block{display:block!important}.sm\:hidden{display:none}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:48rem){.md\:p-8{padding:calc(var(--spacing)*8)}}@media(min-width:64rem){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:80rem){.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}.form-container{gap:calc(var(--spacing,.25rem)*7);padding-top:calc(var(--spacing,.25rem)*1);flex-direction:column;display:flex}.form-actions{margin-top:calc(var(--spacing,.25rem)*5);gap:calc(var(--spacing,.25rem)*2);display:flex}.form-actions.end{justify-content:flex-end}.form-paragraph-container{z-index:0;margin-bottom:calc(var(--spacing,.25rem)*5);width:100%;position:relative}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-border-style:solid;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0}}}.dialog .button{border-radius:var(--radius-4xl,2rem);padding-inline:calc(var(--spacing,.25rem)*4);padding-block:calc(var(--spacing,.25rem)*1)}.dialog-backdrop{top:calc(var(--spacing,.25rem)*0);left:calc(var(--spacing,.25rem)*0);z-index:50;justify-content:center;align-items:center;width:100%;height:100vh;display:flex;position:fixed}@media not all and (min-width:28rem){.dialog-backdrop{z-index:36}}.dialog-backdrop.opened{background-color:#f2f2f233}@supports (color:color-mix(in lab,red,red)){.dialog-backdrop.opened{background-color:color-mix(in oklab,var(--color-base,#f2f2f2)20%,transparent)}}.dialog-backdrop.opened{--tw-backdrop-blur:blur(var(--blur-xl,24px));-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,)}.dialog-backdrop.closed{pointer-events:none}.dialog{border-style:var(--tw-border-style);background-color:var(--color-base,#f2f2f2);padding:calc(var(--spacing,.25rem)*5);border-width:2px;flex-direction:column;display:flex;position:relative}@media not all and (min-width:28rem){.dialog{width:100vw;height:100vh}}@media(min-width:28rem){.dialog{min-width:calc(var(--spacing,.25rem)*90);border-radius:var(--radius-2xl,1rem);border-color:var(--color-border,#ccc)}}.dialog.opened{--tw-translate-y:calc(var(--spacing,.25rem)*0);translate:var(--tw-translate-x)var(--tw-translate-y);opacity:1}.dialog.closed{--tw-translate-y:calc(var(--spacing,.25rem)*2);translate:var(--tw-translate-x)var(--tw-translate-y);opacity:0}.dialog-header{margin-bottom:calc(var(--spacing,.25rem)*6);justify-content:space-between;align-items:center;gap:calc(var(--spacing,.25rem)*2);display:flex}@media not all and (min-width:28rem){.dialog-header{margin-bottom:calc(var(--spacing,.25rem)*10)}}.dialog-title{font-size:var(--text-xl,1.25rem);line-height:var(--tw-leading,var(--text-xl--line-height,calc(1.75/1.25)));color:var(--color-text,#0d0d0d)}.dialog-actions{margin-top:calc(var(--spacing,.25rem)*2);gap:calc(var(--spacing,.25rem)*2);display:flex}.dialog-actions.end{justify-content:flex-end}.dialog-form-primary{padding-inline:calc(var(--spacing,.25rem)*6)!important}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}.import-override-label{margin-top:calc(var(--spacing,.25rem)*3);align-items:center;gap:calc(var(--spacing,.25rem)*2);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25/.875)));display:flex}.import-dialog-actions{margin-top:calc(var(--spacing,.25rem)*5)}.import-preview{margin-top:calc(var(--spacing,.25rem)*4)}.import-preview-count{font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25/.875)));color:var(--color-text-muted,#4d4d4d)}.import-preview-content{margin-top:calc(var(--spacing,.25rem)*2);max-height:calc(var(--spacing,.25rem)*56);background-color:var(--color-base-dark,#e6e6e6);padding:calc(var(--spacing,.25rem)*3);font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1/.75)));border-radius:.25rem;overflow:auto}.import-error-message{margin-top:calc(var(--spacing,.25rem)*2);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25/.875)));color:var(--color-error,#fbfbfb)}.import-loading{margin-inline:auto;margin-block:calc(var(--spacing,.25rem)*4);align-items:center;gap:calc(var(--spacing,.25rem)*3);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25/.875)));color:var(--color-text-muted,#4d4d4d);display:flex}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-font-weight:initial}}}.drawer-backdrop{z-index:36;position:fixed}.drawer-backdrop.opened{width:100vw;height:100vh}.drawer-backdrop.closed{pointer-events:none}.drawer{top:calc(var(--spacing,.25rem)*0);left:calc(var(--spacing,.25rem)*0);z-index:1;height:100vh;width:calc(var(--spacing,.25rem)*64);border-right-style:var(--tw-border-style);border-right-width:2px;border-color:var(--color-border,#ccc);background-color:var(--color-base,#f2f2f2);padding-top:calc(var(--spacing,.25rem)*5);border-radius:0;position:fixed}.drawer.opened{--tw-translate-x:calc(var(--spacing,.25rem)*0);translate:var(--tw-translate-x)var(--tw-translate-y);--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-shadow-color:#00000080}@supports (color:color-mix(in lab,red,red)){.drawer.opened{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-black,#000)50%,transparent)var(--tw-shadow-alpha),transparent)}}.drawer.closed{--tw-translate-x:calc(var(--spacing,.25rem)*-64);translate:var(--tw-translate-x)var(--tw-translate-y)}.drawer-list-item{flex-direction:column;width:100%;display:flex}@media(hover:hover){.drawer-list-item:hover{background-color:var(--color-base-light,#fff)}}.drawer-list-item.active{background-color:var(--color-base-light,#fff)}.drawer-children-list{flex-direction:column;width:100%;display:flex}.drawer-list-item-child{padding-left:calc(var(--spacing,.25rem)*7)}@media(hover:hover){.drawer-list-item-child:hover{background-color:var(--color-base,#f2f2f2)}}.drawer-list-item-child.active{background-color:var(--color-base-dark,#e6e6e6)}.drawer-link{justify-content:flex-start;align-items:center;gap:calc(var(--spacing,.25rem)*2);width:100%;padding-inline:calc(var(--spacing,.25rem)*5);padding-block:calc(var(--spacing,.25rem)*2);color:var(--color-text-muted,#4d4d4d);display:flex}.drawer-divider{--tw-border-spacing-x:calc(var(--spacing,.25rem)*.5);width:100%;border-spacing:var(--tw-border-spacing-x)var(--tw-border-spacing-y);border-color:var(--color-border,#ccc)}.drawer-header-container{justify-content:flex-start;align-items:center;gap:calc(var(--spacing,.25rem)*2);padding-inline:calc(var(--spacing,.25rem)*5);padding-bottom:calc(var(--spacing,.25rem)*5);display:flex}.drawer-header{font-size:var(--text-xl,1.25rem);line-height:var(--tw-leading,var(--text-xl--line-height,calc(1.75/1.25)));--tw-font-weight:var(--font-weight-bold,700);font-weight:var(--font-weight-bold,700);color:var(--color-text,#0d0d0d)}.drawer-menu-list{flex-direction:column;display:flex}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-border-spacing-x{syntax:"<length>";inherits:false;initial-value:0}@property --tw-border-spacing-y{syntax:"<length>";inherits:false;initial-value:0}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-duration:initial;--tw-ease:initial}}}.to-top{right:calc(var(--spacing,.25rem)*4);bottom:calc(var(--spacing,.25rem)*4);z-index:50;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4,0,.2,1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));--tw-duration:.5s;--tw-ease:var(--ease-in-out,cubic-bezier(.4,0,.2,1));transition-duration:.5s;transition-timing-function:var(--ease-in-out,cubic-bezier(.4,0,.2,1));position:fixed}.to-top.show{transform:scale(1)}.to-top.hide{transform:scale(0)}.fab{right:calc(var(--spacing,.25rem)*4);bottom:calc(var(--spacing,.25rem)*4);z-index:1;height:calc(var(--spacing,.25rem)*12);width:calc(var(--spacing,.25rem)*12);font-size:var(--text-lg,1.125rem);line-height:var(--tw-leading,var(--text-lg--line-height,calc(1.75/1.125)));position:fixed}@media(min-width:28rem){.fab{display:none!important}}.password-icon{right:calc(var(--spacing,.25rem)*2);position:absolute;top:50%;transform:translateY(-50%)}.error-container{justify-content:center;align-items:center;gap:calc(var(--spacing,.25rem)*5);padding-top:calc(var(--spacing,.25rem)*10);flex-direction:column;display:flex}.error-icon{font-size:var(--text-4xl,2.25rem);line-height:var(--tw-leading,var(--text-4xl--line-height,calc(2.5/2.25)));color:var(--color-bg-error,#c14444)}.error-message{text-align:center;color:var(--color-text,#0d0d0d)}.error-retry:hover{color:var(--color-hover-primary,#0a2f66)}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-font-weight:initial}}}.page-header{background-color:var(--color-primary,#041e42);width:100%;padding-block:calc(var(--spacing,.25rem)*2);padding-right:calc(var(--spacing,.25rem)*3);padding-left:calc(var(--spacing,.25rem)*4);color:var(--color-base-light,#fff);justify-content:space-between;align-items:center;transition:all .3s ease-in-out;display:flex}.page-header-left{justify-content:flex-start;align-items:center;gap:calc(var(--spacing,.25rem)*2);display:flex}.page-header-title{font-size:var(--text-2xl,1.5rem);line-height:var(--tw-leading,var(--text-2xl--line-height,calc(2/1.5)));--tw-font-weight:var(--font-weight-bold,700);font-weight:var(--font-weight-bold,700)}.page-main{flex-direction:column;display:flex}.page-main-content{height:100%;padding-inline:calc(var(--spacing,.25rem)*5);padding-block:calc(var(--spacing,.25rem)*3)}@media not all and (min-width:28rem){.page-main-content{padding-inline:calc(var(--spacing,.25rem)*3)}}.page-loading{height:calc(var(--spacing,.25rem)*50);justify-content:center;align-items:center;display:flex}@media not all and (min-width:28rem){.page-header-actions-desktop{display:none!important}}@media(min-width:28rem){.page-header-actions-mobile{display:none}}.page-header-actions-mobile .actions-dropdown-trigger{color:var(--color-base-light,#fff)}@media(hover:hover){.page-header-actions-mobile .actions-dropdown-trigger:hover{background-color:var(--color-secondary,#cd212a)!important}}.page-header .action{background-color:#f2f2f24d}@supports (color:color-mix(in lab,red,red)){.page-header .action{background-color:color-mix(in oklab,var(--color-base,#f2f2f2)30%,transparent)}}.page-header .action{color:var(--color-base-light,#fff)}@media(hover:hover){.page-header .action:hover{background-color:var(--color-secondary,#cd212a)}}.page-header-back,.page-header-actions-mobile .actions-dropdown-trigger{color:var(--color-base-light,#fff)}@media(hover:hover){:is(.page-header-back,.page-header-actions-mobile .actions-dropdown-trigger):hover{background-color:var(--color-secondary,#cd212a)!important}}.pretty-grid-main{gap:calc(var(--spacing,.25rem)*3);flex-wrap:wrap;display:flex}@media not all and (min-width:28rem){.pretty-grid-main{flex-direction:column}}.pretty-grid-item{min-height:auto;display:flex}.pretty-grid-load-more{width:100%;padding-block:calc(var(--spacing,.25rem)*2);justify-content:center;align-items:center;display:flex}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-font-weight:initial}}}.header{top:calc(var(--spacing,.25rem)*0);z-index:20;height:calc(var(--spacing,.25rem)*12);background-color:var(--color-primary,#041e42);width:100%;padding-inline:calc(var(--spacing,.25rem)*3);color:var(--color-base-light,#fff);justify-content:space-between;align-items:center;transition:all .3s ease-in-out;display:flex;position:sticky}.navbar-title{pointer-events:none;font-size:var(--text-lg,1.125rem);line-height:var(--tw-leading,var(--text-lg--line-height,calc(1.75/1.125)));--tw-font-weight:var(--font-weight-bold,700);font-weight:var(--font-weight-bold,700);color:var(--color-text,#0d0d0d)}.navbar-left{align-items:center;gap:calc(var(--spacing,.25rem)*2);display:flex}.navbar-right{justify-content:flex-end;align-items:center;gap:calc(var(--spacing,.25rem)*2);display:flex}.header h1{color:var(--color-base-light,#fff)}.navbar-right .actions-container .actions-container-item .action{height:calc(var(--spacing,.25rem)*7.5);width:calc(var(--spacing,.25rem)*7.5);background-color:#f2f2f24d}@supports (color:color-mix(in lab,red,red)){.navbar-right .actions-container .actions-container-item .action{background-color:color-mix(in oklab,var(--color-base,#f2f2f2)30%,transparent)}}.navbar-right .actions-container .actions-container-item .action{color:var(--color-base-light,#fff)}@media(hover:hover){.navbar-right .actions-container .actions-container-item .action:hover{background-color:var(--color-secondary,#cd212a)}}.header .icon-button,.navbar-menu{color:var(--color-base-light,#fff)}@media(hover:hover){:is(.header .icon-button,.navbar-menu):hover{background-color:var(--color-secondary,#cd212a)!important}}@property --tw-font-weight{syntax:"*";inherits:false}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-duration:initial;--tw-ease:initial}}}.notification-portal{z-index:51;pointer-events:none;bottom:calc(var(--spacing,.25rem)*0);left:calc(var(--spacing,.25rem)*0);justify-content:flex-end;align-items:flex-start;gap:calc(var(--spacing,.25rem)*2);padding:calc(var(--spacing,.25rem)*2);flex-direction:column;display:flex;position:fixed}.notification{pointer-events:auto;z-index:10;max-width:calc(100vw - 1rem);min-width:calc(var(--spacing,.25rem)*40);--tw-translate-y:calc(var(--spacing,.25rem)*0);translate:var(--tw-translate-x)var(--tw-translate-y);justify-content:space-between;align-items:center;gap:calc(var(--spacing,.25rem)*2);border-radius:var(--radius-3xl,1.5rem);padding:calc(var(--spacing,.25rem)*2);padding-inline:calc(var(--spacing,.25rem)*2.5);opacity:1;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4,0,.2,1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));--tw-duration:.3s;--tw-ease:var(--ease-in-out,cubic-bezier(.4,0,.2,1));transition-duration:.3s;transition-timing-function:var(--ease-in-out,cubic-bezier(.4,0,.2,1));display:flex;position:relative}@media not all and (min-width:28rem){.notification{width:100%}}.notification.closing{--tw-translate-y:calc(var(--spacing,.25rem)*2);translate:var(--tw-translate-x)var(--tw-translate-y);opacity:0}.notification-portal.active{width:100vw;height:100vh}.notification-body{min-width:calc(var(--spacing,.25rem)*0);align-items:center;gap:calc(var(--spacing,.25rem)*1);display:flex}.notification-icon{flex-shrink:0}@media not all and (min-width:28rem){.notification-icon{display:none!important}}.notification-text{font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25/.875)));overflow-wrap:break-word}@media not all and (min-width:28rem){.notification-text{padding-left:calc(var(--spacing,.25rem)*1);font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1/.75)))}}.notification-close{height:calc(var(--spacing,.25rem)*6)!important;min-height:calc(var(--spacing,.25rem)*6)!important;width:calc(var(--spacing,.25rem)*6)!important;min-width:calc(var(--spacing,.25rem)*6)!important}.notification-close-icon{cursor:pointer;font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1/.75)))}@media(hover:hover){.notification-close-icon:is(:where(.group):hover *){color:var(--color-error,#fbfbfb)!important}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}.splash-screen{justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;overflow:hidden}.tabs-layout-main{border-top-right-radius:var(--radius-xl,.75rem);border-bottom-right-radius:var(--radius-xl,.75rem);border-bottom-left-radius:var(--radius-xl,.75rem)}.tabs-container{margin-bottom:calc(var(--spacing,.25rem)*5);justify-content:flex-start;align-items:center;width:100%;display:flex}@media(min-width:28rem){.tabs-container{margin-bottom:calc(var(--spacing,.25rem)*0)}}.tab{padding-inline:calc(var(--spacing,.25rem)*3);white-space:nowrap;--tw-border-style:none!important;padding-top:calc(var(--spacing,.25rem)*2)!important;border-style:none!important;border-radius:0!important}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-leading:initial}}}.onboarding-main{top:calc(var(--spacing,.25rem)*0);left:calc(var(--spacing,.25rem)*0);z-index:50;background-color:var(--color-base,#f2f2f2);justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:fixed}.onboarding-main .tabs-layout-main{gap:calc(var(--spacing,.25rem)*40);flex-direction:column-reverse;height:auto;display:flex}.onboarding-main .tabs-container{justify-content:center;gap:calc(var(--spacing,.25rem)*5)}.onboarding-main .tab{height:calc(var(--spacing,.25rem)*2);width:calc(var(--spacing,.25rem)*2);padding:calc(var(--spacing,.25rem)*0);border-radius:3.40282e38px!important}.onboarding-main .tab.outlined{background-color:var(--color-primary,#041e42)!important}.step-container{width:var(--container-md,28rem);gap:calc(var(--spacing,.25rem)*20);flex-direction:column;display:flex}.step-title{text-align:center;font-size:var(--text-5xl,3rem);line-height:var(--tw-leading,var(--text-5xl--line-height,1));--tw-leading:calc(var(--spacing,.25rem)*16);line-height:calc(var(--spacing,.25rem)*16)}.step-body{text-align:center;font-size:var(--text-lg,1.125rem)!important;line-height:var(--tw-leading,var(--text-lg--line-height,calc(1.75/1.125)))!important}.step-content{gap:calc(var(--spacing,.25rem)*5);flex-direction:column;display:flex}.step-actions{justify-content:center;align-items:center;gap:calc(var(--spacing,.25rem)*5);display:flex}.step-button{padding-inline:calc(var(--spacing,.25rem)*8)!important}@property --tw-leading{syntax:"*";inherits:false}/*! tailwindcss v4.1.11 | MIT License | https://tailwindcss.com */.empty-container{justify-content:center;align-items:center;gap:calc(var(--spacing,.25rem)*5);padding-top:calc(var(--spacing,.25rem)*5);flex-direction:column;display:flex}.empty-message{text-align:center;text-wrap:balance;color:var(--color-text-muted,#4d4d4d)}
@@ -1,3 +1,13 @@
1
1
  import { AuthProviderContextType } from './types';
2
+ /** React context for authentication session state and actions. */
2
3
  export declare const AuthContext: import('react').Context<AuthProviderContextType | undefined>;
4
+ /**
5
+ * Returns AuthContext value and throws when provider is missing.
6
+ * @returns Required auth context value.
7
+ */
3
8
  export declare const useAuthContext: () => AuthProviderContextType;
9
+ /**
10
+ * Returns AuthContext value or undefined when provider is absent.
11
+ * @returns Optional auth context value.
12
+ */
13
+ export declare const useOptionalAuthContext: () => AuthProviderContextType | undefined;
@@ -1,4 +1,9 @@
1
1
  import { BasicProviderPropTypes, NotificationContextType } from './types';
2
+ /**
3
+ * Provides notification state and helper actions to descendant components.
4
+ * @param props - Provider props.
5
+ * @returns Notification context provider.
6
+ */
2
7
  export declare function NotificationProvider(props: BasicProviderPropTypes): import("react/jsx-runtime").JSX.Element;
3
8
  /**
4
9
  *
@@ -1,3 +1,8 @@
1
1
  import { SupabaseManagerProviderContextType } from './types';
2
+ /** React context that stores the active Supabase manager client. */
2
3
  export declare const SupabaseManagerContext: import('react').Context<SupabaseManagerProviderContextType | undefined>;
4
+ /**
5
+ * Returns the Supabase client from context and enforces provider usage.
6
+ * @returns Supabase manager client.
7
+ */
3
8
  export declare const useSupabase: () => import('@supabase/supabase-js').SupabaseClient<any, "public", "public", any, any>;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@sito/dashboard-app",
3
3
  "private": false,
4
- "version": "0.0.57",
4
+ "version": "0.0.59",
5
5
  "type": "module",
6
6
  "description": "UI Library with prefab components",
7
7
  "main": "dist/dashboard-app.cjs",