@softpak/components 19.16.0 → 19.17.0-beta.1

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 (66) hide show
  1. package/fesm2022/softpak-components-spx-alert.mjs +7 -6
  2. package/fesm2022/softpak-components-spx-alert.mjs.map +1 -1
  3. package/fesm2022/softpak-components-spx-app-expiry.mjs +23 -91
  4. package/fesm2022/softpak-components-spx-app-expiry.mjs.map +1 -1
  5. package/fesm2022/softpak-components-spx-button.mjs +8 -22
  6. package/fesm2022/softpak-components-spx-button.mjs.map +1 -1
  7. package/fesm2022/softpak-components-spx-card.mjs +17 -88
  8. package/fesm2022/softpak-components-spx-card.mjs.map +1 -1
  9. package/fesm2022/softpak-components-spx-change-details.mjs +50 -70
  10. package/fesm2022/softpak-components-spx-change-details.mjs.map +1 -1
  11. package/fesm2022/softpak-components-spx-check-digit.mjs +23 -27
  12. package/fesm2022/softpak-components-spx-check-digit.mjs.map +1 -1
  13. package/fesm2022/softpak-components-spx-confirm.mjs.map +1 -1
  14. package/fesm2022/softpak-components-spx-form-section.mjs +8 -33
  15. package/fesm2022/softpak-components-spx-form-section.mjs.map +1 -1
  16. package/fesm2022/softpak-components-spx-form-view.mjs +39 -53
  17. package/fesm2022/softpak-components-spx-form-view.mjs.map +1 -1
  18. package/fesm2022/softpak-components-spx-inputs.mjs.map +1 -1
  19. package/fesm2022/softpak-components-spx-navigation.mjs +34 -89
  20. package/fesm2022/softpak-components-spx-navigation.mjs.map +1 -1
  21. package/fesm2022/softpak-components-spx-number-check.mjs +91 -198
  22. package/fesm2022/softpak-components-spx-number-check.mjs.map +1 -1
  23. package/fesm2022/softpak-components-spx-pagination.mjs +12 -21
  24. package/fesm2022/softpak-components-spx-pagination.mjs.map +1 -1
  25. package/fesm2022/softpak-components-spx-patch.mjs +8 -39
  26. package/fesm2022/softpak-components-spx-patch.mjs.map +1 -1
  27. package/fesm2022/softpak-components-spx-progress-bar.mjs +8 -22
  28. package/fesm2022/softpak-components-spx-progress-bar.mjs.map +1 -1
  29. package/fesm2022/softpak-components-spx-spinner.mjs +15 -160
  30. package/fesm2022/softpak-components-spx-spinner.mjs.map +1 -1
  31. package/fesm2022/softpak-components-spx-stock-info.mjs +81 -127
  32. package/fesm2022/softpak-components-spx-stock-info.mjs.map +1 -1
  33. package/fesm2022/softpak-components-spx-toaster.mjs +36 -155
  34. package/fesm2022/softpak-components-spx-toaster.mjs.map +1 -1
  35. package/fesm2022/softpak-components-spx-update.mjs +3 -3
  36. package/fesm2022/softpak-components-spx-update.mjs.map +1 -1
  37. package/fesm2022/softpak-components-spx-validation.mjs +68 -54
  38. package/fesm2022/softpak-components-spx-validation.mjs.map +1 -1
  39. package/package.json +17 -17
  40. package/spx-alert/spx-alert.component.d.ts +1 -1
  41. package/spx-app-expiry/spx-app-expiry.component.d.ts +14 -14
  42. package/spx-button/spx-button.component.d.ts +0 -3
  43. package/spx-card/spx-card-item/spx-card-item.component.d.ts +0 -1
  44. package/spx-card/spx-card.component.d.ts +8 -9
  45. package/spx-change-details/spx-change-details.component.d.ts +22 -23
  46. package/spx-check-digit/spx-check-digit.component.d.ts +9 -9
  47. package/spx-form-section/spx-form-section.component.d.ts +5 -5
  48. package/spx-form-view/spx-autocomplete-search.component.d.ts +15 -16
  49. package/spx-form-view/spx-form-view.component.d.ts +1 -1
  50. package/spx-navigation/public-api.d.ts +2 -2
  51. package/spx-navigation/spx-home-tile/spx-home-tile.component.d.ts +11 -0
  52. package/spx-navigation/{spx-home-tiles.component.d.ts → spx-home-tile/spx-home-tiles.component.d.ts} +2 -2
  53. package/spx-navigation/spx-navigation.component.d.ts +11 -8
  54. package/spx-number-check/spx-number-check.component.d.ts +26 -32
  55. package/spx-pagination/spx-pagination.component.d.ts +9 -10
  56. package/spx-patch/spx-patch.component.d.ts +4 -4
  57. package/spx-progress-bar/spx-progress-bar.component.d.ts +3 -3
  58. package/spx-spinner/spx-spinner.component.d.ts +3 -3
  59. package/spx-stock-info/spx-stock-info.component.d.ts +48 -46
  60. package/spx-toaster/src/spx-toaster-message.interface.d.ts +3 -1
  61. package/spx-toaster/src/spx-toaster.component.d.ts +7 -13
  62. package/spx-update/store/spx-update-check/spx-update-check.actions.d.ts +5 -5
  63. package/spx-update/store/spx-update-pending/spx-update-pending.actions.d.ts +1 -1
  64. package/spx-validation/spx-validate-control.component.d.ts +19 -19
  65. package/tailwind.css +1 -1
  66. package/spx-navigation/spx-home-tile.component.d.ts +0 -11
@@ -22,7 +22,7 @@ export declare class SpxFormViewComponent {
22
22
  valuePair: SpxValuePair<any>;
23
23
  }>;
24
24
  spxInputs: import("@angular/core").Signal<readonly ElementRef<any>[]>;
25
- autocompleteField?: SpxFormFieldI;
25
+ autoCompleteField: import("@angular/core").WritableSignal<SpxFormFieldI | null>;
26
26
  typeAutocomplete: SpxInputTypeEnum;
27
27
  typeButton: SpxInputTypeEnum;
28
28
  typeFloat: SpxInputTypeEnum;
@@ -1,7 +1,7 @@
1
1
  export * from './spx-navigation-item.interface';
2
2
  export * from './spx-navigation.component';
3
- export * from './spx-home-tile.component';
4
- export * from './spx-home-tiles.component';
3
+ export * from './spx-home-tile/spx-home-tile.component';
4
+ export * from './spx-home-tile/spx-home-tiles.component';
5
5
  export * as spxNavigationActions from './store/spx-navigation/spx-navigation.actions';
6
6
  export * as spxNavigationInitial from './store/spx-navigation/spx-navigation.initial';
7
7
  export * as spxNavigationReducer from './store/spx-navigation/spx-navigation.reducer';
@@ -0,0 +1,11 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class SpxHomeTileComponent {
3
+ readonly spxAutofocus: import("@angular/core").InputSignal<boolean | undefined>;
4
+ readonly spxClass: import("@angular/core").InputSignal<string | undefined>;
5
+ readonly spxSubtitle: import("@angular/core").InputSignal<string | undefined>;
6
+ readonly spxTitle: import("@angular/core").InputSignal<string | undefined>;
7
+ private buttonRef;
8
+ setFocus(): void;
9
+ static ɵfac: i0.ɵɵFactoryDeclaration<SpxHomeTileComponent, never>;
10
+ static ɵcmp: i0.ɵɵComponentDeclaration<SpxHomeTileComponent, "spx-home-tile", never, { "spxAutofocus": { "alias": "spxAutofocus"; "required": false; "isSignal": true; }; "spxClass": { "alias": "spxClass"; "required": false; "isSignal": true; }; "spxSubtitle": { "alias": "spxSubtitle"; "required": false; "isSignal": true; }; "spxTitle": { "alias": "spxTitle"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
11
+ }
@@ -1,6 +1,6 @@
1
1
  import * as i0 from "@angular/core";
2
2
  export declare class SpxHomeTilesComponent {
3
- spxCols: 1 | 2;
3
+ readonly spxCols: import("@angular/core").InputSignal<1 | 2>;
4
4
  static ɵfac: i0.ɵɵFactoryDeclaration<SpxHomeTilesComponent, never>;
5
- static ɵcmp: i0.ɵɵComponentDeclaration<SpxHomeTilesComponent, "spx-home-tiles", never, { "spxCols": { "alias": "spxCols"; "required": false; }; }, {}, never, ["*"], true, never>;
5
+ static ɵcmp: i0.ɵɵComponentDeclaration<SpxHomeTilesComponent, "spx-home-tiles", never, { "spxCols": { "alias": "spxCols"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
6
6
  }
@@ -1,18 +1,21 @@
1
- import { EventEmitter, QueryList, TemplateRef } from '@angular/core';
2
- import { SpxHomeTileComponent } from './spx-home-tile.component';
1
+ import { OnDestroy, OnInit } from '@angular/core';
2
+ import { SpxHomeTileComponent } from './spx-home-tile/spx-home-tile.component';
3
3
  import { Store } from '@ngrx/store';
4
4
  import { SpxNavigationItemI } from './spx-navigation-item.interface';
5
+ import { Subscription } from 'rxjs';
5
6
  import * as i0 from "@angular/core";
6
- export declare class SpxNavigationComponent {
7
+ export declare class SpxNavigationComponent implements OnInit, OnDestroy {
7
8
  private readonly appStore;
8
9
  readonly spxOverwriteNavItems: import("@angular/core").InputSignal<SpxNavigationItemI[] | undefined>;
9
- tiles?: QueryList<SpxHomeTileComponent>;
10
- iconTemplateRef?: TemplateRef<any>;
11
- spxClick: EventEmitter<string>;
12
- navItems: import("rxjs").Observable<SpxNavigationItemI[]>;
10
+ tiles: import("@angular/core").Signal<readonly SpxHomeTileComponent[]>;
11
+ spxClick: import("@angular/core").OutputEmitterRef<string>;
12
+ navItems: import("@angular/core").WritableSignal<SpxNavigationItemI[]>;
13
+ menuItemsSubscription: Subscription | null;
13
14
  constructor(appStore: Store);
15
+ ngOnInit(): void;
16
+ ngOnDestroy(): void;
14
17
  setFocus(): void;
15
18
  onNavigate(link: string): void;
16
19
  static ɵfac: i0.ɵɵFactoryDeclaration<SpxNavigationComponent, never>;
17
- static ɵcmp: i0.ɵɵComponentDeclaration<SpxNavigationComponent, "spx-navigation", never, { "spxOverwriteNavItems": { "alias": "spxOverwriteNavItems"; "required": false; "isSignal": true; }; }, { "spxClick": "spxClick"; }, ["iconTemplateRef"], never, true, never>;
20
+ static ɵcmp: i0.ɵɵComponentDeclaration<SpxNavigationComponent, "spx-navigation", never, { "spxOverwriteNavItems": { "alias": "spxOverwriteNavItems"; "required": false; "isSignal": true; }; }, { "spxClick": "spxClick"; }, never, never, true, never>;
18
21
  }
@@ -1,46 +1,40 @@
1
- import { ElementRef, EventEmitter, OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core';
1
+ import { ElementRef, OnDestroy, OnInit } from '@angular/core';
2
2
  import { FormBuilder, FormControl, FormGroup } from '@angular/forms';
3
3
  import { SpxSeverityEnum } from '@softpak/components/spx-helpers';
4
- import { Subscription } from 'rxjs';
5
4
  import * as i0 from "@angular/core";
6
- export declare class SpxNumberCheckComponent implements OnChanges, OnInit, OnDestroy {
5
+ export declare class SpxNumberCheckComponent implements OnInit, OnDestroy {
7
6
  private readonly formBuilder;
8
- spxAction: string;
9
- spxSimpleMode: boolean;
10
- spxPincode: string;
11
- txtCancel: string;
12
- txtConfirm: string;
13
- txtConfirmMessage: string;
14
- txtReset: string;
15
- spxCancel: EventEmitter<void>;
16
- spxConfirm: EventEmitter<void>;
17
- viewChild1: ElementRef<HTMLInputElement>;
18
- viewChild2: ElementRef<HTMLInputElement>;
19
- viewChild3: ElementRef<HTMLInputElement>;
20
- viewChild4: ElementRef<HTMLInputElement>;
21
- form: FormGroup;
7
+ readonly spxAction: import("@angular/core").InputSignal<string>;
8
+ readonly spxSimpleMode: import("@angular/core").InputSignal<boolean>;
9
+ readonly spxPincode: import("@angular/core").InputSignal<string>;
10
+ readonly txtCancel: import("@angular/core").InputSignal<string>;
11
+ readonly txtConfirm: import("@angular/core").InputSignal<string>;
12
+ readonly txtConfirmMessage: import("@angular/core").InputSignal<string>;
13
+ readonly txtReset: import("@angular/core").InputSignal<string>;
14
+ spxCancel: import("@angular/core").OutputEmitterRef<void>;
15
+ spxConfirm: import("@angular/core").OutputEmitterRef<void>;
16
+ readonly viewChild1: import("@angular/core").Signal<HTMLInputElement>;
17
+ readonly viewChild2: import("@angular/core").Signal<ElementRef<HTMLInputElement>>;
18
+ readonly viewChild3: import("@angular/core").Signal<ElementRef<HTMLInputElement>>;
19
+ readonly viewChild4: import("@angular/core").Signal<ElementRef<HTMLInputElement>>;
20
+ form: import("@angular/core").WritableSignal<FormGroup<any> | null>;
22
21
  spxSeverity: typeof SpxSeverityEnum;
23
- accepted: boolean;
24
- denied: boolean;
25
- listenToCtrl1?: Subscription;
26
- listenToCtrl2?: Subscription;
27
- listenToCtrl3?: Subscription;
28
- listenToCtrl4?: Subscription;
29
- listenToTyping?: Subscription;
30
- get ctrl1(): FormControl;
31
- get ctrl2(): FormControl;
32
- get ctrl3(): FormControl;
33
- get ctrl4(): FormControl;
22
+ accepted: import("@angular/core").WritableSignal<boolean>;
23
+ denied: import("@angular/core").WritableSignal<boolean>;
24
+ private subscription;
25
+ readonly ctrl1: import("@angular/core").Signal<FormControl<any>>;
26
+ readonly ctrl2: import("@angular/core").Signal<FormControl<any>>;
27
+ readonly ctrl3: import("@angular/core").Signal<FormControl<any>>;
28
+ readonly ctrl4: import("@angular/core").Signal<FormControl<any>>;
34
29
  constructor(formBuilder: FormBuilder);
35
30
  ngOnInit(): void;
36
- ngOnChanges(changes: SimpleChanges): void;
37
31
  ngOnDestroy(): void;
38
32
  handleCancel(): void;
39
33
  handleConfirm(): void;
40
34
  handleReset(): void;
41
- onDigitInput(event: any): void;
42
- onBackspace(event: any): void;
35
+ onDigitInput(event: KeyboardEvent): void;
36
+ onBackspace(event: Event): void;
43
37
  private checkPincode;
44
38
  static ɵfac: i0.ɵɵFactoryDeclaration<SpxNumberCheckComponent, never>;
45
- static ɵcmp: i0.ɵɵComponentDeclaration<SpxNumberCheckComponent, "spx-number-check", never, { "spxAction": { "alias": "spxAction"; "required": false; }; "spxSimpleMode": { "alias": "spxSimpleMode"; "required": false; }; "spxPincode": { "alias": "spxPincode"; "required": false; }; "txtCancel": { "alias": "txtCancel"; "required": false; }; "txtConfirm": { "alias": "txtConfirm"; "required": false; }; "txtConfirmMessage": { "alias": "txtConfirmMessage"; "required": false; }; "txtReset": { "alias": "txtReset"; "required": false; }; }, { "spxCancel": "spxCancel"; "spxConfirm": "spxConfirm"; }, never, never, true, never>;
39
+ static ɵcmp: i0.ɵɵComponentDeclaration<SpxNumberCheckComponent, "spx-number-check", never, { "spxAction": { "alias": "spxAction"; "required": true; "isSignal": true; }; "spxSimpleMode": { "alias": "spxSimpleMode"; "required": false; "isSignal": true; }; "spxPincode": { "alias": "spxPincode"; "required": true; "isSignal": true; }; "txtCancel": { "alias": "txtCancel"; "required": true; "isSignal": true; }; "txtConfirm": { "alias": "txtConfirm"; "required": true; "isSignal": true; }; "txtConfirmMessage": { "alias": "txtConfirmMessage"; "required": true; "isSignal": true; }; "txtReset": { "alias": "txtReset"; "required": true; "isSignal": true; }; }, { "spxCancel": "spxCancel"; "spxConfirm": "spxConfirm"; }, never, never, true, never>;
46
40
  }
@@ -1,16 +1,15 @@
1
- import { EventEmitter } from '@angular/core';
2
1
  import { IconProp } from '@fortawesome/angular-fontawesome/types';
3
2
  import * as i0 from "@angular/core";
4
3
  export declare class SpxPaginationComponent {
5
- faArrowLeft: IconProp;
6
- faArrowRight: IconProp;
7
- spxPage: number;
8
- spxMaxPages: number;
9
- textNext: string;
10
- textPage: string;
11
- textPrevious: string;
12
- spxPageChange: EventEmitter<number>;
4
+ readonly faArrowLeft: import("@angular/core").InputSignal<IconProp>;
5
+ readonly faArrowRight: import("@angular/core").InputSignal<IconProp>;
6
+ readonly spxPage: import("@angular/core").InputSignal<number>;
7
+ readonly spxMaxPages: import("@angular/core").InputSignal<number>;
8
+ readonly textNext: import("@angular/core").InputSignal<string>;
9
+ readonly textPage: import("@angular/core").InputSignal<string>;
10
+ readonly textPrevious: import("@angular/core").InputSignal<string>;
11
+ spxPageChange: import("@angular/core").OutputEmitterRef<number>;
13
12
  onPageChange(page: number): void;
14
13
  static ɵfac: i0.ɵɵFactoryDeclaration<SpxPaginationComponent, never>;
15
- static ɵcmp: i0.ɵɵComponentDeclaration<SpxPaginationComponent, "spx-pagination", never, { "faArrowLeft": { "alias": "faArrowLeft"; "required": false; }; "faArrowRight": { "alias": "faArrowRight"; "required": false; }; "spxPage": { "alias": "spxPage"; "required": false; }; "spxMaxPages": { "alias": "spxMaxPages"; "required": false; }; "textNext": { "alias": "textNext"; "required": false; }; "textPage": { "alias": "textPage"; "required": false; }; "textPrevious": { "alias": "textPrevious"; "required": false; }; }, { "spxPageChange": "spxPageChange"; }, never, never, true, never>;
14
+ static ɵcmp: i0.ɵɵComponentDeclaration<SpxPaginationComponent, "spx-pagination", never, { "faArrowLeft": { "alias": "faArrowLeft"; "required": true; "isSignal": true; }; "faArrowRight": { "alias": "faArrowRight"; "required": true; "isSignal": true; }; "spxPage": { "alias": "spxPage"; "required": true; "isSignal": true; }; "spxMaxPages": { "alias": "spxMaxPages"; "required": true; "isSignal": true; }; "textNext": { "alias": "textNext"; "required": true; "isSignal": true; }; "textPage": { "alias": "textPage"; "required": true; "isSignal": true; }; "textPrevious": { "alias": "textPrevious"; "required": true; "isSignal": true; }; }, { "spxPageChange": "spxPageChange"; }, never, never, true, never>;
16
15
  }
@@ -1,11 +1,11 @@
1
1
  import { SpxSeverityEnum } from '@softpak/components/spx-helpers';
2
2
  import * as i0 from "@angular/core";
3
3
  export declare class SpxPatchComponent {
4
- spxText: string;
5
- patchCheck: number | null;
6
- releaseCheck: string | null;
4
+ readonly spxText: import("@angular/core").InputSignal<string>;
5
+ readonly patchCheck: import("@angular/core").InputSignal<number | null>;
6
+ readonly releaseCheck: import("@angular/core").InputSignal<string | null>;
7
7
  severityError: SpxSeverityEnum;
8
8
  severityWarning: SpxSeverityEnum;
9
9
  static ɵfac: i0.ɵɵFactoryDeclaration<SpxPatchComponent, never>;
10
- static ɵcmp: i0.ɵɵComponentDeclaration<SpxPatchComponent, "spx-patch", never, { "spxText": { "alias": "spxText"; "required": false; }; "patchCheck": { "alias": "patchCheck"; "required": false; }; "releaseCheck": { "alias": "releaseCheck"; "required": false; }; }, {}, never, never, true, never>;
10
+ static ɵcmp: i0.ɵɵComponentDeclaration<SpxPatchComponent, "spx-patch", never, { "spxText": { "alias": "spxText"; "required": true; "isSignal": true; }; "patchCheck": { "alias": "patchCheck"; "required": true; "isSignal": true; }; "releaseCheck": { "alias": "releaseCheck"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
11
11
  }
@@ -1,7 +1,7 @@
1
1
  import * as i0 from "@angular/core";
2
2
  export declare class SpxProgressBarComponent {
3
- spxPercentage: number;
4
- spxTitle: string;
3
+ readonly spxPercentage: import("@angular/core").InputSignal<number>;
4
+ readonly spxTitle: import("@angular/core").InputSignal<string>;
5
5
  static ɵfac: i0.ɵɵFactoryDeclaration<SpxProgressBarComponent, never>;
6
- static ɵcmp: i0.ɵɵComponentDeclaration<SpxProgressBarComponent, "spx-progress-bar", never, { "spxPercentage": { "alias": "spxPercentage"; "required": false; }; "spxTitle": { "alias": "spxTitle"; "required": false; }; }, {}, never, never, true, never>;
6
+ static ɵcmp: i0.ɵɵComponentDeclaration<SpxProgressBarComponent, "spx-progress-bar", never, { "spxPercentage": { "alias": "spxPercentage"; "required": true; "isSignal": true; }; "spxTitle": { "alias": "spxTitle"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
7
7
  }
@@ -1,7 +1,7 @@
1
1
  import * as i0 from "@angular/core";
2
2
  export declare class SpxSpinnerComponent {
3
- spxShow: boolean;
4
- spxLoaderText: string;
3
+ readonly spxShow: import("@angular/core").InputSignal<boolean>;
4
+ readonly spxLoaderText: import("@angular/core").InputSignal<string>;
5
5
  static ɵfac: i0.ɵɵFactoryDeclaration<SpxSpinnerComponent, never>;
6
- static ɵcmp: i0.ɵɵComponentDeclaration<SpxSpinnerComponent, "spx-spinner", never, { "spxShow": { "alias": "spxShow"; "required": false; }; "spxLoaderText": { "alias": "spxLoaderText"; "required": false; }; }, {}, never, never, true, never>;
6
+ static ɵcmp: i0.ɵɵComponentDeclaration<SpxSpinnerComponent, "spx-spinner", never, { "spxShow": { "alias": "spxShow"; "required": false; "isSignal": true; }; "spxLoaderText": { "alias": "spxLoaderText"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
7
7
  }
@@ -1,4 +1,3 @@
1
- import { EventEmitter } from '@angular/core';
2
1
  import { FormBuilder, FormControl, FormGroup } from '@angular/forms';
3
2
  import { SpxValuePair } from '@softpak/components/spx-inputs';
4
3
  import { SpxFormFieldI, SpxFormI } from '@softpak/components/spx-form-view';
@@ -18,52 +17,55 @@ export declare const sectionCustomer = "sectionCustomer";
18
17
  export declare const sectionLocation = "sectionLocation";
19
18
  export declare class SpxStockInfoComponent {
20
19
  readonly formBuilder: FormBuilder;
21
- statusGroupsInPatch: boolean;
22
- containers: any[];
23
- currentPage: number;
24
- faArrowLeft: IconProp;
25
- faArrowRight: IconProp;
26
- faContainerStorage: IconProp;
27
- formGroup: FormGroup;
28
- loaded: boolean;
29
- pageSize: number;
30
- suggestions: any;
31
- textCategory: string;
32
- textContainerInfo: string;
33
- textContainerStatus: string;
34
- textContainerStatusGroup: string;
35
- textContainerType: string;
36
- textCustomer: string;
37
- textDepot: string;
38
- textLocation: string;
39
- textNext: string;
40
- textPage: string;
41
- textPrevious: string;
42
- textSearch: string;
43
- textNoResults: string;
44
- textYouCanChangeYourFilters: string;
45
- spxBlurCategory: EventEmitter<SpxValuePair<string>>;
46
- spxBlurContainerStatus: EventEmitter<SpxValuePair<string>>;
47
- spxBlurContainerStatusGroup: EventEmitter<SpxValuePair<string>>;
48
- spxBlurContainerType: EventEmitter<SpxValuePair<string>>;
49
- spxBlurCustomer: EventEmitter<SpxValuePair<string>>;
50
- spxClickContainer: EventEmitter<any>;
51
- spxPageChange: EventEmitter<number>;
52
- spxSearchCategory: EventEmitter<SpxValuePair<string>>;
53
- spxSearchContainerStatus: EventEmitter<SpxValuePair<string>>;
54
- spxSearchContainerStatusGroup: EventEmitter<SpxValuePair<string>>;
55
- spxSearchContainerType: EventEmitter<SpxValuePair<string>>;
56
- spxSearchCustomer: EventEmitter<SpxValuePair<string>>;
57
- spxSubmit: EventEmitter<SpxStockInfoValueI>;
20
+ readonly depotReadonly: import("@angular/core").InputSignal<boolean>;
21
+ readonly statusGroupsInPatch: import("@angular/core").InputSignal<boolean>;
22
+ readonly containers: import("@angular/core").InputSignal<any[]>;
23
+ readonly currentPage: import("@angular/core").InputSignal<number>;
24
+ readonly faArrowLeft: import("@angular/core").InputSignal<IconProp>;
25
+ readonly faArrowRight: import("@angular/core").InputSignal<IconProp>;
26
+ readonly faContainerStorage: import("@angular/core").InputSignal<IconProp>;
27
+ readonly formGroup: import("@angular/core").InputSignal<FormGroup<any>>;
28
+ readonly loaded: import("@angular/core").InputSignal<boolean>;
29
+ readonly pageSize: import("@angular/core").InputSignal<number>;
30
+ readonly suggestions: import("@angular/core").InputSignal<any>;
31
+ readonly textCategory: import("@angular/core").InputSignal<string>;
32
+ readonly textContainerInfo: import("@angular/core").InputSignal<string>;
33
+ readonly textContainerStatus: import("@angular/core").InputSignal<string>;
34
+ readonly textContainerStatusGroup: import("@angular/core").InputSignal<string>;
35
+ readonly textContainerType: import("@angular/core").InputSignal<string>;
36
+ readonly textCustomer: import("@angular/core").InputSignal<string>;
37
+ readonly textDepot: import("@angular/core").InputSignal<string>;
38
+ readonly textLocation: import("@angular/core").InputSignal<string>;
39
+ readonly textNext: import("@angular/core").InputSignal<string>;
40
+ readonly textPage: import("@angular/core").InputSignal<string>;
41
+ readonly textPrevious: import("@angular/core").InputSignal<string>;
42
+ readonly textSearch: import("@angular/core").InputSignal<string>;
43
+ readonly textNoResults: import("@angular/core").InputSignal<string>;
44
+ readonly textYouCanChangeYourFilters: import("@angular/core").InputSignal<string>;
45
+ readonly spxBlurCategory: import("@angular/core").OutputEmitterRef<SpxValuePair<string>>;
46
+ readonly spxBlurContainerStatus: import("@angular/core").OutputEmitterRef<SpxValuePair<string>>;
47
+ readonly spxBlurContainerStatusGroup: import("@angular/core").OutputEmitterRef<SpxValuePair<string>>;
48
+ readonly spxBlurContainerType: import("@angular/core").OutputEmitterRef<SpxValuePair<string>>;
49
+ readonly spxBlurCustomer: import("@angular/core").OutputEmitterRef<SpxValuePair<string>>;
50
+ readonly spxBlurDepot: import("@angular/core").OutputEmitterRef<SpxValuePair<string>>;
51
+ readonly spxClickContainer: import("@angular/core").OutputEmitterRef<any>;
52
+ readonly spxPageChange: import("@angular/core").OutputEmitterRef<number>;
53
+ readonly spxSearchCategory: import("@angular/core").OutputEmitterRef<SpxValuePair<string>>;
54
+ readonly spxSearchContainerStatus: import("@angular/core").OutputEmitterRef<SpxValuePair<string>>;
55
+ readonly spxSearchContainerStatusGroup: import("@angular/core").OutputEmitterRef<SpxValuePair<string>>;
56
+ readonly spxSearchContainerType: import("@angular/core").OutputEmitterRef<SpxValuePair<string>>;
57
+ readonly spxSearchCustomer: import("@angular/core").OutputEmitterRef<SpxValuePair<string>>;
58
+ readonly spxSearchDepot: import("@angular/core").OutputEmitterRef<SpxValuePair<string>>;
59
+ readonly spxSubmit: import("@angular/core").OutputEmitterRef<SpxStockInfoValueI>;
58
60
  severityInfo: SpxSeverityEnum;
59
61
  form: SpxFormI;
60
- get ctrlCategory(): FormControl;
61
- get ctrlContainerStatus(): FormControl;
62
- get ctrlContainerStatusGroup(): FormControl;
63
- get ctrlContainerType(): FormControl;
64
- get ctrlCustomer(): FormControl;
65
- get ctrlDepot(): FormControl;
66
- get ctrlLocation(): FormControl;
62
+ readonly ctrlCategory: import("@angular/core").Signal<FormControl<any>>;
63
+ readonly ctrlContainerStatus: import("@angular/core").Signal<FormControl<any>>;
64
+ readonly ctrlContainerStatusGroup: import("@angular/core").Signal<FormControl<any>>;
65
+ readonly ctrlContainerType: import("@angular/core").Signal<FormControl<any>>;
66
+ readonly ctrlCustomer: import("@angular/core").Signal<FormControl<any>>;
67
+ readonly ctrlDepot: import("@angular/core").Signal<FormControl<any>>;
68
+ readonly ctrlLocation: import("@angular/core").Signal<FormControl<any>>;
67
69
  constructor(formBuilder: FormBuilder);
68
70
  createForm(): FormGroup;
69
71
  getRawValidators(formControl: FormControl): any;
@@ -79,5 +81,5 @@ export declare class SpxStockInfoComponent {
79
81
  goToContainer(container: any): void;
80
82
  onSubmit(): void;
81
83
  static ɵfac: i0.ɵɵFactoryDeclaration<SpxStockInfoComponent, never>;
82
- static ɵcmp: i0.ɵɵComponentDeclaration<SpxStockInfoComponent, "spx-stock-info", never, { "statusGroupsInPatch": { "alias": "statusGroupsInPatch"; "required": false; }; "containers": { "alias": "containers"; "required": false; }; "currentPage": { "alias": "currentPage"; "required": false; }; "faArrowLeft": { "alias": "faArrowLeft"; "required": false; }; "faArrowRight": { "alias": "faArrowRight"; "required": false; }; "faContainerStorage": { "alias": "faContainerStorage"; "required": false; }; "formGroup": { "alias": "formGroup"; "required": false; }; "loaded": { "alias": "loaded"; "required": false; }; "pageSize": { "alias": "pageSize"; "required": false; }; "suggestions": { "alias": "suggestions"; "required": false; }; "textCategory": { "alias": "textCategory"; "required": false; }; "textContainerInfo": { "alias": "textContainerInfo"; "required": false; }; "textContainerStatus": { "alias": "textContainerStatus"; "required": false; }; "textContainerStatusGroup": { "alias": "textContainerStatusGroup"; "required": false; }; "textContainerType": { "alias": "textContainerType"; "required": false; }; "textCustomer": { "alias": "textCustomer"; "required": false; }; "textDepot": { "alias": "textDepot"; "required": false; }; "textLocation": { "alias": "textLocation"; "required": false; }; "textNext": { "alias": "textNext"; "required": false; }; "textPage": { "alias": "textPage"; "required": false; }; "textPrevious": { "alias": "textPrevious"; "required": false; }; "textSearch": { "alias": "textSearch"; "required": false; }; "textNoResults": { "alias": "textNoResults"; "required": false; }; "textYouCanChangeYourFilters": { "alias": "textYouCanChangeYourFilters"; "required": false; }; }, { "spxBlurCategory": "spxBlurCategory"; "spxBlurContainerStatus": "spxBlurContainerStatus"; "spxBlurContainerStatusGroup": "spxBlurContainerStatusGroup"; "spxBlurContainerType": "spxBlurContainerType"; "spxBlurCustomer": "spxBlurCustomer"; "spxClickContainer": "spxClickContainer"; "spxPageChange": "spxPageChange"; "spxSearchCategory": "spxSearchCategory"; "spxSearchContainerStatus": "spxSearchContainerStatus"; "spxSearchContainerStatusGroup": "spxSearchContainerStatusGroup"; "spxSearchContainerType": "spxSearchContainerType"; "spxSearchCustomer": "spxSearchCustomer"; "spxSubmit": "spxSubmit"; }, never, never, true, never>;
84
+ static ɵcmp: i0.ɵɵComponentDeclaration<SpxStockInfoComponent, "spx-stock-info", never, { "depotReadonly": { "alias": "depotReadonly"; "required": false; "isSignal": true; }; "statusGroupsInPatch": { "alias": "statusGroupsInPatch"; "required": true; "isSignal": true; }; "containers": { "alias": "containers"; "required": true; "isSignal": true; }; "currentPage": { "alias": "currentPage"; "required": true; "isSignal": true; }; "faArrowLeft": { "alias": "faArrowLeft"; "required": true; "isSignal": true; }; "faArrowRight": { "alias": "faArrowRight"; "required": true; "isSignal": true; }; "faContainerStorage": { "alias": "faContainerStorage"; "required": true; "isSignal": true; }; "formGroup": { "alias": "formGroup"; "required": true; "isSignal": true; }; "loaded": { "alias": "loaded"; "required": true; "isSignal": true; }; "pageSize": { "alias": "pageSize"; "required": true; "isSignal": true; }; "suggestions": { "alias": "suggestions"; "required": false; "isSignal": true; }; "textCategory": { "alias": "textCategory"; "required": true; "isSignal": true; }; "textContainerInfo": { "alias": "textContainerInfo"; "required": true; "isSignal": true; }; "textContainerStatus": { "alias": "textContainerStatus"; "required": true; "isSignal": true; }; "textContainerStatusGroup": { "alias": "textContainerStatusGroup"; "required": true; "isSignal": true; }; "textContainerType": { "alias": "textContainerType"; "required": true; "isSignal": true; }; "textCustomer": { "alias": "textCustomer"; "required": true; "isSignal": true; }; "textDepot": { "alias": "textDepot"; "required": true; "isSignal": true; }; "textLocation": { "alias": "textLocation"; "required": true; "isSignal": true; }; "textNext": { "alias": "textNext"; "required": true; "isSignal": true; }; "textPage": { "alias": "textPage"; "required": true; "isSignal": true; }; "textPrevious": { "alias": "textPrevious"; "required": true; "isSignal": true; }; "textSearch": { "alias": "textSearch"; "required": true; "isSignal": true; }; "textNoResults": { "alias": "textNoResults"; "required": true; "isSignal": true; }; "textYouCanChangeYourFilters": { "alias": "textYouCanChangeYourFilters"; "required": true; "isSignal": true; }; }, { "spxBlurCategory": "spxBlurCategory"; "spxBlurContainerStatus": "spxBlurContainerStatus"; "spxBlurContainerStatusGroup": "spxBlurContainerStatusGroup"; "spxBlurContainerType": "spxBlurContainerType"; "spxBlurCustomer": "spxBlurCustomer"; "spxBlurDepot": "spxBlurDepot"; "spxClickContainer": "spxClickContainer"; "spxPageChange": "spxPageChange"; "spxSearchCategory": "spxSearchCategory"; "spxSearchContainerStatus": "spxSearchContainerStatus"; "spxSearchContainerStatusGroup": "spxSearchContainerStatusGroup"; "spxSearchContainerType": "spxSearchContainerType"; "spxSearchCustomer": "spxSearchCustomer"; "spxSearchDepot": "spxSearchDepot"; "spxSubmit": "spxSubmit"; }, never, never, true, never>;
83
85
  }
@@ -1,10 +1,12 @@
1
1
  import { SpxSeverityEnum } from "@softpak/components/spx-helpers";
2
2
  export declare class SpxToasterMessageI {
3
- autoClose?: any;
3
+ private _autoClose?;
4
4
  title?: string;
5
5
  closeable?: boolean;
6
6
  id: number;
7
7
  message: string;
8
8
  severity: SpxSeverityEnum;
9
9
  uniqueIdentifier?: string;
10
+ get autoClose(): number | undefined;
11
+ set autoClose(value: number);
10
12
  }
@@ -1,19 +1,13 @@
1
- import { ElementRef, EventEmitter, OnChanges, Renderer2 } from '@angular/core';
1
+ import { ElementRef } from '@angular/core';
2
2
  import { SpxToasterMessageI } from './spx-toaster-message.interface';
3
3
  import * as i0 from "@angular/core";
4
- export declare class SpxToasterComponent implements OnChanges {
5
- private renderer;
4
+ export declare class SpxToasterComponent {
6
5
  private el;
7
- hostClass: boolean;
8
- messages: SpxToasterMessageI[];
9
- spxClose: EventEmitter<number>;
10
- spxAutoclose: number | undefined;
11
- count: number;
12
- constructor(renderer: Renderer2, el: ElementRef);
13
- ngOnChanges(): void;
14
- showProgressBar(autoclose: number, id: number): void;
6
+ messages: import("@angular/core").InputSignal<SpxToasterMessageI[]>;
7
+ readonly spxAutoclose: import("@angular/core").InputSignal<number | undefined>;
8
+ spxClose: import("@angular/core").OutputEmitterRef<number>;
9
+ constructor(el: ElementRef);
15
10
  handleClose(id: number): void;
16
- private calcToasterAutocloseSpeed;
17
11
  static ɵfac: i0.ɵɵFactoryDeclaration<SpxToasterComponent, never>;
18
- static ɵcmp: i0.ɵɵComponentDeclaration<SpxToasterComponent, "spx-toaster", never, { "messages": { "alias": "messages"; "required": false; }; "spxAutoclose": { "alias": "spxAutoclose"; "required": false; }; }, { "spxClose": "spxClose"; }, never, never, true, never>;
12
+ static ɵcmp: i0.ɵɵComponentDeclaration<SpxToasterComponent, "spx-toaster", never, { "messages": { "alias": "messages"; "required": true; "isSignal": true; }; "spxAutoclose": { "alias": "spxAutoclose"; "required": false; "isSignal": true; }; }, { "spxClose": "spxClose"; }, never, never, true, never>;
19
13
  }
@@ -17,12 +17,12 @@ export declare const runCheck: import("@ngrx/store").ActionCreator<"[SPX / Updat
17
17
  }) => {
18
18
  forceWaitForUpdate?: boolean;
19
19
  } & import("@ngrx/store").Action<"[SPX / Update Check] Run">>;
20
- declare const all: (Record<string, unknown> & import("@ngrx/store").Action<"[SPX / Update Check] Initialize">) | ({
21
- forceWaitForUpdate?: boolean;
22
- } & import("@ngrx/store").Action<"[SPX / Update Check] Run">) | (Record<string, unknown> & import("@ngrx/store").Action<"[SPX / Update Check] An update is ready">) | ({
20
+ declare const all: (Record<string, unknown> & import("@ngrx/store").Action<"[SPX / Update Check] An update is ready">) | (Record<string, unknown> & import("@ngrx/store").Action<"[SPX / Update Check] Clear error">) | ({
23
21
  startUpdateAgainAfterTimeout?: boolean;
24
- } & import("@ngrx/store").Action<"[SPX / Update Check] No update was found">) | (Record<string, unknown> & import("@ngrx/store").Action<"[SPX / Update Check] Not available on web">) | ({
22
+ } & import("@ngrx/store").Action<"[SPX / Update Check] Error happened">) | (Record<string, unknown> & import("@ngrx/store").Action<"[SPX / Update Check] Initialize">) | ({
25
23
  startUpdateAgainAfterTimeout?: boolean;
26
- } & import("@ngrx/store").Action<"[SPX / Update Check] Error happened">) | (Record<string, unknown> & import("@ngrx/store").Action<"[SPX / Update Check] Clear error">);
24
+ } & import("@ngrx/store").Action<"[SPX / Update Check] No update was found">) | (Record<string, unknown> & import("@ngrx/store").Action<"[SPX / Update Check] Not available on web">) | ({
25
+ forceWaitForUpdate?: boolean;
26
+ } & import("@ngrx/store").Action<"[SPX / Update Check] Run">);
27
27
  export type Actions = typeof all;
28
28
  export {};
@@ -3,6 +3,6 @@ export declare const hasBeenDownloaded: import("@ngrx/store").ActionCreator<"[SP
3
3
  export declare const hasBeenInstalled: import("@ngrx/store").ActionCreator<"[SPX / Update Pending] Has been installed", (props: Record<string, unknown>) => Record<string, unknown> & import("@ngrx/store").Action<"[SPX / Update Pending] Has been installed">>;
4
4
  export declare const postpone: import("@ngrx/store").ActionCreator<"[SPX / Update Pending] Postpone", (props: Record<string, unknown>) => Record<string, unknown> & import("@ngrx/store").Action<"[SPX / Update Pending] Postpone">>;
5
5
  export declare const postponeExpired: import("@ngrx/store").ActionCreator<"[SPX / Update Pending] Postpone expired", (props: Record<string, unknown>) => Record<string, unknown> & import("@ngrx/store").Action<"[SPX / Update Pending] Postpone expired">>;
6
- declare const all: (Record<string, unknown> & import("@ngrx/store").Action<"[SPX / Update Pending] Has been downloaded">) | (Record<string, unknown> & import("@ngrx/store").Action<"[SPX / Update Pending] Accept update">) | (Record<string, unknown> & import("@ngrx/store").Action<"[SPX / Update Pending] Has been installed">) | (Record<string, unknown> & import("@ngrx/store").Action<"[SPX / Update Pending] Postpone">) | (Record<string, unknown> & import("@ngrx/store").Action<"[SPX / Update Pending] Postpone expired">);
6
+ declare const all: (Record<string, unknown> & import("@ngrx/store").Action<"[SPX / Update Pending] Accept update">) | (Record<string, unknown> & import("@ngrx/store").Action<"[SPX / Update Pending] Has been downloaded">) | (Record<string, unknown> & import("@ngrx/store").Action<"[SPX / Update Pending] Has been installed">) | (Record<string, unknown> & import("@ngrx/store").Action<"[SPX / Update Pending] Postpone">) | (Record<string, unknown> & import("@ngrx/store").Action<"[SPX / Update Pending] Postpone expired">);
7
7
  export type Actions = typeof all;
8
8
  export {};
@@ -1,24 +1,24 @@
1
1
  import { AbstractControl } from '@angular/forms';
2
2
  import * as i0 from "@angular/core";
3
3
  export declare class SpxValidateControlComponent {
4
- control: AbstractControl;
5
- label: string | unknown;
6
- submitTried: boolean;
7
- get maxLength(): any;
8
- get maxLengthRequiredLength(): any;
9
- get minLength(): any;
10
- get minLengthRequiredLength(): any;
11
- get max(): any;
12
- get maxRequiredMax(): any;
13
- get min(): any;
14
- get minRequiredMin(): any;
15
- get pattern(): any;
16
- get required(): any;
17
- get year(): any;
18
- get yearFuture(): any;
19
- get month(): any;
20
- get future(): any;
21
- get past(): any;
4
+ readonly control: import("@angular/core").InputSignal<AbstractControl<any, any>>;
5
+ readonly label: import("@angular/core").InputSignal<unknown>;
6
+ readonly submitTried: import("@angular/core").InputSignal<boolean | undefined>;
7
+ maxLength: import("@angular/core").Signal<any>;
8
+ maxLengthRequiredLength: import("@angular/core").Signal<any>;
9
+ minLength: import("@angular/core").Signal<any>;
10
+ minLengthRequiredLength: import("@angular/core").Signal<any>;
11
+ max: import("@angular/core").Signal<any>;
12
+ maxRequiredMax: import("@angular/core").Signal<any>;
13
+ min: import("@angular/core").Signal<any>;
14
+ minRequiredMin: import("@angular/core").Signal<any>;
15
+ pattern: import("@angular/core").Signal<any>;
16
+ required: import("@angular/core").Signal<any>;
17
+ year: import("@angular/core").Signal<any>;
18
+ yearFuture: import("@angular/core").Signal<any>;
19
+ month: import("@angular/core").Signal<any>;
20
+ future: import("@angular/core").Signal<any>;
21
+ past: import("@angular/core").Signal<any>;
22
22
  static ɵfac: i0.ɵɵFactoryDeclaration<SpxValidateControlComponent, never>;
23
- static ɵcmp: i0.ɵɵComponentDeclaration<SpxValidateControlComponent, "spx-validate-control", never, { "control": { "alias": "control"; "required": false; }; "label": { "alias": "label"; "required": false; }; "submitTried": { "alias": "submitTried"; "required": false; }; }, {}, never, never, true, never>;
23
+ static ɵcmp: i0.ɵɵComponentDeclaration<SpxValidateControlComponent, "spx-validate-control", never, { "control": { "alias": "control"; "required": true; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "submitTried": { "alias": "submitTried"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
24
24
  }
package/tailwind.css CHANGED
@@ -1 +1 @@
1
- *,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.bottom-0{bottom:0}.bottom-16{bottom:4rem}.left-0{left:0}.left-1\/2{left:50%}.right-0{right:0}.top-0{top:0}.top-1\/2{top:50%}.z-20{z-index:20}.z-40{z-index:40}.z-50{z-index:50}.m-3{margin:.75rem}.m-auto{margin:auto}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-0\.5{margin-top:.125rem;margin-bottom:.125rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.25rem}.mb-3{margin-bottom:.75rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mt-12{margin-top:3rem}.mt-3{margin-top:.75rem}.mt-32{margin-top:8rem}.block{display:block}.inline{display:inline}.flex{display:flex}.grid{display:grid}.hidden{display:none}.h-4{height:1rem}.h-5{height:1.25rem}.h-\[150px\]{height:150px}.h-\[30px\]{height:30px}.h-full{height:100%}.w-16{width:4rem}.w-24{width:6rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-96{width:24rem}.w-\[150px\]{width:150px}.w-\[30px\]{width:30px}.w-full{width:100%}.min-w-12{min-width:3rem}.min-w-\[36px\]{min-width:36px}.max-w-12{max-width:3rem}.max-w-96{max-width:24rem}.max-w-lg{max-width:32rem}.flex-1{flex:1 1 0%}.flex-auto{flex:1 1 auto}.flex-none{flex:none}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.grow-0{flex-grow:0}.basis-10{flex-basis:2.5rem}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-y-1\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y:-50%}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.grid-flow-row{grid-auto-flow:row}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-rows-2{grid-template-rows:repeat(2,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.content-center{align-content:center}.items-end{align-items:flex-end}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-around{justify-content:space-around}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.self-center{align-self:center}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;white-space:nowrap}.text-ellipsis,.truncate{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-line{white-space:pre-line}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-none{border-radius:0}.rounded-xl{border-radius:.75rem}.rounded-b{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-b-lg{border-bottom-left-radius:.5rem}.rounded-b-lg,.rounded-r-lg{border-bottom-right-radius:.5rem}.rounded-r-lg{border-top-right-radius:.5rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.border{border-width:1px}.border-t-4{border-top-width:4px}.border-amber-500{--tw-border-opacity:1;border-color:rgb(245 158 11/var(--tw-border-opacity,1))}.border-cyan-500{--tw-border-opacity:1;border-color:rgb(6 182 212/var(--tw-border-opacity,1))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.border-lime-500{--tw-border-opacity:1;border-color:rgb(132 204 22/var(--tw-border-opacity,1))}.border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.border-transparent{border-color:#0000}.bg-amber-100{--tw-bg-opacity:1;background-color:rgb(254 243 199/var(--tw-bg-opacity,1))}.bg-amber-400{--tw-bg-opacity:1;background-color:rgb(251 191 36/var(--tw-bg-opacity,1))}.bg-amber-50{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.bg-amber-600{--tw-bg-opacity:1;background-color:rgb(217 119 6/var(--tw-bg-opacity,1))}.bg-amber-700{--tw-bg-opacity:1;background-color:rgb(180 83 9/var(--tw-bg-opacity,1))}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.bg-black\/75{background-color:#000000bf}.bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.bg-blue-700{--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity,1))}.bg-cyan-100{--tw-bg-opacity:1;background-color:rgb(207 250 254/var(--tw-bg-opacity,1))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity,1))}.bg-gray-400{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity,1))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.bg-green-700{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.bg-lime-100{--tw-bg-opacity:1;background-color:rgb(236 252 203/var(--tw-bg-opacity,1))}.bg-lime-600{--tw-bg-opacity:1;background-color:rgb(101 163 13/var(--tw-bg-opacity,1))}.bg-neutral-700{--tw-bg-opacity:1;background-color:rgb(64 64 64/var(--tw-bg-opacity,1))}.bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.bg-red-700{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.bg-sky-100{--tw-bg-opacity:1;background-color:rgb(224 242 254/var(--tw-bg-opacity,1))}.bg-sky-200{--tw-bg-opacity:1;background-color:rgb(186 230 253/var(--tw-bg-opacity,1))}.bg-sky-400{--tw-bg-opacity:1;background-color:rgb(56 189 248/var(--tw-bg-opacity,1))}.bg-sky-600{--tw-bg-opacity:1;background-color:rgb(2 132 199/var(--tw-bg-opacity,1))}.bg-slate-100{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity,1))}.bg-teal-600{--tw-bg-opacity:1;background-color:rgb(13 148 136/var(--tw-bg-opacity,1))}.bg-teal-700{--tw-bg-opacity:1;background-color:rgb(15 118 110/var(--tw-bg-opacity,1))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-yellow-300{--tw-bg-opacity:1;background-color:rgb(253 224 71/var(--tw-bg-opacity,1))}.bg-zinc-700{--tw-bg-opacity:1;background-color:rgb(63 63 70/var(--tw-bg-opacity,1))}.bg-\[linear-gradient\(to_right\2c theme\(colors\.green\.300\)\2c theme\(colors\.green\.100\)\2c theme\(colors\.sky\.400\)\2c theme\(colors\.yellow\.200\)\2c theme\(colors\.sky\.400\)\2c theme\(colors\.green\.100\)\2c theme\(colors\.green\.300\)\)\]{background-image:linear-gradient(90deg,#86efac,#dcfce7,#38bdf8,#fef08a,#38bdf8,#dcfce7,#86efac)}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-amber-400{--tw-gradient-from:#fbbf24 var(--tw-gradient-from-position);--tw-gradient-to:#fbbf2400 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-lime-400{--tw-gradient-from:#a3e635 var(--tw-gradient-from-position);--tw-gradient-to:#a3e63500 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-red-400{--tw-gradient-from:#f87171 var(--tw-gradient-from-position);--tw-gradient-to:#f8717100 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-teal-400{--tw-gradient-from:#2dd4bf var(--tw-gradient-from-position);--tw-gradient-to:#2dd4bf00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.to-amber-600{--tw-gradient-to:#d97706 var(--tw-gradient-to-position)}.to-lime-600{--tw-gradient-to:#65a30d var(--tw-gradient-to-position)}.to-red-600{--tw-gradient-to:#dc2626 var(--tw-gradient-to-position)}.to-teal-600{--tw-gradient-to:#0d9488 var(--tw-gradient-to-position)}.bg-\[length\:200\%_auto\]{background-size:200% auto}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.pb-2{padding-bottom:.5rem}.pl-3{padding-left:.75rem}.pt-1{padding-top:.25rem}.pt-16{padding-top:4rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-2xl{font-size:1.5rem;line-height:2rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-medium{font-weight:500}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.leading-5{line-height:1.25rem}.leading-normal{line-height:1.5}.text-amber-600{--tw-text-opacity:1;color:rgb(217 119 6/var(--tw-text-opacity,1))}.text-amber-900{--tw-text-opacity:1;color:rgb(120 53 15/var(--tw-text-opacity,1))}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.text-cyan-600{--tw-text-opacity:1;color:rgb(8 145 178/var(--tw-text-opacity,1))}.text-cyan-900{--tw-text-opacity:1;color:rgb(22 78 99/var(--tw-text-opacity,1))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.text-lime-600{--tw-text-opacity:1;color:rgb(101 163 13/var(--tw-text-opacity,1))}.text-lime-900{--tw-text-opacity:1;color:rgb(54 83 20/var(--tw-text-opacity,1))}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.text-red-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.text-red-900{--tw-text-opacity:1;color:rgb(127 29 29/var(--tw-text-opacity,1))}.text-transparent{color:#0000}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-zinc-300{--tw-text-opacity:1;color:rgb(212 212 216/var(--tw-text-opacity,1))}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-90{opacity:.9}.shadow{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.outline-none{outline:2px solid #0000;outline-offset:2px}.ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-blue-500{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity,1))}.ring-offset-2{--tw-ring-offset-width:2px}.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)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.hover\:bg-amber-200:hover{--tw-bg-opacity:1;background-color:rgb(253 230 138/var(--tw-bg-opacity,1))}.hover\:bg-blue-800:hover{--tw-bg-opacity:1;background-color:rgb(30 64 175/var(--tw-bg-opacity,1))}.hover\:bg-cyan-200:hover{--tw-bg-opacity:1;background-color:rgb(165 243 252/var(--tw-bg-opacity,1))}.hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.hover\:bg-lime-200:hover{--tw-bg-opacity:1;background-color:rgb(217 249 157/var(--tw-bg-opacity,1))}.hover\:bg-red-200:hover{--tw-bg-opacity:1;background-color:rgb(254 202 202/var(--tw-bg-opacity,1))}.hover\:bg-sky-300:hover{--tw-bg-opacity:1;background-color:rgb(125 211 252/var(--tw-bg-opacity,1))}.focus\:outline-none:focus{outline:2px solid #0000;outline-offset:2px}.focus\:ring-0:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-0:focus,.focus\:ring-2:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-amber-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(217 119 6/var(--tw-ring-opacity,1))}.focus\:ring-blue-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity,1))}.focus\:ring-blue-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(37 99 235/var(--tw-ring-opacity,1))}.focus\:ring-cyan-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(8 145 178/var(--tw-ring-opacity,1))}.focus\:ring-lime-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(101 163 13/var(--tw-ring-opacity,1))}.focus\:ring-red-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(220 38 38/var(--tw-ring-opacity,1))}.focus\:ring-sky-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(125 211 252/var(--tw-ring-opacity,1))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.active\:bg-sky-300:active{--tw-bg-opacity:1;background-color:rgb(125 211 252/var(--tw-bg-opacity,1))}@media (min-width:640px){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-rows-1{grid-template-rows:repeat(1,minmax(0,1fr))}}@media (min-width:768px){.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (prefers-color-scheme:dark){.dark\:bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.dark\:bg-gray-600{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.dark\:bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.dark\:bg-slate-600{--tw-bg-opacity:1;background-color:rgb(71 85 105/var(--tw-bg-opacity,1))}.dark\:text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.dark\:text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.dark\:brightness-\[1\.10\]{--tw-brightness:brightness(1.10)}.dark\:brightness-\[1\.10\],.dark\:contrast-\[\.76\]{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)}.dark\:contrast-\[\.76\]{--tw-contrast:contrast(.76)}.dark\:hue-rotate-\[156deg\]{--tw-hue-rotate:hue-rotate(156deg)}.dark\:hue-rotate-\[156deg\],.dark\:invert-\[1\]{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)}.dark\:invert-\[1\]{--tw-invert:invert(1)}.dark\:saturate-\[\.10\]{--tw-saturate:saturate(.10)}.dark\:saturate-\[\.10\],.dark\:sepia-\[\.04\]{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)}.dark\:sepia-\[\.04\]{--tw-sepia:sepia(.04)}}
1
+ *,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.bottom-0{bottom:0}.bottom-16{bottom:4rem}.left-0{left:0}.left-1\/2{left:50%}.right-0{right:0}.top-0{top:0}.top-1\/2{top:50%}.z-20{z-index:20}.z-40{z-index:40}.z-50{z-index:50}.m-3{margin:.75rem}.m-auto{margin:auto}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-0\.5{margin-top:.125rem;margin-bottom:.125rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.25rem}.mb-3{margin-bottom:.75rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mt-12{margin-top:3rem}.mt-3{margin-top:.75rem}.mt-32{margin-top:8rem}.block{display:block}.inline{display:inline}.flex{display:flex}.grid{display:grid}.hidden{display:none}.h-4{height:1rem}.h-5{height:1.25rem}.h-\[150px\]{height:150px}.h-\[30px\]{height:30px}.h-full{height:100%}.w-16{width:4rem}.w-24{width:6rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-96{width:24rem}.w-\[150px\]{width:150px}.w-\[30px\]{width:30px}.w-full{width:100%}.min-w-12{min-width:3rem}.min-w-\[36px\]{min-width:36px}.max-w-12{max-width:3rem}.max-w-96{max-width:24rem}.max-w-lg{max-width:32rem}.flex-1{flex:1 1 0%}.flex-auto{flex:1 1 auto}.flex-none{flex:none}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.grow-0{flex-grow:0}.basis-10{flex-basis:2.5rem}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-y-1\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y:-50%}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.grid-flow-row{grid-auto-flow:row}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-rows-2{grid-template-rows:repeat(2,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.content-center{align-content:center}.items-end{align-items:flex-end}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-around{justify-content:space-around}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.self-center{align-self:center}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;white-space:nowrap}.text-ellipsis,.truncate{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-line{white-space:pre-line}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-none{border-radius:0}.rounded-xl{border-radius:.75rem}.rounded-b{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-b-lg{border-bottom-left-radius:.5rem}.rounded-b-lg,.rounded-r-lg{border-bottom-right-radius:.5rem}.rounded-r-lg{border-top-right-radius:.5rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.border{border-width:1px}.border-t-4{border-top-width:4px}.border-amber-500{--tw-border-opacity:1;border-color:rgb(245 158 11/var(--tw-border-opacity,1))}.border-cyan-500{--tw-border-opacity:1;border-color:rgb(6 182 212/var(--tw-border-opacity,1))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.border-lime-500{--tw-border-opacity:1;border-color:rgb(132 204 22/var(--tw-border-opacity,1))}.border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.border-transparent{border-color:#0000}.bg-amber-100{--tw-bg-opacity:1;background-color:rgb(254 243 199/var(--tw-bg-opacity,1))}.bg-amber-400{--tw-bg-opacity:1;background-color:rgb(251 191 36/var(--tw-bg-opacity,1))}.bg-amber-50{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.bg-amber-600{--tw-bg-opacity:1;background-color:rgb(217 119 6/var(--tw-bg-opacity,1))}.bg-amber-700{--tw-bg-opacity:1;background-color:rgb(180 83 9/var(--tw-bg-opacity,1))}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.bg-black\/75{background-color:#000000bf}.bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.bg-blue-700{--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity,1))}.bg-cyan-100{--tw-bg-opacity:1;background-color:rgb(207 250 254/var(--tw-bg-opacity,1))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity,1))}.bg-gray-400{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity,1))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.bg-green-700{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.bg-lime-100{--tw-bg-opacity:1;background-color:rgb(236 252 203/var(--tw-bg-opacity,1))}.bg-lime-600{--tw-bg-opacity:1;background-color:rgb(101 163 13/var(--tw-bg-opacity,1))}.bg-neutral-700{--tw-bg-opacity:1;background-color:rgb(64 64 64/var(--tw-bg-opacity,1))}.bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.bg-red-700{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.bg-sky-100{--tw-bg-opacity:1;background-color:rgb(224 242 254/var(--tw-bg-opacity,1))}.bg-sky-200{--tw-bg-opacity:1;background-color:rgb(186 230 253/var(--tw-bg-opacity,1))}.bg-sky-400{--tw-bg-opacity:1;background-color:rgb(56 189 248/var(--tw-bg-opacity,1))}.bg-sky-600{--tw-bg-opacity:1;background-color:rgb(2 132 199/var(--tw-bg-opacity,1))}.bg-slate-100{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity,1))}.bg-teal-600{--tw-bg-opacity:1;background-color:rgb(13 148 136/var(--tw-bg-opacity,1))}.bg-teal-700{--tw-bg-opacity:1;background-color:rgb(15 118 110/var(--tw-bg-opacity,1))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-yellow-300{--tw-bg-opacity:1;background-color:rgb(253 224 71/var(--tw-bg-opacity,1))}.bg-zinc-700{--tw-bg-opacity:1;background-color:rgb(63 63 70/var(--tw-bg-opacity,1))}.bg-\[linear-gradient\(to_right\2c theme\(colors\.green\.300\)\2c theme\(colors\.green\.100\)\2c theme\(colors\.sky\.400\)\2c theme\(colors\.yellow\.200\)\2c theme\(colors\.sky\.400\)\2c theme\(colors\.green\.100\)\2c theme\(colors\.green\.300\)\)\]{background-image:linear-gradient(90deg,#86efac,#dcfce7,#38bdf8,#fef08a,#38bdf8,#dcfce7,#86efac)}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-amber-400{--tw-gradient-from:#fbbf24 var(--tw-gradient-from-position);--tw-gradient-to:#fbbf2400 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-lime-400{--tw-gradient-from:#a3e635 var(--tw-gradient-from-position);--tw-gradient-to:#a3e63500 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-red-400{--tw-gradient-from:#f87171 var(--tw-gradient-from-position);--tw-gradient-to:#f8717100 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-teal-400{--tw-gradient-from:#2dd4bf var(--tw-gradient-from-position);--tw-gradient-to:#2dd4bf00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.to-amber-600{--tw-gradient-to:#d97706 var(--tw-gradient-to-position)}.to-lime-600{--tw-gradient-to:#65a30d var(--tw-gradient-to-position)}.to-red-600{--tw-gradient-to:#dc2626 var(--tw-gradient-to-position)}.to-teal-600{--tw-gradient-to:#0d9488 var(--tw-gradient-to-position)}.bg-\[length\:200\%_auto\]{background-size:200% auto}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.pb-2{padding-bottom:.5rem}.pl-3{padding-left:.75rem}.pt-1{padding-top:.25rem}.pt-16{padding-top:4rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-2xl{font-size:1.5rem;line-height:2rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-medium{font-weight:500}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.leading-5{line-height:1.25rem}.leading-normal{line-height:1.5}.text-amber-600{--tw-text-opacity:1;color:rgb(217 119 6/var(--tw-text-opacity,1))}.text-amber-900{--tw-text-opacity:1;color:rgb(120 53 15/var(--tw-text-opacity,1))}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.text-cyan-600{--tw-text-opacity:1;color:rgb(8 145 178/var(--tw-text-opacity,1))}.text-cyan-900{--tw-text-opacity:1;color:rgb(22 78 99/var(--tw-text-opacity,1))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.text-lime-600{--tw-text-opacity:1;color:rgb(101 163 13/var(--tw-text-opacity,1))}.text-lime-900{--tw-text-opacity:1;color:rgb(54 83 20/var(--tw-text-opacity,1))}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.text-red-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.text-red-900{--tw-text-opacity:1;color:rgb(127 29 29/var(--tw-text-opacity,1))}.text-transparent{color:#0000}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-zinc-300{--tw-text-opacity:1;color:rgb(212 212 216/var(--tw-text-opacity,1))}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-90{opacity:.9}.shadow{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.outline-none{outline:2px solid #0000;outline-offset:2px}.ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-blue-500{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity,1))}.ring-offset-2{--tw-ring-offset-width:2px}.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)}.hover\:bg-amber-200:hover{--tw-bg-opacity:1;background-color:rgb(253 230 138/var(--tw-bg-opacity,1))}.hover\:bg-blue-800:hover{--tw-bg-opacity:1;background-color:rgb(30 64 175/var(--tw-bg-opacity,1))}.hover\:bg-cyan-200:hover{--tw-bg-opacity:1;background-color:rgb(165 243 252/var(--tw-bg-opacity,1))}.hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.hover\:bg-lime-200:hover{--tw-bg-opacity:1;background-color:rgb(217 249 157/var(--tw-bg-opacity,1))}.hover\:bg-red-200:hover{--tw-bg-opacity:1;background-color:rgb(254 202 202/var(--tw-bg-opacity,1))}.hover\:bg-sky-300:hover{--tw-bg-opacity:1;background-color:rgb(125 211 252/var(--tw-bg-opacity,1))}.focus\:outline-none:focus{outline:2px solid #0000;outline-offset:2px}.focus\:ring-0:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-0:focus,.focus\:ring-2:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-amber-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(217 119 6/var(--tw-ring-opacity,1))}.focus\:ring-blue-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity,1))}.focus\:ring-blue-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(37 99 235/var(--tw-ring-opacity,1))}.focus\:ring-cyan-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(8 145 178/var(--tw-ring-opacity,1))}.focus\:ring-lime-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(101 163 13/var(--tw-ring-opacity,1))}.focus\:ring-red-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(220 38 38/var(--tw-ring-opacity,1))}.focus\:ring-sky-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(125 211 252/var(--tw-ring-opacity,1))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.active\:bg-sky-300:active{--tw-bg-opacity:1;background-color:rgb(125 211 252/var(--tw-bg-opacity,1))}@media (min-width:640px){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-rows-1{grid-template-rows:repeat(1,minmax(0,1fr))}}@media (min-width:768px){.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (prefers-color-scheme:dark){.dark\:bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.dark\:bg-gray-600{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.dark\:bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.dark\:bg-slate-600{--tw-bg-opacity:1;background-color:rgb(71 85 105/var(--tw-bg-opacity,1))}.dark\:text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.dark\:text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.dark\:brightness-\[1\.10\]{--tw-brightness:brightness(1.10)}.dark\:brightness-\[1\.10\],.dark\:contrast-\[\.76\]{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)}.dark\:contrast-\[\.76\]{--tw-contrast:contrast(.76)}.dark\:hue-rotate-\[156deg\]{--tw-hue-rotate:hue-rotate(156deg)}.dark\:hue-rotate-\[156deg\],.dark\:invert-\[1\]{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)}.dark\:invert-\[1\]{--tw-invert:invert(1)}.dark\:saturate-\[\.10\]{--tw-saturate:saturate(.10)}.dark\:saturate-\[\.10\],.dark\:sepia-\[\.04\]{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)}.dark\:sepia-\[\.04\]{--tw-sepia:sepia(.04)}}