vs-datatable 1.0.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,5 @@
1
1
  import type { DataTableProps } from '@/types/datatable';
2
- declare var __VLS_8: {}, __VLS_11: `header-${any}`, __VLS_12: {
3
- column: any;
4
- }, __VLS_26: any, __VLS_27: {
2
+ declare var __VLS_9: {}, __VLS_12: {}, __VLS_25: number, __VLS_26: {
5
3
  filter: {
6
4
  type: "text";
7
5
  value?: string | undefined;
@@ -32,32 +30,15 @@ declare var __VLS_8: {}, __VLS_11: `header-${any}`, __VLS_12: {
32
30
  };
33
31
  apply: () => void;
34
32
  clear: () => void;
35
- }, __VLS_29: {}, __VLS_32: `cell-${any}`, __VLS_33: {
36
- item: any;
37
- value: any;
38
- column: any;
39
- index: number;
40
- }, __VLS_35: {
41
- item: any;
42
- index: number;
43
- }, __VLS_37: {
44
- item: any;
45
- index: number;
46
- };
33
+ }, __VLS_37: number, __VLS_38: any;
47
34
  type __VLS_Slots = {} & {
48
- [K in NonNullable<typeof __VLS_11>]?: (props: typeof __VLS_12) => any;
49
- } & {
50
- [K in NonNullable<typeof __VLS_26>]?: (props: typeof __VLS_27) => any;
51
- } & {
52
- [K in NonNullable<typeof __VLS_32>]?: (props: typeof __VLS_33) => any;
35
+ [K in NonNullable<typeof __VLS_25>]?: (props: typeof __VLS_26) => any;
53
36
  } & {
54
- filterArea?: (props: typeof __VLS_8) => any;
37
+ [K in NonNullable<typeof __VLS_37>]?: (props: typeof __VLS_38) => any;
55
38
  } & {
56
- 'no-data'?: (props: typeof __VLS_29) => any;
39
+ filterAreaLeft?: (props: typeof __VLS_9) => any;
57
40
  } & {
58
- 'row-expanded-loader'?: (props: typeof __VLS_35) => any;
59
- } & {
60
- 'row-expanded'?: (props: typeof __VLS_37) => any;
41
+ filterAreaRight?: (props: typeof __VLS_12) => any;
61
42
  };
62
43
  declare const __VLS_component: import("vue").DefineComponent<DataTableProps, {
63
44
  toggleRowExpansion: (row: any, index: number) => void;
@@ -72,20 +53,20 @@ declare const __VLS_component: import("vue").DefineComponent<DataTableProps, {
72
53
  rowsPerPage: number;
73
54
  tablename: string;
74
55
  rows: import("@/types/datatable").Row[];
56
+ loading: boolean;
57
+ loadingText: string;
58
+ noDataText: string;
59
+ noDataDescription: string;
60
+ rowKey: string | ((item: any, index: number) => string | number);
61
+ showSearch: boolean;
62
+ searchPlaceholder: string;
75
63
  itemSelected: any[] | null;
76
64
  serverOptions: import("@/types/datatable").ServerOptions | null;
77
65
  showHeader: boolean;
78
66
  headerText: string;
79
- loading: boolean;
80
67
  showFooter: boolean;
81
- showSearch: boolean;
82
- searchPlaceholder: string;
83
- loadingText: string;
84
- noDataText: string;
85
- noDataDescription: string;
86
68
  entriesText: string;
87
69
  maxVisiblePages: number;
88
- rowKey: string | ((item: any, index: number) => string | number);
89
70
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
90
71
  declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
91
72
  export default _default;
@@ -0,0 +1,58 @@
1
+ import type { Column } from '@/types';
2
+ type __VLS_Props = {
3
+ loading: boolean;
4
+ loadingText: string;
5
+ noDataText: string;
6
+ noDataDescription: string;
7
+ paginatedRows: Record<string, unknown>[];
8
+ totalColumns: number;
9
+ expandable?: boolean;
10
+ isItemSelectedControlled: boolean;
11
+ selectedItems: Record<string, unknown>[];
12
+ tablename: string;
13
+ columns: Column[];
14
+ rowKey?: string | ((item: unknown, index: number) => string | number);
15
+ rowClass?: string | string[] | Record<string, unknown>;
16
+ cellClass?: string | string[] | Record<string, unknown>;
17
+ hasRowClick: boolean;
18
+ getRowKey: (item: unknown, index: number) => string | number;
19
+ getValue: (item: unknown, field: string) => unknown;
20
+ isRowExpanded: (item: unknown, index: number) => boolean;
21
+ isRowLoading: (item: unknown, index: number) => boolean;
22
+ toggleRowExpansion: (item: unknown, index: number) => void;
23
+ toggleRow: (item: unknown, index: number) => void;
24
+ isRowSelected: (item: unknown, selected: unknown[], key: string | ((item: unknown, index: number) => string | number)) => boolean;
25
+ };
26
+ declare var __VLS_1: {}, __VLS_4: `cell-${string}`, __VLS_5: {
27
+ item: Record<string, unknown>;
28
+ value: unknown;
29
+ column: Column<any>;
30
+ index: number;
31
+ }, __VLS_7: {
32
+ item: Record<string, unknown>;
33
+ index: number;
34
+ }, __VLS_9: {
35
+ item: Record<string, unknown>;
36
+ index: number;
37
+ };
38
+ type __VLS_Slots = {} & {
39
+ [K in NonNullable<typeof __VLS_4>]?: (props: typeof __VLS_5) => any;
40
+ } & {
41
+ 'no-data'?: (props: typeof __VLS_1) => any;
42
+ } & {
43
+ 'row-expanded-loader'?: (props: typeof __VLS_7) => any;
44
+ } & {
45
+ 'row-expanded'?: (props: typeof __VLS_9) => any;
46
+ };
47
+ declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
48
+ "row-click": (item: unknown, index: number) => any;
49
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
50
+ "onRow-click"?: ((item: unknown, index: number) => any) | undefined;
51
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
52
+ declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
53
+ export default _default;
54
+ type __VLS_WithSlots<T, S> = T & {
55
+ new (): {
56
+ $slots: S;
57
+ };
58
+ };
@@ -6,7 +6,6 @@ interface Props {
6
6
  field?: string;
7
7
  visible?: boolean;
8
8
  operators?: string[];
9
- anchorEl?: HTMLElement;
10
9
  columnData: any[];
11
10
  asyncOptions?: () => Promise<string[]>;
12
11
  }
@@ -0,0 +1,71 @@
1
+ import type { Column, Row, SortHelpers } from '@/types';
2
+ type __VLS_Props = {
3
+ columns: Column[];
4
+ expandable?: boolean;
5
+ isItemSelectedControlled?: boolean;
6
+ isAllChecked?: boolean;
7
+ isSomeChecked?: boolean;
8
+ tablename: string;
9
+ sortHelpers: SortHelpers;
10
+ filters: Record<string, any>;
11
+ anchorEl?: HTMLElement;
12
+ rows: Row[];
13
+ headerClass?: string | string[] | Record<string, any>;
14
+ };
15
+ declare var __VLS_2: `header-${string}`, __VLS_3: {
16
+ column: Column<any>;
17
+ }, __VLS_17: string, __VLS_18: {
18
+ filter: {
19
+ type: "text";
20
+ value?: string | undefined;
21
+ operator?: "contains" | "doesNotContains" | "equals" | "doesNotEqual" | "startsWith" | "endsWith" | "empty" | "notEmpty" | undefined;
22
+ } | {
23
+ type: "multi-select";
24
+ operator?: "in" | "notIn" | undefined;
25
+ value?: string[] | undefined;
26
+ } | {
27
+ type: "number-range";
28
+ operator?: "equals" | "notEqual" | "greaterThan" | "lessThan" | "between" | "empty" | "notEmpty" | undefined;
29
+ value?: number | null | undefined;
30
+ min?: number | null | undefined;
31
+ max?: number | null | undefined;
32
+ } | {
33
+ type: "date-range";
34
+ operator?: "between" | "equals" | "notEqual" | "before" | "after" | "empty" | "notEmpty" | undefined;
35
+ value?: string | null | undefined;
36
+ start?: string | null | undefined;
37
+ end?: string | null | undefined;
38
+ } | {
39
+ type: "custom";
40
+ operator?: string | undefined;
41
+ value?: any;
42
+ filterKey?: keyof typeof import("../utils/filterFns.js").filterFns | undefined;
43
+ filterFn?: ((cellValue: any, filterValue: any, row?: any) => boolean) | undefined;
44
+ custom: string;
45
+ };
46
+ apply: () => void;
47
+ clear: () => void;
48
+ };
49
+ type __VLS_Slots = {} & {
50
+ [K in NonNullable<typeof __VLS_2>]?: (props: typeof __VLS_3) => any;
51
+ } & {
52
+ [K in NonNullable<typeof __VLS_17>]?: (props: typeof __VLS_18) => any;
53
+ };
54
+ declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
55
+ applyFilter: (field: string, value: any) => any;
56
+ clearFilter: (field: string) => any;
57
+ toggleAll: (event: Event) => any;
58
+ "update:filters": (filters: Record<string, any>) => any;
59
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
60
+ onApplyFilter?: ((field: string, value: any) => any) | undefined;
61
+ onClearFilter?: ((field: string) => any) | undefined;
62
+ onToggleAll?: ((event: Event) => any) | undefined;
63
+ "onUpdate:filters"?: ((filters: Record<string, any>) => any) | undefined;
64
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
65
+ declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
66
+ export default _default;
67
+ type __VLS_WithSlots<T, S> = T & {
68
+ new (): {
69
+ $slots: S;
70
+ };
71
+ };
@@ -0,0 +1,26 @@
1
+ type __VLS_Props = {
2
+ showSearch?: boolean;
3
+ searchQuery: string;
4
+ searchPlaceholder?: string;
5
+ searchClass?: string | string[] | Record<string, any>;
6
+ };
7
+ declare var __VLS_8: {}, __VLS_10: {};
8
+ type __VLS_Slots = {} & {
9
+ left?: (props: typeof __VLS_8) => any;
10
+ } & {
11
+ right?: (props: typeof __VLS_10) => any;
12
+ };
13
+ declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
14
+ search: (value: string) => any;
15
+ "update:searchQuery": (value: string) => any;
16
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
17
+ onSearch?: ((value: string) => any) | undefined;
18
+ "onUpdate:searchQuery"?: ((value: string) => any) | undefined;
19
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
20
+ declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
21
+ export default _default;
22
+ type __VLS_WithSlots<T, S> = T & {
23
+ new (): {
24
+ $slots: S;
25
+ };
26
+ };
@@ -1,23 +1,22 @@
1
- import { type Ref } from 'vue';
2
- export declare function useDataTable<T>(props: any, emit: any): {
3
- page: Ref<number, number>;
1
+ export declare function useDataTable(props: any, emit: any): {
2
+ page: import("vue").Ref<number, number>;
4
3
  totalRecords: import("vue").WritableComputedRef<number, number>;
5
4
  recordRange: import("vue").ComputedRef<import("..").RecordRange>;
6
5
  handlePageChange: (newPage: number) => void;
7
- rowsPerPage: Ref<any, any>;
6
+ rowsPerPage: import("vue").Ref<any, any>;
8
7
  handleRowsPerPage: (newValue: number) => void;
9
- processedRows: import("vue").ComputedRef<Record<string, any>[]>;
10
- paginatedRows: import("vue").ComputedRef<Record<string, any>[]>;
8
+ processedRows: import("vue").ComputedRef<Record<string, unknown>[]>;
9
+ paginatedRows: import("vue").ComputedRef<Record<string, unknown>[]>;
11
10
  sortHelpers: import("..").SortHelpers;
12
- searchQuery: Ref<string, string>;
11
+ searchQuery: import("vue").Ref<string, string>;
13
12
  onInputTyped: (value: string) => void;
14
13
  isRowExpanded: (row: any, index: number) => boolean;
15
14
  toggleRowExpansion: (row: any, index: number) => void;
16
15
  getRowId: (row: any, index: number) => string | number;
17
16
  setRowLoading: (rowId: string | number, loading: boolean) => void;
18
17
  isRowLoading: (row: any, index: number) => boolean;
19
- filters: Ref<Record<string, import("..").ColumnFilter>, Record<string, import("..").ColumnFilter>>;
20
- filteredData: import("vue").ComputedRef<Record<string, any>[]>;
18
+ filters: import("vue").Ref<Record<string, import("..").ColumnFilter>, Record<string, import("..").ColumnFilter>>;
19
+ filteredData: import("vue").ComputedRef<Record<string, unknown>[]>;
21
20
  setFilter: (columnKey: string, filter?: import("..").ColumnFilter, type?: import("..").ColumnFilter["type"]) => void;
22
21
  clearFilter: (columnKey: string, type?: import("..").ColumnFilter["type"]) => void;
23
22
  };
package/dist/index.css CHANGED
@@ -1 +1 @@
1
- .vs-pagination[data-v-b327b254]{display:flex;align-items:center;justify-content:center;gap:var(--vs-spacing-sm);flex-wrap:wrap}.vs-pagination-button[data-v-b327b254]{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;padding:0 var(--vs-spacing-sm);border:1px solid var(--vs-table-border);background-color:var(--vs-table-bg);color:var(--vs-dark);text-decoration:none;border-radius:var(--vs-border-radius);font-size:var(--vs-font-size-sm);transition:var(--vs-transition-fast);cursor:pointer}.vs-pagination-button[data-v-b327b254]:hover:not(:disabled){background-color:var(--vs-table-hover-bg);border-color:var(--vs-primary)}.vs-pagination-button.vs-active[data-v-b327b254]{background-color:var(--vs-primary);border-color:var(--vs-primary);color:#fff}.vs-pagination-button[data-v-b327b254]:disabled{opacity:.5;cursor:not-allowed}.vs-pagination-nav[data-v-b327b254]{font-weight:var(--vs-font-weight-bold)}.vs-pagination-ellipsis[data-v-b327b254]{color:var(--vs-secondary);padding:0 var(--vs-spacing-sm);font-size:var(--vs-font-size-sm)}@media (max-width: 768px){.vs-pagination-button[data-v-b327b254]{min-width:28px;height:28px;font-size:12px}}.vs-search .vs-search-input[data-v-60b73b45]{font-size:15px!important}.vs-rows-per-page[data-v-0c2bdd9c]{display:flex;align-items:center;gap:8px;font-size:14px}.vs-rows-label[data-v-0c2bdd9c]{white-space:nowrap}.vs-row,.vs-d-flex{display:flex;width:100%}.vs-row-row,.vs-d-flex.vs-row-row{flex-direction:row}.vs-row-column,.vs-d-flex.vs-row-column{flex-direction:column}.vs-row-row-reverse,.vs-d-flex.vs-row-row-reverse{flex-direction:row-reverse}.vs-row-column-reverse,.vs-d-flex.vs-row-column-reverse{flex-direction:column-reverse}.vs-justify-start{justify-content:flex-start}.vs-justify-end{justify-content:flex-end}.vs-justify-center{justify-content:center}.vs-justify-between{justify-content:space-between}.vs-justify-around{justify-content:space-around}.vs-justify-evenly{justify-content:space-evenly}.vs-align-start{align-items:flex-start}.vs-align-end{align-items:flex-end}.vs-align-center{align-items:center}.vs-align-baseline{align-items:baseline}.vs-align-stretch{align-items:stretch}.vs-wrap{flex-wrap:wrap}.vs-nowrap{flex-wrap:nowrap}.vs-gap-0{gap:0}.vs-gap-1{gap:.25rem}.vs-gap-2{gap:.5rem}.vs-gap-3{gap:.75rem}.vs-gap-4{gap:1rem}.vs-gap-5{gap:1.25rem}.vs-gap-6{gap:1.5rem}.vs-col{flex:0 0 auto}.vs-col-span-1{width:8.333333%}.vs-col-span-2{width:16.666667%}.vs-col-span-3{width:25%}.vs-col-span-4{width:33.333333%}.vs-col-span-5{width:41.666667%}.vs-col-span-6{width:50%}.vs-col-span-7{width:58.333333%}.vs-col-span-8{width:66.666667%}.vs-col-span-9{width:75%}.vs-col-span-10{width:83.333333%}.vs-col-span-11{width:91.666667%}.vs-col-span-12{width:100%}.vs-col-offset-1{margin-left:8.333333%}.vs-col-offset-2{margin-left:16.666667%}.vs-col-offset-3{margin-left:25%}.vs-col-offset-4{margin-left:33.333333%}.vs-col-offset-5{margin-left:41.666667%}.vs-col-offset-6{margin-left:50%}.vs-col-offset-7{margin-left:58.333333%}.vs-col-offset-8{margin-left:66.666667%}.vs-col-offset-9{margin-left:75%}.vs-col-offset-10{margin-left:83.333333%}.vs-col-offset-11{margin-left:91.666667%}@media (min-width: 640px){.sm\:vs-row-row{flex-direction:row}.sm\:vs-row-column{flex-direction:column}.sm\:vs-row-row-reverse{flex-direction:row-reverse}.sm\:vs-row-column-reverse{flex-direction:column-reverse}.sm\:vs-justify-start{justify-content:flex-start}.sm\:vs-justify-end{justify-content:flex-end}.sm\:vs-justify-center{justify-content:center}.sm\:vs-justify-between{justify-content:space-between}.sm\:vs-justify-around{justify-content:space-around}.sm\:vs-justify-evenly{justify-content:space-evenly}.sm\:vs-align-start{align-items:flex-start}.sm\:vs-align-end{align-items:flex-end}.sm\:vs-align-center{align-items:center}.sm\:vs-align-baseline{align-items:baseline}.sm\:vs-align-stretch{align-items:stretch}.sm\:vs-wrap{flex-wrap:wrap}.sm\:vs-nowrap{flex-wrap:nowrap}.sm\:vs-gap-0{gap:0}.sm\:vs-gap-1{gap:.25rem}.sm\:vs-gap-2{gap:.5rem}.sm\:vs-gap-3{gap:.75rem}.sm\:vs-gap-4{gap:1rem}.sm\:vs-gap-5{gap:1.25rem}.sm\:vs-gap-6{gap:1.5rem}.sm\:vs-col-span-1{width:8.333333%}.sm\:vs-col-span-2{width:16.666667%}.sm\:vs-col-span-3{width:25%}.sm\:vs-col-span-4{width:33.333333%}.sm\:vs-col-span-5{width:41.666667%}.sm\:vs-col-span-6{width:50%}.sm\:vs-col-span-7{width:58.333333%}.sm\:vs-col-span-8{width:66.666667%}.sm\:vs-col-span-9{width:75%}.sm\:vs-col-span-10{width:83.333333%}.sm\:vs-col-span-11{width:91.666667%}.sm\:vs-col-span-12{width:100%}}@media (min-width: 768px){.md\:vs-row-row{flex-direction:row}.md\:vs-row-column{flex-direction:column}.md\:vs-row-row-reverse{flex-direction:row-reverse}.md\:vs-row-column-reverse{flex-direction:column-reverse}.md\:vs-justify-start{justify-content:flex-start}.md\:vs-justify-end{justify-content:flex-end}.md\:vs-justify-center{justify-content:center}.md\:vs-justify-between{justify-content:space-between}.md\:vs-justify-around{justify-content:space-around}.md\:vs-justify-evenly{justify-content:space-evenly}.md\:vs-align-start{align-items:flex-start}.md\:vs-align-end{align-items:flex-end}.md\:vs-align-center{align-items:center}.md\:vs-align-baseline{align-items:baseline}.md\:vs-align-stretch{align-items:stretch}.md\:vs-wrap{flex-wrap:wrap}.md\:vs-nowrap{flex-wrap:nowrap}.md\:vs-gap-0{gap:0}.md\:vs-gap-1{gap:.25rem}.md\:vs-gap-2{gap:.5rem}.md\:vs-gap-3{gap:.75rem}.md\:vs-gap-4{gap:1rem}.md\:vs-gap-5{gap:1.25rem}.md\:vs-gap-6{gap:1.5rem}.md\:vs-col-span-1{width:8.333333%}.md\:vs-col-span-2{width:16.666667%}.md\:vs-col-span-3{width:25%}.md\:vs-col-span-4{width:33.333333%}.md\:vs-col-span-5{width:41.666667%}.md\:vs-col-span-6{width:50%}.md\:vs-col-span-7{width:58.333333%}.md\:vs-col-span-8{width:66.666667%}.md\:vs-col-span-9{width:75%}.md\:vs-col-span-10{width:83.333333%}.md\:vs-col-span-11{width:91.666667%}.md\:vs-col-span-12{width:100%}}@media (min-width: 1024px){.lg\:vs-row-row{flex-direction:row}.lg\:vs-row-column{flex-direction:column}.lg\:vs-row-row-reverse{flex-direction:row-reverse}.lg\:vs-row-column-reverse{flex-direction:column-reverse}.lg\:vs-justify-start{justify-content:flex-start}.lg\:vs-justify-end{justify-content:flex-end}.lg\:vs-justify-center{justify-content:center}.lg\:vs-justify-between{justify-content:space-between}.lg\:vs-justify-around{justify-content:space-around}.lg\:vs-justify-evenly{justify-content:space-evenly}.lg\:vs-align-start{align-items:flex-start}.lg\:vs-align-end{align-items:flex-end}.lg\:vs-align-center{align-items:center}.lg\:vs-align-baseline{align-items:baseline}.lg\:vs-align-stretch{align-items:stretch}.lg\:vs-wrap{flex-wrap:wrap}.lg\:vs-nowrap{flex-wrap:nowrap}.lg\:vs-gap-0{gap:0}.lg\:vs-gap-1{gap:.25rem}.lg\:vs-gap-2{gap:.5rem}.lg\:vs-gap-3{gap:.75rem}.lg\:vs-gap-4{gap:1rem}.lg\:vs-gap-5{gap:1.25rem}.lg\:vs-gap-6{gap:1.5rem}.lg\:vs-col-span-1{width:8.333333%}.lg\:vs-col-span-2{width:16.666667%}.lg\:vs-col-span-3{width:25%}.lg\:vs-col-span-4{width:33.333333%}.lg\:vs-col-span-5{width:41.666667%}.lg\:vs-col-span-6{width:50%}.lg\:vs-col-span-7{width:58.333333%}.lg\:vs-col-span-8{width:66.666667%}.lg\:vs-col-span-9{width:75%}.lg\:vs-col-span-10{width:83.333333%}.lg\:vs-col-span-11{width:91.666667%}.lg\:vs-col-span-12{width:100%}}@media (min-width: 1280px){.xl\:vs-row-row{flex-direction:row}.xl\:vs-row-column{flex-direction:column}.xl\:vs-row-row-reverse{flex-direction:row-reverse}.xl\:vs-row-column-reverse{flex-direction:column-reverse}.xl\:vs-justify-start{justify-content:flex-start}.xl\:vs-justify-end{justify-content:flex-end}.xl\:vs-justify-center{justify-content:center}.xl\:vs-justify-between{justify-content:space-between}.xl\:vs-justify-around{justify-content:space-around}.xl\:vs-justify-evenly{justify-content:space-evenly}.xl\:vs-align-start{align-items:flex-start}.xl\:vs-align-end{align-items:flex-end}.xl\:vs-align-center{align-items:center}.xl\:vs-align-baseline{align-items:baseline}.xl\:vs-align-stretch{align-items:stretch}.xl\:vs-wrap{flex-wrap:wrap}.xl\:vs-nowrap{flex-wrap:nowrap}.xl\:vs-gap-0{gap:0}.xl\:vs-gap-1{gap:.25rem}.xl\:vs-gap-2{gap:.5rem}.xl\:vs-gap-3{gap:.75rem}.xl\:vs-gap-4{gap:1rem}.xl\:vs-gap-5{gap:1.25rem}.xl\:vs-gap-6{gap:1.5rem}.xl\:vs-col-span-1{width:8.333333%}.xl\:vs-col-span-2{width:16.666667%}.xl\:vs-col-span-3{width:25%}.xl\:vs-col-span-4{width:33.333333%}.xl\:vs-col-span-5{width:41.666667%}.xl\:vs-col-span-6{width:50%}.xl\:vs-col-span-7{width:58.333333%}.xl\:vs-col-span-8{width:66.666667%}.xl\:vs-col-span-9{width:75%}.xl\:vs-col-span-10{width:83.333333%}.xl\:vs-col-span-11{width:91.666667%}.xl\:vs-col-span-12{width:100%}}.vs-datatable[data-v-12278d31]{--vs-table-wrapper-overflow: auto}.vs-table-wrapper[data-v-12278d31]{overflow:var(--vs-table-wrapper-overflow)}.vs-header-content[data-v-12278d31]{display:flex;align-items:center;gap:var(--vs-spacing-sm)}.vs-header-label[data-v-12278d31]{flex:1}.vs-checkbox-column[data-v-12278d31]{width:50px;text-align:center}.vs-row-clickable[data-v-12278d31]{cursor:pointer}.vs-row-selected[data-v-12278d31]{background-color:rgba(var(--vs-primary),.1)}.vs-table-footer[data-v-12278d31]{display:flex;align-items:center;justify-content:space-between;padding:var(--vs-spacing-sm) 0}.vs-table-info[data-v-12278d31]{color:var(--vs-secondary);font-size:var(--vs-font-size-md)}.vs-search-container[data-v-12278d31]{margin-bottom:var(--vs-spacing-sm)}:root{--vs-primary: #007bff;--vs-secondary: #6c757d;--vs-success: #28a745;--vs-danger: #dc3545;--vs-warning: #ffc107;--vs-info: #17a2b8;--vs-light: #f8f9fa;--vs-dark: #343a40;--vs-gray-800: #495057;--vs-table-bg: #ffffff;--vs-table-border: #dee2e6;--vs-table-header-bg: #f8f9fa;--vs-table-header-color: #495057;--vs-table-hover-bg: #f5f5f5;--vs-table-stripe-bg: #fafafa;--vs-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--vs-font-size: 14px;--vs-font-size-sm: 12px;--vs-font-size-lg: 16px;--vs-font-weight-normal: 400;--vs-font-weight-bold: 600;--vs-spacing-xs: 4px;--vs-spacing-sm: 8px;--vs-spacing-md: 16px;--vs-spacing-lg: 24px;--vs-spacing-xl: 32px;--vs-border-radius: 4px;--vs-border-radius-sm: 2px;--vs-border-radius-lg: 8px;--vs-shadow-sm: 0 1px 3px rgba(0, 0, 0, .1);--vs-shadow: 0 2px 4px rgba(0, 0, 0, .1);--vs-shadow-lg: 0 4px 8px rgba(0, 0, 0, .15);--vs-transition: all .2s ease-in-out;--vs-transition-fast: all .15s ease-in-out;--vs-z-dropdown: 1000;--vs-z-sticky: 1020;--vs-z-fixed: 1030;--vs-z-modal: 1040;--vs-z-popover: 1050;--vs-z-tooltip: 1060}.vs-m-xs{margin:var(--vs-spacing-xs)!important}.vs-m-sm{margin:var(--vs-spacing-sm)!important}.vs-m-md{margin:var(--vs-spacing-md)!important}.vs-m-lg{margin:var(--vs-spacing-lg)!important}.vs-m-xl{margin:var(--vs-spacing-xl)!important}.vs-mt-xs{margin-top:var(--vs-spacing-xs)!important}.vs-mt-sm{margin-top:var(--vs-spacing-sm)!important}.vs-mt-md{margin-top:var(--vs-spacing-md)!important}.vs-mt-lg{margin-top:var(--vs-spacing-lg)!important}.vs-mt-xl{margin-top:var(--vs-spacing-xl)!important}.vs-mb-xs{margin-bottom:var(--vs-spacing-xs)!important}.vs-mb-sm{margin-bottom:var(--vs-spacing-sm)!important}.vs-mb-md{margin-bottom:var(--vs-spacing-md)!important}.vs-mb-lg{margin-bottom:var(--vs-spacing-lg)!important}.vs-mb-xl{margin-bottom:var(--vs-spacing-xl)!important}.vs-ml-xs{margin-left:var(--vs-spacing-xs)!important}.vs-ml-sm{margin-left:var(--vs-spacing-sm)!important}.vs-ml-md{margin-left:var(--vs-spacing-md)!important}.vs-ml-lg{margin-left:var(--vs-spacing-lg)!important}.vs-ml-xl{margin-left:var(--vs-spacing-xl)!important}.vs-mr-xs{margin-right:var(--vs-spacing-xs)!important}.vs-mr-sm{margin-right:var(--vs-spacing-sm)!important}.vs-mr-md{margin-right:var(--vs-spacing-md)!important}.vs-mr-lg{margin-right:var(--vs-spacing-lg)!important}.vs-mr-xl{margin-right:var(--vs-spacing-xl)!important}.vs-mx-xs{margin-left:var(--vs-spacing-xs)!important;margin-right:var(--vs-spacing-xs)!important}.vs-mx-sm{margin-left:var(--vs-spacing-sm)!important;margin-right:var(--vs-spacing-sm)!important}.vs-mx-md{margin-left:var(--vs-spacing-md)!important;margin-right:var(--vs-spacing-md)!important}.vs-mx-lg{margin-left:var(--vs-spacing-lg)!important;margin-right:var(--vs-spacing-lg)!important}.vs-mx-xl{margin-left:var(--vs-spacing-xl)!important;margin-right:var(--vs-spacing-xl)!important}.vs-my-xs{margin-top:var(--vs-spacing-xs)!important;margin-bottom:var(--vs-spacing-xs)!important}.vs-my-sm{margin-top:var(--vs-spacing-sm)!important;margin-bottom:var(--vs-spacing-sm)!important}.vs-my-md{margin-top:var(--vs-spacing-md)!important;margin-bottom:var(--vs-spacing-md)!important}.vs-my-lg{margin-top:var(--vs-spacing-lg)!important;margin-bottom:var(--vs-spacing-lg)!important}.vs-my-xl{margin-top:var(--vs-spacing-xl)!important;margin-bottom:var(--vs-spacing-xl)!important}.vs-mx-auto{margin-left:auto!important;margin-right:auto!important}.vs-my-auto{margin-top:auto!important;margin-bottom:auto!important}.vs-ml-auto{margin-left:auto!important}.vs-mr-auto{margin-right:auto!important}.vs-mt-auto{margin-top:auto!important}.vs-mb-auto{margin-bottom:auto!important}.vs-p-xs{padding:var(--vs-spacing-xs)!important}.vs-p-sm{padding:var(--vs-spacing-sm)!important}.vs-p-md{padding:var(--vs-spacing-md)!important}.vs-p-lg{padding:var(--vs-spacing-lg)!important}.vs-p-xl{padding:var(--vs-spacing-xl)!important}.vs-pt-xs{padding-top:var(--vs-spacing-xs)!important}.vs-pt-sm{padding-top:var(--vs-spacing-sm)!important}.vs-pt-md{padding-top:var(--vs-spacing-md)!important}.vs-pt-lg{padding-top:var(--vs-spacing-lg)!important}.vs-pt-xl{padding-top:var(--vs-spacing-xl)!important}.vs-pb-xs{padding-bottom:var(--vs-spacing-xs)!important}.vs-pb-sm{padding-bottom:var(--vs-spacing-sm)!important}.vs-pb-md{padding-bottom:var(--vs-spacing-md)!important}.vs-pb-lg{padding-bottom:var(--vs-spacing-lg)!important}.vs-pb-xl{padding-bottom:var(--vs-spacing-xl)!important}.vs-pl-xs{padding-left:var(--vs-spacing-xs)!important}.vs-pl-sm{padding-left:var(--vs-spacing-sm)!important}.vs-pl-md{padding-left:var(--vs-spacing-md)!important}.vs-pl-lg{padding-left:var(--vs-spacing-lg)!important}.vs-pl-xl{padding-left:var(--vs-spacing-xl)!important}.vs-pr-xs{padding-right:var(--vs-spacing-xs)!important}.vs-pr-sm{padding-right:var(--vs-spacing-sm)!important}.vs-pr-md{padding-right:var(--vs-spacing-md)!important}.vs-pr-lg{padding-right:var(--vs-spacing-lg)!important}.vs-pr-xl{padding-right:var(--vs-spacing-xl)!important}.vs-px-xs{padding-left:var(--vs-spacing-xs)!important;padding-right:var(--vs-spacing-xs)!important}.vs-px-sm{padding-left:var(--vs-spacing-sm)!important;padding-right:var(--vs-spacing-sm)!important}.vs-px-md{padding-left:var(--vs-spacing-md)!important;padding-right:var(--vs-spacing-md)!important}.vs-px-lg{padding-left:var(--vs-spacing-lg)!important;padding-right:var(--vs-spacing-lg)!important}.vs-px-xl{padding-left:var(--vs-spacing-xl)!important;padding-right:var(--vs-spacing-xl)!important}.vs-py-xs{padding-top:var(--vs-spacing-xs)!important;padding-bottom:var(--vs-spacing-xs)!important}.vs-py-sm{padding-top:var(--vs-spacing-sm)!important;padding-bottom:var(--vs-spacing-sm)!important}.vs-py-md{padding-top:var(--vs-spacing-md)!important;padding-bottom:var(--vs-spacing-md)!important}.vs-py-lg{padding-top:var(--vs-spacing-lg)!important;padding-bottom:var(--vs-spacing-lg)!important}.vs-py-xl{padding-top:var(--vs-spacing-xl)!important;padding-bottom:var(--vs-spacing-xl)!important}.vs-m-2{margin:var(--vs-spacing-sm)!important}.vs-p-2{padding:var(--vs-spacing-sm)!important}.vs-ml-2{margin-left:var(--vs-spacing-sm)!important}.vs-mx-2{margin-left:var(--vs-spacing-sm)!important;margin-right:var(--vs-spacing-sm)!important}.vs-mb-5{margin-bottom:var(--vs-spacing-lg)!important}.vs-text-xs,.vs-text-sm{font-size:var(--vs-font-size-sm)!important}.vs-text-base{font-size:var(--vs-font-size)!important}.vs-text-lg,.vs-text-xl{font-size:var(--vs-font-size-lg)!important}.vs-font-normal{font-weight:var(--vs-font-weight-normal)!important}.vs-font-bold{font-weight:var(--vs-font-weight-bold)!important}.vs-text-left{text-align:left!important}.vs-text-center{text-align:center!important}.vs-text-right{text-align:right!important}.vs-uppercase{text-transform:uppercase!important}.vs-lowercase{text-transform:lowercase!important}.vs-capitalize{text-transform:capitalize!important}.vs-text-primary{color:var(--vs-primary)!important}.vs-text-secondary{color:var(--vs-secondary)!important}.vs-text-success{color:var(--vs-success)!important}.vs-text-danger{color:var(--vs-danger)!important}.vs-text-warning{color:var(--vs-warning)!important}.vs-text-info{color:var(--vs-info)!important}.vs-text-light{color:var(--vs-light)!important}.vs-text-dark{color:var(--vs-dark)!important}.vs-bg-primary{background-color:var(--vs-primary)!important}.vs-bg-secondary{background-color:var(--vs-secondary)!important}.vs-bg-success{background-color:var(--vs-success)!important}.vs-bg-danger{background-color:var(--vs-danger)!important}.vs-bg-warning{background-color:var(--vs-warning)!important}.vs-bg-info{background-color:var(--vs-info)!important}.vs-bg-light{background-color:var(--vs-light)!important}.vs-bg-dark{background-color:var(--vs-dark)!important}.vs-d-none{display:none!important}.vs-d-inline{display:inline!important}.vs-d-inline-block{display:inline-block!important}.vs-d-block{display:block!important}.vs-d-flex{display:flex!important}.vs-d-inline-flex{display:inline-flex!important}.vs-d-grid{display:grid!important}.vs-d-table{display:table!important}.vs-flex-row{flex-direction:row!important}.vs-flex-row-reverse{flex-direction:row-reverse!important}.vs-flex-column{flex-direction:column!important}.vs-flex-column-reverse{flex-direction:column-reverse!important}.vs-justify-start{justify-content:flex-start!important}.vs-justify-end{justify-content:flex-end!important}.vs-justify-center{justify-content:center!important}.vs-justify-between{justify-content:space-between!important}.vs-justify-around{justify-content:space-around!important}.vs-align-start{align-items:flex-start!important}.vs-align-end{align-items:flex-end!important}.vs-align-center{align-items:center!important}.vs-align-baseline{align-items:baseline!important}.vs-align-stretch{align-items:stretch!important}.vs-flex-wrap{flex-wrap:wrap!important}.vs-flex-nowrap{flex-wrap:nowrap!important}.vs-flex-wrap-reverse{flex-wrap:wrap-reverse!important}.vs-flex-1{flex:1 1 0%!important}.vs-flex-auto{flex:1 1 auto!important}.vs-flex-none{flex:none!important}.vs-rounded{border-radius:var(--vs-border-radius)!important}.vs-rounded-sm{border-radius:var(--vs-border-radius-sm)!important}.vs-rounded-lg{border-radius:var(--vs-border-radius-lg)!important}.vs-rounded-full{border-radius:50%!important}.vs-rounded-top{border-top-left-radius:var(--vs-border-radius)!important;border-top-right-radius:var(--vs-border-radius)!important}.vs-rounded-bottom{border-bottom-left-radius:var(--vs-border-radius)!important;border-bottom-right-radius:var(--vs-border-radius)!important}.vs-rounded-left{border-top-left-radius:var(--vs-border-radius)!important;border-bottom-left-radius:var(--vs-border-radius)!important}.vs-rounded-right{border-top-right-radius:var(--vs-border-radius)!important;border-bottom-right-radius:var(--vs-border-radius)!important}.vs-shadow-none{box-shadow:none!important}.vs-shadow-sm{box-shadow:var(--vs-shadow-sm)!important}.vs-shadow{box-shadow:var(--vs-shadow)!important}.vs-shadow-lg{box-shadow:var(--vs-shadow-lg)!important}.vs-position-static{position:static!important}.vs-position-relative{position:relative!important}.vs-position-absolute{position:absolute!important}.vs-position-fixed{position:fixed!important}.vs-position-sticky{position:sticky!important}.vs-overflow-auto{overflow:auto!important}.vs-overflow-hidden{overflow:hidden!important}.vs-overflow-visible{overflow:visible!important}.vs-overflow-scroll{overflow:scroll!important}.vs-w-auto{width:auto!important}.vs-w-full{width:100%!important}.vs-w-screen{width:100vw!important}.vs-w-50{width:50%!important}.vs-w-100{width:100%!important}.vs-h-auto{height:auto!important}.vs-h-full{height:100%!important}.vs-h-screen{height:100vh!important}.vs-h-50{height:50%!important}.vs-h-100{height:100%!important}.vs-visible{visibility:visible!important}.vs-invisible{visibility:hidden!important}.vs-cursor-auto{cursor:auto!important}.vs-cursor-pointer{cursor:pointer!important}.vs-cursor-default{cursor:default!important}.vs-cursor-not-allowed{cursor:not-allowed!important}.vs-border{border:1px solid var(--vs-table-border)!important}.vs-border-top{border-top:1px solid var(--vs-table-border)!important}.vs-border-bottom{border-bottom:1px solid var(--vs-table-border)!important}.vs-border-left{border-left:1px solid var(--vs-table-border)!important}.vs-border-right{border-right:1px solid var(--vs-table-border)!important}.vs-z-dropdown{z-index:var(--vs-z-dropdown)!important}.vs-z-sticky{z-index:var(--vs-z-sticky)!important}.vs-z-fixed{z-index:var(--vs-z-fixed)!important}.vs-z-modal{z-index:var(--vs-z-modal)!important}.vs-z-popover{z-index:var(--vs-z-popover)!important}.vs-z-tooltip{z-index:var(--vs-z-tooltip)!important}.vs-transition{transition:var(--vs-transition)!important}.vs-transition-fast{transition:var(--vs-transition-fast)!important}.vs-transition-none{transition:none!important}.vs-datatable{font-family:var(--vs-font-family);font-size:var(--vs-font-size);line-height:1.5;color:var(--vs-dark);background-color:var(--vs-table-bg);box-sizing:border-box}.vs-datatable *,.vs-datatable *:before,.vs-datatable *:after{box-sizing:border-box}.vs-table-container{position:relative;background-color:var(--vs-table-bg);border:1px solid var(--vs-table-border);border-radius:var(--vs-border-radius);overflow:hidden;box-shadow:var(--vs-shadow-sm)}.vs-table{width:100%;margin:0;border-collapse:separate;border-spacing:0;background-color:var(--vs-table-bg)}.vs-table thead{background-color:var(--vs-table-header-bg)}.vs-table thead th{padding:var(--vs-spacing-md);font-weight:var(--vs-font-weight-bold);color:var(--vs-table-header-color);text-align:left;vertical-align:middle;border-bottom:2px solid var(--vs-table-border);position:relative;-webkit-user-select:none;user-select:none}.vs-table thead th:first-child{border-top-left-radius:var(--vs-border-radius)}.vs-table thead th:last-child{border-top-right-radius:var(--vs-border-radius)}.vs-table tbody tr{transition:var(--vs-transition-fast);border-bottom:1px solid var(--vs-table-border)}.vs-table tbody tr:hover{background-color:var(--vs-table-hover-bg)}.vs-table tbody tr:nth-child(2n){background-color:var(--vs-table-stripe-bg)}.vs-table tbody tr:last-child{border-bottom:none}.vs-table tbody tr td{padding:var(--vs-spacing-md);vertical-align:middle;border-right:1px solid var(--vs-table-border)}.vs-table tbody tr td:last-child{border-right:none}.vs-sortable{cursor:pointer;position:relative}.vs-sortable:hover{background-color:rgba(var(--vs-primary),.1)}.vs-sortable .vs-sort-icons{display:inline-flex;flex-direction:column;margin-left:var(--vs-spacing-sm);vertical-align:middle}.vs-sortable .vs-sort-icons .vs-sort-icon{font-size:10px;line-height:1;color:var(--vs-secondary);transition:var(--vs-transition-fast);margin:-8px 0}.vs-sortable .vs-sort-icons .vs-sort-icon.vs-sort-asc,.vs-sortable .vs-sort-icons .vs-sort-icon.vs-sort-desc{color:var(--vs-primary)}.vs-sortable .vs-sort-icons .vs-sort-icon svg{fill:#e3e3e3}.vs-sortable .vs-sort-icons .vs-sort-icon.vs-active svg{fill:currentColor}.vs-sortable .vs-sort-priority{display:inline-block;background-color:var(--vs-primary);color:#fff;font-size:10px;padding:2px 6px;border-radius:var(--vs-border-radius-sm);margin-left:var(--vs-spacing-sm);font-weight:var(--vs-font-weight-bold)}.vs-loading{display:flex;align-items:center;justify-content:center;padding:var(--vs-spacing-xl);color:var(--vs-secondary)}.vs-loading .vs-spinner{width:20px;height:20px;border:2px solid var(--vs-table-border);border-top:2px solid var(--vs-primary);border-radius:50%;animation:vs-spin 1s linear infinite;margin-right:var(--vs-spacing-sm)}@keyframes vs-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.vs-no-data{text-align:center;padding:var(--vs-spacing-xl);color:var(--vs-secondary)}.vs-no-data .vs-no-data-icon{width:60px;height:60px;margin:0 auto var(--vs-spacing-md);opacity:.5}.vs-no-data .vs-no-data-message{font-size:var(--vs-font-size-lg);font-weight:var(--vs-font-weight-bold);margin-bottom:var(--vs-spacing-sm)}.vs-no-data .vs-no-data-description{font-size:var(--vs-font-size-sm);color:var(--vs-secondary)}.vs-search{position:relative;margin-bottom:var(--vs-spacing-md)}.vs-search .vs-search-input{width:100%;padding:var(--vs-spacing-sm) var(--vs-spacing-md);padding-left:50px;border:1px solid var(--vs-table-border);border-radius:var(--vs-border-radius);font-size:var(--vs-font-size);transition:var(--vs-transition-fast)}.vs-search .vs-search-input:focus{outline:none;border-color:var(--vs-primary);box-shadow:0 0 0 2px rgba(var(--vs-primary),.25)}.vs-search .vs-search-icon{position:absolute;left:var(--vs-spacing-md);top:50%;transform:translateY(-50%);color:var(--vs-secondary);pointer-events:none}.vs-pagination{display:flex;align-items:center;justify-content:center;gap:var(--vs-spacing-sm);margin-top:var(--vs-spacing-md)}.vs-pagination .vs-pagination-button{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;padding:0 var(--vs-spacing-sm);border:1px solid var(--vs-table-border);background-color:var(--vs-table-bg);color:var(--vs-dark);text-decoration:none;border-radius:var(--vs-border-radius);font-size:var(--vs-font-size-sm);transition:var(--vs-transition-fast);cursor:pointer}.vs-pagination .vs-pagination-button:hover:not(:disabled){background-color:var(--vs-table-hover-bg);border-color:var(--vs-primary)}.vs-pagination .vs-pagination-button.vs-active{background-color:var(--vs-primary);border-color:var(--vs-primary);color:#fff}.vs-pagination .vs-pagination-button:disabled{opacity:.5;cursor:not-allowed}.vs-pagination .vs-pagination-ellipsis{color:var(--vs-secondary);padding:0 var(--vs-spacing-sm)}.vs-layout-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;width:100%;gap:1rem}.vs-layout-row .vs-layout-start,.vs-layout-row .vs-layout-end{display:flex;align-items:center;gap:.5rem}@media (max-width: 768px){.vs-layout-row{flex-direction:column;align-items:stretch}.vs-layout-row .vs-layout-start,.vs-layout-row .vs-layout-end{justify-content:flex-start;width:100%}}.export-dropdown{position:relative;display:inline-block}.export-btn{background:#2d6cdf;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:14px}.export-menu{display:none;position:absolute;right:0;margin-top:.25rem;background:#fff;border:1px solid #ddd;border-radius:6px;list-style:none;padding:0;min-width:160px;box-shadow:0 4px 8px #0000001a;z-index:1;flex-direction:column}.export-menu li{width:100%}.export-menu button{background:none;border:none;width:100%;padding:.75rem 1rem;text-align:left;cursor:pointer;font-size:14px}.export-menu button:hover{background:#f5f5f5}.export-menu.active{display:flex}.vs-checkbox{display:inline-flex;align-items:center;cursor:pointer}.vs-checkbox input[type=checkbox]{width:16px;height:16px;margin:0;cursor:pointer;accent-color:var(--vs-primary)}.vs-checkbox label{margin:0;cursor:pointer;font-size:var(--vs-font-size-sm)}.vs-footer-left{display:flex;align-items:center;gap:12px}.vs-divider{width:1px;height:20px;background-color:#ccc}.vs-rows-per-page{display:flex;align-items:center;gap:8px;font-size:14px;color:#495057}.vs-items-dropdown{padding:6px 8px;border:1px solid #ddd;border-radius:4px;background-color:#fff;font-size:14px}.vs-expand-column{width:40px;text-align:center}.vs-expand-btn{background:transparent;border:none;cursor:pointer;font-size:1.1rem}.vs-row-expanded{background:#f9f9f9}.vs-table tbody tr.vs-row-expanded td.vs-expanded-cell{padding:0!important;vertical-align:top!important;border-right:none}.vs-expanded-content{padding:var(--vs-spacing-md);background-color:#ededed}.vs-loader-bar{width:100%;height:4px;background:#e5e7eb;overflow:hidden;position:relative;border-radius:2px;top:0;left:0;margin:0}.vs-loader-bar-inner{width:40%;height:100%;background:var(--vs-primary);position:absolute;left:-40%;animation:loader-slide 1.2s infinite linear;border-radius:2px}@keyframes loader-slide{0%{left:-40%}50%{left:60%}to{left:100%}}.vs-filter-dropdown{background:#fff;border:1px solid #ddd;padding:.75rem;border-radius:6px;box-shadow:0 2px 12px #0000001f;min-width:200px}.vs-filter-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.75rem}.vs-input,.vs-multiselect-search{padding:.35rem .5rem;border:1px solid #ccc;border-radius:4px}.vs-operator-select{padding:.35rem .5rem;border:1px solid #ccc;border-radius:4px;gap:.55rem}.vs-multiselect{width:100%}.vs-multiselect-actions{display:flex;justify-content:space-between;padding:.5rem;border-bottom:1px solid #eee;background:#fafafa}.vs-multiselect-actions button{font-size:.85rem;background:transparent;border:none;color:#2d6cdf;cursor:pointer}.vs-multiselect-search{width:var(vs-w-full);padding:var(--vs-spacing-sm);border-bottom:1px solid #eee;outline:none}.vs-multiselect-options{list-style:none;padding:0;margin:0;max-height:220px;overflow-y:auto}.vs-multiselect-options li{display:flex;align-items:center;justify-content:space-between;padding:.5rem;cursor:pointer;transition:background .15s}.vs-multiselect-options li:hover{background:#f9f9f9}.vs-multiselect-options li.selected{background:#f0f6ff;color:#2d6cdf}.option-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.check-icon{width:18px;height:18px;stroke-width:2.5}.vs-btn{padding:.35rem .75rem;border-radius:4px;cursor:pointer}.vs-btn-primary{background:#2d6cdf;color:#fff;border:none}.vs-btn-secondary{background:#f5f5f5;border:1px solid #ccc}.vs-column-filter{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;cursor:pointer}.vs-column-filter.is-active{background-color:#2980b90f;color:var(--vs-primary, #2d6cdf)}.vs-header-content{display:flex;align-items:center;gap:8px}@media (max-width: 768px){.vs-table-container{overflow-x:auto}.vs-table{min-width:600px}.vs-pagination{flex-wrap:wrap;gap:var(--vs-spacing-xs)}.vs-pagination .vs-pagination-button{min-width:28px;height:28px;font-size:12px}}.vs-text-center{text-align:center}.vs-text-left{text-align:left}.vs-text-right{text-align:right}.vs-text-muted{color:var(--vs-secondary)}.vs-text-primary{color:var(--vs-primary)}.vs-text-success{color:var(--vs-success)}.vs-text-danger{color:var(--vs-danger)}.vs-text-warning{color:var(--vs-warning)}.vs-bg-primary{background-color:var(--vs-primary)}.vs-bg-success{background-color:var(--vs-success)}.vs-bg-danger{background-color:var(--vs-danger)}.vs-bg-warning{background-color:var(--vs-warning)}.vs-bg-light{background-color:var(--vs-light)}.vs-border{border:1px solid var(--vs-table-border)}.vs-border-top{border-top:1px solid var(--vs-table-border)}.vs-border-bottom{border-bottom:1px solid var(--vs-table-border)}.vs-border-left{border-left:1px solid var(--vs-table-border)}.vs-border-right{border-right:1px solid var(--vs-table-border)}.vs-rounded{border-radius:var(--vs-border-radius)}.vs-rounded-sm{border-radius:var(--vs-border-radius-sm)}.vs-rounded-lg{border-radius:var(--vs-border-radius-lg)}.vs-shadow{box-shadow:var(--vs-shadow)}.vs-shadow-sm{box-shadow:var(--vs-shadow-sm)}.vs-shadow-lg{box-shadow:var(--vs-shadow-lg)}.vs-fade-in{animation:vs-fade-in .3s ease-in-out}@keyframes vs-fade-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.vs-slide-in{animation:vs-slide-in .3s ease-in-out}@keyframes vs-slide-in{0%{transform:translate(-20px);opacity:0}to{transform:translate(0);opacity:1}}.vs-datatable.vs-theme-dark{--vs-primary: #0d6efd;--vs-secondary: #6c757d;--vs-success: #198754;--vs-danger: #dc3545;--vs-warning: #ffc107;--vs-info: #0dcaf0;--vs-light: #f8f9fa;--vs-dark: #212529;--vs-table-bg: #1a1a1a;--vs-table-border: #333333;--vs-table-header-bg: #2d2d2d;--vs-table-header-color: #ffffff;--vs-table-hover-bg: #333333;--vs-table-stripe-bg: #222222;color:#fff;background-color:var(--vs-table-bg)}.vs-datatable.vs-theme-minimal{--vs-primary: #000000;--vs-secondary: #666666;--vs-success: #000000;--vs-danger: #000000;--vs-warning: #000000;--vs-info: #000000;--vs-light: #f9f9f9;--vs-dark: #000000;--vs-table-bg: #ffffff;--vs-table-border: #e0e0e0;--vs-table-header-bg: #ffffff;--vs-table-header-color: #000000;--vs-table-hover-bg: #f5f5f5;--vs-table-stripe-bg: #ffffff}.vs-datatable.vs-theme-minimal .vs-table{border:none;box-shadow:none}.vs-datatable.vs-theme-minimal .vs-table thead th{border-bottom:2px solid var(--vs-table-border);font-weight:500}.vs-datatable.vs-theme-minimal .vs-table tbody tr{border-bottom:1px solid var(--vs-table-border)}.vs-datatable.vs-theme-colorful{--vs-primary: #e91e63;--vs-secondary: #9c27b0;--vs-success: #4caf50;--vs-danger: #f44336;--vs-warning: #ff9800;--vs-info: #2196f3;--vs-light: #f3e5f5;--vs-dark: #2e2e2e;--vs-table-bg: #ffffff;--vs-table-border: #e1bee7;--vs-table-header-bg: linear-gradient(135deg, #e91e63, #9c27b0);--vs-table-header-color: #ffffff;--vs-table-hover-bg: #f3e5f5;--vs-table-stripe-bg: #fafafa}.vs-datatable.vs-theme-colorful .vs-table thead th{background:var(--vs-table-header-bg);color:var(--vs-table-header-color);font-weight:600}.vs-datatable.vs-theme-colorful .vs-pagination-button.vs-active{background:linear-gradient(135deg,var(--vs-primary),var(--vs-secondary))}.vs-datatable.vs-theme-corporate{--vs-primary: #1e3a8a;--vs-secondary: #64748b;--vs-success: #059669;--vs-danger: #dc2626;--vs-warning: #d97706;--vs-info: #0891b2;--vs-light: #f8fafc;--vs-dark: #1e293b;--vs-table-bg: #ffffff;--vs-table-border: #e2e8f0;--vs-table-header-bg: #f1f5f9;--vs-table-header-color: #334155;--vs-table-hover-bg: #f8fafc;--vs-table-stripe-bg: #ffffff;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}.vs-datatable.vs-theme-corporate .vs-table{border-radius:8px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.vs-datatable.vs-theme-corporate .vs-table thead th{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:16px 20px}.vs-datatable.vs-theme-corporate .vs-table tbody td{padding:16px 20px;font-size:14px}.vs-datatable.vs-theme-compact{--vs-spacing-xs: 2px;--vs-spacing-sm: 4px;--vs-spacing-md: 8px;--vs-spacing-lg: 12px;--vs-spacing-xl: 16px;--vs-font-size: 12px;--vs-font-size-sm: 10px;--vs-font-size-lg: 14px}.vs-datatable.vs-theme-compact .vs-table thead th{padding:var(--vs-spacing-sm) var(--vs-spacing-md);font-size:var(--vs-font-size-sm)}.vs-datatable.vs-theme-compact .vs-table tbody td{padding:var(--vs-spacing-sm) var(--vs-spacing-md);font-size:var(--vs-font-size)}.vs-datatable.vs-theme-compact .vs-pagination-button{min-width:24px;height:24px;font-size:var(--vs-font-size-sm)}.vs-datatable.vs-theme-rounded{--vs-border-radius: 12px;--vs-border-radius-sm: 6px;--vs-border-radius-lg: 16px}.vs-datatable.vs-theme-rounded .vs-table-container{border-radius:var(--vs-border-radius);overflow:hidden}.vs-datatable.vs-theme-rounded .vs-table thead th:first-child{border-top-left-radius:var(--vs-border-radius)}.vs-datatable.vs-theme-rounded .vs-table thead th:last-child{border-top-right-radius:var(--vs-border-radius)}.vs-datatable.vs-theme-rounded .vs-pagination-button{border-radius:var(--vs-border-radius-sm)}.vs-datatable.vs-theme-brand{--vs-primary: #ff6b35;--vs-secondary: #004e89;--vs-success: #00a896;--vs-danger: #e63946;--vs-warning: #f77f00;--vs-info: #06a77d}.vs-datatable.vs-theme-brand .vs-table-container{border:2px solid var(--vs-primary);border-radius:16px;box-shadow:0 8px 32px #ff6b3533}.vs-datatable.vs-theme-brand .vs-table thead th{background:linear-gradient(135deg,var(--vs-primary),var(--vs-secondary));color:#fff;font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.1)}.vs-datatable.vs-theme-brand .vs-pagination-button.vs-active{background:var(--vs-primary);transform:scale(1.05)}.vs-datatable.vs-theme-brand .vs-pagination-button:hover:not(:disabled){border-color:var(--vs-primary);transform:translateY(-1px)}
1
+ .vs-pagination[data-v-b327b254]{display:flex;align-items:center;justify-content:center;gap:var(--vs-spacing-sm);flex-wrap:wrap}.vs-pagination-button[data-v-b327b254]{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;padding:0 var(--vs-spacing-sm);border:1px solid var(--vs-table-border);background-color:var(--vs-table-bg);color:var(--vs-dark);text-decoration:none;border-radius:var(--vs-border-radius);font-size:var(--vs-font-size-sm);transition:var(--vs-transition-fast);cursor:pointer}.vs-pagination-button[data-v-b327b254]:hover:not(:disabled){background-color:var(--vs-table-hover-bg);border-color:var(--vs-primary)}.vs-pagination-button.vs-active[data-v-b327b254]{background-color:var(--vs-primary);border-color:var(--vs-primary);color:#fff}.vs-pagination-button[data-v-b327b254]:disabled{opacity:.5;cursor:not-allowed}.vs-pagination-nav[data-v-b327b254]{font-weight:var(--vs-font-weight-bold)}.vs-pagination-ellipsis[data-v-b327b254]{color:var(--vs-secondary);padding:0 var(--vs-spacing-sm);font-size:var(--vs-font-size-sm)}@media (max-width: 768px){.vs-pagination-button[data-v-b327b254]{min-width:28px;height:28px;font-size:12px}}.vs-rows-per-page[data-v-0c2bdd9c]{display:flex;align-items:center;gap:8px;font-size:14px}.vs-rows-label[data-v-0c2bdd9c]{white-space:nowrap}.vs-row,.vs-d-flex{display:flex;width:100%}.vs-row-row,.vs-d-flex.vs-row-row{flex-direction:row}.vs-row-column,.vs-d-flex.vs-row-column{flex-direction:column}.vs-row-row-reverse,.vs-d-flex.vs-row-row-reverse{flex-direction:row-reverse}.vs-row-column-reverse,.vs-d-flex.vs-row-column-reverse{flex-direction:column-reverse}.vs-justify-start{justify-content:flex-start}.vs-justify-end{justify-content:flex-end}.vs-justify-center{justify-content:center}.vs-justify-between{justify-content:space-between}.vs-justify-around{justify-content:space-around}.vs-justify-evenly{justify-content:space-evenly}.vs-align-start{align-items:flex-start}.vs-align-end{align-items:flex-end}.vs-align-center{align-items:center}.vs-align-baseline{align-items:baseline}.vs-align-stretch{align-items:stretch}.vs-wrap{flex-wrap:wrap}.vs-nowrap{flex-wrap:nowrap}.vs-gap-0{gap:0}.vs-gap-1{gap:.25rem}.vs-gap-2{gap:.5rem}.vs-gap-3{gap:.75rem}.vs-gap-4{gap:1rem}.vs-gap-5{gap:1.25rem}.vs-gap-6{gap:1.5rem}.vs-col{flex:0 0 auto}.vs-col-span-1{width:8.333333%}.vs-col-span-2{width:16.666667%}.vs-col-span-3{width:25%}.vs-col-span-4{width:33.333333%}.vs-col-span-5{width:41.666667%}.vs-col-span-6{width:50%}.vs-col-span-7{width:58.333333%}.vs-col-span-8{width:66.666667%}.vs-col-span-9{width:75%}.vs-col-span-10{width:83.333333%}.vs-col-span-11{width:91.666667%}.vs-col-span-12{width:100%}.vs-col-offset-1{margin-left:8.333333%}.vs-col-offset-2{margin-left:16.666667%}.vs-col-offset-3{margin-left:25%}.vs-col-offset-4{margin-left:33.333333%}.vs-col-offset-5{margin-left:41.666667%}.vs-col-offset-6{margin-left:50%}.vs-col-offset-7{margin-left:58.333333%}.vs-col-offset-8{margin-left:66.666667%}.vs-col-offset-9{margin-left:75%}.vs-col-offset-10{margin-left:83.333333%}.vs-col-offset-11{margin-left:91.666667%}@media (min-width: 640px){.sm\:vs-row-row{flex-direction:row}.sm\:vs-row-column{flex-direction:column}.sm\:vs-row-row-reverse{flex-direction:row-reverse}.sm\:vs-row-column-reverse{flex-direction:column-reverse}.sm\:vs-justify-start{justify-content:flex-start}.sm\:vs-justify-end{justify-content:flex-end}.sm\:vs-justify-center{justify-content:center}.sm\:vs-justify-between{justify-content:space-between}.sm\:vs-justify-around{justify-content:space-around}.sm\:vs-justify-evenly{justify-content:space-evenly}.sm\:vs-align-start{align-items:flex-start}.sm\:vs-align-end{align-items:flex-end}.sm\:vs-align-center{align-items:center}.sm\:vs-align-baseline{align-items:baseline}.sm\:vs-align-stretch{align-items:stretch}.sm\:vs-wrap{flex-wrap:wrap}.sm\:vs-nowrap{flex-wrap:nowrap}.sm\:vs-gap-0{gap:0}.sm\:vs-gap-1{gap:.25rem}.sm\:vs-gap-2{gap:.5rem}.sm\:vs-gap-3{gap:.75rem}.sm\:vs-gap-4{gap:1rem}.sm\:vs-gap-5{gap:1.25rem}.sm\:vs-gap-6{gap:1.5rem}.sm\:vs-col-span-1{width:8.333333%}.sm\:vs-col-span-2{width:16.666667%}.sm\:vs-col-span-3{width:25%}.sm\:vs-col-span-4{width:33.333333%}.sm\:vs-col-span-5{width:41.666667%}.sm\:vs-col-span-6{width:50%}.sm\:vs-col-span-7{width:58.333333%}.sm\:vs-col-span-8{width:66.666667%}.sm\:vs-col-span-9{width:75%}.sm\:vs-col-span-10{width:83.333333%}.sm\:vs-col-span-11{width:91.666667%}.sm\:vs-col-span-12{width:100%}}@media (min-width: 768px){.md\:vs-row-row{flex-direction:row}.md\:vs-row-column{flex-direction:column}.md\:vs-row-row-reverse{flex-direction:row-reverse}.md\:vs-row-column-reverse{flex-direction:column-reverse}.md\:vs-justify-start{justify-content:flex-start}.md\:vs-justify-end{justify-content:flex-end}.md\:vs-justify-center{justify-content:center}.md\:vs-justify-between{justify-content:space-between}.md\:vs-justify-around{justify-content:space-around}.md\:vs-justify-evenly{justify-content:space-evenly}.md\:vs-align-start{align-items:flex-start}.md\:vs-align-end{align-items:flex-end}.md\:vs-align-center{align-items:center}.md\:vs-align-baseline{align-items:baseline}.md\:vs-align-stretch{align-items:stretch}.md\:vs-wrap{flex-wrap:wrap}.md\:vs-nowrap{flex-wrap:nowrap}.md\:vs-gap-0{gap:0}.md\:vs-gap-1{gap:.25rem}.md\:vs-gap-2{gap:.5rem}.md\:vs-gap-3{gap:.75rem}.md\:vs-gap-4{gap:1rem}.md\:vs-gap-5{gap:1.25rem}.md\:vs-gap-6{gap:1.5rem}.md\:vs-col-span-1{width:8.333333%}.md\:vs-col-span-2{width:16.666667%}.md\:vs-col-span-3{width:25%}.md\:vs-col-span-4{width:33.333333%}.md\:vs-col-span-5{width:41.666667%}.md\:vs-col-span-6{width:50%}.md\:vs-col-span-7{width:58.333333%}.md\:vs-col-span-8{width:66.666667%}.md\:vs-col-span-9{width:75%}.md\:vs-col-span-10{width:83.333333%}.md\:vs-col-span-11{width:91.666667%}.md\:vs-col-span-12{width:100%}}@media (min-width: 1024px){.lg\:vs-row-row{flex-direction:row}.lg\:vs-row-column{flex-direction:column}.lg\:vs-row-row-reverse{flex-direction:row-reverse}.lg\:vs-row-column-reverse{flex-direction:column-reverse}.lg\:vs-justify-start{justify-content:flex-start}.lg\:vs-justify-end{justify-content:flex-end}.lg\:vs-justify-center{justify-content:center}.lg\:vs-justify-between{justify-content:space-between}.lg\:vs-justify-around{justify-content:space-around}.lg\:vs-justify-evenly{justify-content:space-evenly}.lg\:vs-align-start{align-items:flex-start}.lg\:vs-align-end{align-items:flex-end}.lg\:vs-align-center{align-items:center}.lg\:vs-align-baseline{align-items:baseline}.lg\:vs-align-stretch{align-items:stretch}.lg\:vs-wrap{flex-wrap:wrap}.lg\:vs-nowrap{flex-wrap:nowrap}.lg\:vs-gap-0{gap:0}.lg\:vs-gap-1{gap:.25rem}.lg\:vs-gap-2{gap:.5rem}.lg\:vs-gap-3{gap:.75rem}.lg\:vs-gap-4{gap:1rem}.lg\:vs-gap-5{gap:1.25rem}.lg\:vs-gap-6{gap:1.5rem}.lg\:vs-col-span-1{width:8.333333%}.lg\:vs-col-span-2{width:16.666667%}.lg\:vs-col-span-3{width:25%}.lg\:vs-col-span-4{width:33.333333%}.lg\:vs-col-span-5{width:41.666667%}.lg\:vs-col-span-6{width:50%}.lg\:vs-col-span-7{width:58.333333%}.lg\:vs-col-span-8{width:66.666667%}.lg\:vs-col-span-9{width:75%}.lg\:vs-col-span-10{width:83.333333%}.lg\:vs-col-span-11{width:91.666667%}.lg\:vs-col-span-12{width:100%}}@media (min-width: 1280px){.xl\:vs-row-row{flex-direction:row}.xl\:vs-row-column{flex-direction:column}.xl\:vs-row-row-reverse{flex-direction:row-reverse}.xl\:vs-row-column-reverse{flex-direction:column-reverse}.xl\:vs-justify-start{justify-content:flex-start}.xl\:vs-justify-end{justify-content:flex-end}.xl\:vs-justify-center{justify-content:center}.xl\:vs-justify-between{justify-content:space-between}.xl\:vs-justify-around{justify-content:space-around}.xl\:vs-justify-evenly{justify-content:space-evenly}.xl\:vs-align-start{align-items:flex-start}.xl\:vs-align-end{align-items:flex-end}.xl\:vs-align-center{align-items:center}.xl\:vs-align-baseline{align-items:baseline}.xl\:vs-align-stretch{align-items:stretch}.xl\:vs-wrap{flex-wrap:wrap}.xl\:vs-nowrap{flex-wrap:nowrap}.xl\:vs-gap-0{gap:0}.xl\:vs-gap-1{gap:.25rem}.xl\:vs-gap-2{gap:.5rem}.xl\:vs-gap-3{gap:.75rem}.xl\:vs-gap-4{gap:1rem}.xl\:vs-gap-5{gap:1.25rem}.xl\:vs-gap-6{gap:1.5rem}.xl\:vs-col-span-1{width:8.333333%}.xl\:vs-col-span-2{width:16.666667%}.xl\:vs-col-span-3{width:25%}.xl\:vs-col-span-4{width:33.333333%}.xl\:vs-col-span-5{width:41.666667%}.xl\:vs-col-span-6{width:50%}.xl\:vs-col-span-7{width:58.333333%}.xl\:vs-col-span-8{width:66.666667%}.xl\:vs-col-span-9{width:75%}.xl\:vs-col-span-10{width:83.333333%}.xl\:vs-col-span-11{width:91.666667%}.xl\:vs-col-span-12{width:100%}}.vs-header-content[data-v-1776a5d5]{display:flex;align-items:center;gap:var(--vs-spacing-sm)}.vs-header-label[data-v-1776a5d5]{flex:1}.vs-checkbox-column[data-v-149f0fb5]{width:50px;text-align:center}.vs-row-clickable[data-v-149f0fb5]{cursor:pointer}.vs-row-selected[data-v-149f0fb5]{background-color:rgba(var(--vs-primary),.1)}.vs-search .vs-search-input[data-v-60b73b45]{font-size:15px!important}.vs-datatable-toolbar[data-v-8524b8f7]{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--vs-spacing-md, 1rem)}.vs-layout-start[data-v-8524b8f7],.vs-layout-end[data-v-8524b8f7]{display:flex;align-items:center;gap:var(--vs-spacing-sm, .75rem)}.vs-datatable[data-v-4da895c0]{--vs-table-wrapper-overflow: auto}.vs-table-wrapper[data-v-4da895c0]{overflow:var(--vs-table-wrapper-overflow)}.vs-table-footer[data-v-4da895c0]{display:flex;align-items:center;justify-content:space-between;padding:var(--vs-spacing-sm) 0}.vs-table-info[data-v-4da895c0]{color:var(--vs-secondary);font-size:var(--vs-font-size-md)}.vs-search-container[data-v-4da895c0]{margin-bottom:var(--vs-spacing-sm)}:root{--vs-primary: #007bff;--vs-secondary: #6c757d;--vs-success: #28a745;--vs-danger: #dc3545;--vs-warning: #ffc107;--vs-info: #17a2b8;--vs-light: #f8f9fa;--vs-dark: #343a40;--vs-gray-800: #495057;--vs-inactive: #cdcdcd;--vs-table-bg: #ffffff;--vs-table-border: #dee2e6;--vs-table-header-bg: #f8f9fa;--vs-table-header-color: #495057;--vs-table-hover-bg: #f5f5f5;--vs-table-stripe-bg: #fafafa;--vs-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--vs-font-size: 14px;--vs-font-size-sm: 12px;--vs-font-size-lg: 16px;--vs-font-weight-normal: 400;--vs-font-weight-bold: 600;--vs-spacing-xs: 4px;--vs-spacing-sm: 8px;--vs-spacing-md: 16px;--vs-spacing-lg: 24px;--vs-spacing-xl: 32px;--vs-border-radius: 4px;--vs-border-radius-sm: 2px;--vs-border-radius-lg: 8px;--vs-shadow-sm: 0 1px 3px rgba(0, 0, 0, .1);--vs-shadow: 0 2px 4px rgba(0, 0, 0, .1);--vs-shadow-lg: 0 4px 8px rgba(0, 0, 0, .15);--vs-transition: all .2s ease-in-out;--vs-transition-fast: all .15s ease-in-out;--vs-z-dropdown: 1000;--vs-z-sticky: 1020;--vs-z-fixed: 1030;--vs-z-modal: 1040;--vs-z-popover: 1050;--vs-z-tooltip: 1060}.vs-m-xs{margin:var(--vs-spacing-xs)!important}.vs-m-sm{margin:var(--vs-spacing-sm)!important}.vs-m-md{margin:var(--vs-spacing-md)!important}.vs-m-lg{margin:var(--vs-spacing-lg)!important}.vs-m-xl{margin:var(--vs-spacing-xl)!important}.vs-mt-xs{margin-top:var(--vs-spacing-xs)!important}.vs-mt-sm{margin-top:var(--vs-spacing-sm)!important}.vs-mt-md{margin-top:var(--vs-spacing-md)!important}.vs-mt-lg{margin-top:var(--vs-spacing-lg)!important}.vs-mt-xl{margin-top:var(--vs-spacing-xl)!important}.vs-mb-xs{margin-bottom:var(--vs-spacing-xs)!important}.vs-mb-sm{margin-bottom:var(--vs-spacing-sm)!important}.vs-mb-md{margin-bottom:var(--vs-spacing-md)!important}.vs-mb-lg{margin-bottom:var(--vs-spacing-lg)!important}.vs-mb-xl{margin-bottom:var(--vs-spacing-xl)!important}.vs-ml-xs{margin-left:var(--vs-spacing-xs)!important}.vs-ml-sm{margin-left:var(--vs-spacing-sm)!important}.vs-ml-md{margin-left:var(--vs-spacing-md)!important}.vs-ml-lg{margin-left:var(--vs-spacing-lg)!important}.vs-ml-xl{margin-left:var(--vs-spacing-xl)!important}.vs-mr-xs{margin-right:var(--vs-spacing-xs)!important}.vs-mr-sm{margin-right:var(--vs-spacing-sm)!important}.vs-mr-md{margin-right:var(--vs-spacing-md)!important}.vs-mr-lg{margin-right:var(--vs-spacing-lg)!important}.vs-mr-xl{margin-right:var(--vs-spacing-xl)!important}.vs-mx-xs{margin-left:var(--vs-spacing-xs)!important;margin-right:var(--vs-spacing-xs)!important}.vs-mx-sm{margin-left:var(--vs-spacing-sm)!important;margin-right:var(--vs-spacing-sm)!important}.vs-mx-md{margin-left:var(--vs-spacing-md)!important;margin-right:var(--vs-spacing-md)!important}.vs-mx-lg{margin-left:var(--vs-spacing-lg)!important;margin-right:var(--vs-spacing-lg)!important}.vs-mx-xl{margin-left:var(--vs-spacing-xl)!important;margin-right:var(--vs-spacing-xl)!important}.vs-my-xs{margin-top:var(--vs-spacing-xs)!important;margin-bottom:var(--vs-spacing-xs)!important}.vs-my-sm{margin-top:var(--vs-spacing-sm)!important;margin-bottom:var(--vs-spacing-sm)!important}.vs-my-md{margin-top:var(--vs-spacing-md)!important;margin-bottom:var(--vs-spacing-md)!important}.vs-my-lg{margin-top:var(--vs-spacing-lg)!important;margin-bottom:var(--vs-spacing-lg)!important}.vs-my-xl{margin-top:var(--vs-spacing-xl)!important;margin-bottom:var(--vs-spacing-xl)!important}.vs-mx-auto{margin-left:auto!important;margin-right:auto!important}.vs-my-auto{margin-top:auto!important;margin-bottom:auto!important}.vs-ml-auto{margin-left:auto!important}.vs-mr-auto{margin-right:auto!important}.vs-mt-auto{margin-top:auto!important}.vs-mb-auto{margin-bottom:auto!important}.vs-p-xs{padding:var(--vs-spacing-xs)!important}.vs-p-sm{padding:var(--vs-spacing-sm)!important}.vs-p-md{padding:var(--vs-spacing-md)!important}.vs-p-lg{padding:var(--vs-spacing-lg)!important}.vs-p-xl{padding:var(--vs-spacing-xl)!important}.vs-pt-xs{padding-top:var(--vs-spacing-xs)!important}.vs-pt-sm{padding-top:var(--vs-spacing-sm)!important}.vs-pt-md{padding-top:var(--vs-spacing-md)!important}.vs-pt-lg{padding-top:var(--vs-spacing-lg)!important}.vs-pt-xl{padding-top:var(--vs-spacing-xl)!important}.vs-pb-xs{padding-bottom:var(--vs-spacing-xs)!important}.vs-pb-sm{padding-bottom:var(--vs-spacing-sm)!important}.vs-pb-md{padding-bottom:var(--vs-spacing-md)!important}.vs-pb-lg{padding-bottom:var(--vs-spacing-lg)!important}.vs-pb-xl{padding-bottom:var(--vs-spacing-xl)!important}.vs-pl-xs{padding-left:var(--vs-spacing-xs)!important}.vs-pl-sm{padding-left:var(--vs-spacing-sm)!important}.vs-pl-md{padding-left:var(--vs-spacing-md)!important}.vs-pl-lg{padding-left:var(--vs-spacing-lg)!important}.vs-pl-xl{padding-left:var(--vs-spacing-xl)!important}.vs-pr-xs{padding-right:var(--vs-spacing-xs)!important}.vs-pr-sm{padding-right:var(--vs-spacing-sm)!important}.vs-pr-md{padding-right:var(--vs-spacing-md)!important}.vs-pr-lg{padding-right:var(--vs-spacing-lg)!important}.vs-pr-xl{padding-right:var(--vs-spacing-xl)!important}.vs-px-xs{padding-left:var(--vs-spacing-xs)!important;padding-right:var(--vs-spacing-xs)!important}.vs-px-sm{padding-left:var(--vs-spacing-sm)!important;padding-right:var(--vs-spacing-sm)!important}.vs-px-md{padding-left:var(--vs-spacing-md)!important;padding-right:var(--vs-spacing-md)!important}.vs-px-lg{padding-left:var(--vs-spacing-lg)!important;padding-right:var(--vs-spacing-lg)!important}.vs-px-xl{padding-left:var(--vs-spacing-xl)!important;padding-right:var(--vs-spacing-xl)!important}.vs-py-xs{padding-top:var(--vs-spacing-xs)!important;padding-bottom:var(--vs-spacing-xs)!important}.vs-py-sm{padding-top:var(--vs-spacing-sm)!important;padding-bottom:var(--vs-spacing-sm)!important}.vs-py-md{padding-top:var(--vs-spacing-md)!important;padding-bottom:var(--vs-spacing-md)!important}.vs-py-lg{padding-top:var(--vs-spacing-lg)!important;padding-bottom:var(--vs-spacing-lg)!important}.vs-py-xl{padding-top:var(--vs-spacing-xl)!important;padding-bottom:var(--vs-spacing-xl)!important}.vs-m-2{margin:var(--vs-spacing-sm)!important}.vs-p-2{padding:var(--vs-spacing-sm)!important}.vs-ml-2{margin-left:var(--vs-spacing-sm)!important}.vs-mx-2{margin-left:var(--vs-spacing-sm)!important;margin-right:var(--vs-spacing-sm)!important}.vs-mb-5{margin-bottom:var(--vs-spacing-lg)!important}.vs-text-xs,.vs-text-sm{font-size:var(--vs-font-size-sm)!important}.vs-text-base{font-size:var(--vs-font-size)!important}.vs-text-lg,.vs-text-xl{font-size:var(--vs-font-size-lg)!important}.vs-font-normal{font-weight:var(--vs-font-weight-normal)!important}.vs-font-bold{font-weight:var(--vs-font-weight-bold)!important}.vs-text-left{text-align:left!important}.vs-text-center{text-align:center!important}.vs-text-right{text-align:right!important}.vs-uppercase{text-transform:uppercase!important}.vs-lowercase{text-transform:lowercase!important}.vs-capitalize{text-transform:capitalize!important}.vs-text-primary{color:var(--vs-primary)!important}.vs-text-secondary{color:var(--vs-secondary)!important}.vs-text-success{color:var(--vs-success)!important}.vs-text-danger{color:var(--vs-danger)!important}.vs-text-warning{color:var(--vs-warning)!important}.vs-text-info{color:var(--vs-info)!important}.vs-text-light{color:var(--vs-light)!important}.vs-text-dark{color:var(--vs-dark)!important}.vs-bg-primary{background-color:var(--vs-primary)!important}.vs-bg-secondary{background-color:var(--vs-secondary)!important}.vs-bg-success{background-color:var(--vs-success)!important}.vs-bg-danger{background-color:var(--vs-danger)!important}.vs-bg-warning{background-color:var(--vs-warning)!important}.vs-bg-info{background-color:var(--vs-info)!important}.vs-bg-light{background-color:var(--vs-light)!important}.vs-bg-dark{background-color:var(--vs-dark)!important}.vs-d-none{display:none!important}.vs-d-inline{display:inline!important}.vs-d-inline-block{display:inline-block!important}.vs-d-block{display:block!important}.vs-d-flex{display:flex!important}.vs-d-inline-flex{display:inline-flex!important}.vs-d-grid{display:grid!important}.vs-d-table{display:table!important}.vs-flex-row{flex-direction:row!important}.vs-flex-row-reverse{flex-direction:row-reverse!important}.vs-flex-column{flex-direction:column!important}.vs-flex-column-reverse{flex-direction:column-reverse!important}.vs-justify-start{justify-content:flex-start!important}.vs-justify-end{justify-content:flex-end!important}.vs-justify-center{justify-content:center!important}.vs-justify-between{justify-content:space-between!important}.vs-justify-around{justify-content:space-around!important}.vs-align-start{align-items:flex-start!important}.vs-align-end{align-items:flex-end!important}.vs-align-center{align-items:center!important}.vs-align-baseline{align-items:baseline!important}.vs-align-stretch{align-items:stretch!important}.vs-flex-wrap{flex-wrap:wrap!important}.vs-flex-nowrap{flex-wrap:nowrap!important}.vs-flex-wrap-reverse{flex-wrap:wrap-reverse!important}.vs-flex-1{flex:1 1 0%!important}.vs-flex-auto{flex:1 1 auto!important}.vs-flex-none{flex:none!important}.vs-rounded{border-radius:var(--vs-border-radius)!important}.vs-rounded-sm{border-radius:var(--vs-border-radius-sm)!important}.vs-rounded-lg{border-radius:var(--vs-border-radius-lg)!important}.vs-rounded-full{border-radius:50%!important}.vs-rounded-top{border-top-left-radius:var(--vs-border-radius)!important;border-top-right-radius:var(--vs-border-radius)!important}.vs-rounded-bottom{border-bottom-left-radius:var(--vs-border-radius)!important;border-bottom-right-radius:var(--vs-border-radius)!important}.vs-rounded-left{border-top-left-radius:var(--vs-border-radius)!important;border-bottom-left-radius:var(--vs-border-radius)!important}.vs-rounded-right{border-top-right-radius:var(--vs-border-radius)!important;border-bottom-right-radius:var(--vs-border-radius)!important}.vs-shadow-none{box-shadow:none!important}.vs-shadow-sm{box-shadow:var(--vs-shadow-sm)!important}.vs-shadow{box-shadow:var(--vs-shadow)!important}.vs-shadow-lg{box-shadow:var(--vs-shadow-lg)!important}.vs-position-static{position:static!important}.vs-position-relative{position:relative!important}.vs-position-absolute{position:absolute!important}.vs-position-fixed{position:fixed!important}.vs-position-sticky{position:sticky!important}.vs-overflow-auto{overflow:auto!important}.vs-overflow-hidden{overflow:hidden!important}.vs-overflow-visible{overflow:visible!important}.vs-overflow-scroll{overflow:scroll!important}.vs-w-auto{width:auto!important}.vs-w-full{width:100%!important}.vs-w-screen{width:100vw!important}.vs-w-50{width:50%!important}.vs-w-100{width:100%!important}.vs-h-auto{height:auto!important}.vs-h-full{height:100%!important}.vs-h-screen{height:100vh!important}.vs-h-50{height:50%!important}.vs-h-100{height:100%!important}.vs-visible{visibility:visible!important}.vs-invisible{visibility:hidden!important}.vs-cursor-auto{cursor:auto!important}.vs-cursor-pointer{cursor:pointer!important}.vs-cursor-default{cursor:default!important}.vs-cursor-not-allowed{cursor:not-allowed!important}.vs-border{border:1px solid var(--vs-table-border)!important}.vs-border-top{border-top:1px solid var(--vs-table-border)!important}.vs-border-bottom{border-bottom:1px solid var(--vs-table-border)!important}.vs-border-left{border-left:1px solid var(--vs-table-border)!important}.vs-border-right{border-right:1px solid var(--vs-table-border)!important}.vs-z-dropdown{z-index:var(--vs-z-dropdown)!important}.vs-z-sticky{z-index:var(--vs-z-sticky)!important}.vs-z-fixed{z-index:var(--vs-z-fixed)!important}.vs-z-modal{z-index:var(--vs-z-modal)!important}.vs-z-popover{z-index:var(--vs-z-popover)!important}.vs-z-tooltip{z-index:var(--vs-z-tooltip)!important}.vs-transition{transition:var(--vs-transition)!important}.vs-transition-fast{transition:var(--vs-transition-fast)!important}.vs-transition-none{transition:none!important}.vs-datatable{font-family:var(--vs-font-family);font-size:var(--vs-font-size);line-height:1.5;color:var(--vs-dark);background-color:var(--vs-table-bg);box-sizing:border-box}.vs-datatable *,.vs-datatable *:before,.vs-datatable *:after{box-sizing:border-box}.vs-table-container{position:relative;background-color:var(--vs-table-bg);border:1px solid var(--vs-table-border);border-radius:var(--vs-border-radius);overflow:hidden;box-shadow:var(--vs-shadow-sm)}.vs-table{width:100%;margin:0;border-collapse:separate;border-spacing:0;background-color:var(--vs-table-bg)}.vs-table thead{background-color:var(--vs-table-header-bg)}.vs-table thead th{padding:var(--vs-spacing-md);font-weight:var(--vs-font-weight-bold);color:var(--vs-table-header-color);text-align:left;vertical-align:middle;border-bottom:2px solid var(--vs-table-border);position:relative;-webkit-user-select:none;user-select:none}.vs-table thead th:first-child{border-top-left-radius:var(--vs-border-radius)}.vs-table thead th:last-child{border-top-right-radius:var(--vs-border-radius)}.vs-table tbody tr{transition:var(--vs-transition-fast);border-bottom:1px solid var(--vs-table-border)}.vs-table tbody tr:hover{background-color:var(--vs-table-hover-bg)}.vs-table tbody tr:nth-child(2n){background-color:var(--vs-table-stripe-bg)}.vs-table tbody tr:last-child{border-bottom:none}.vs-table tbody tr td{padding:var(--vs-spacing-md);vertical-align:middle;border-right:1px solid var(--vs-table-border)}.vs-table tbody tr td:last-child{border-right:none}.vs-sortable{cursor:pointer;position:relative}.vs-sortable:hover{background-color:rgba(var(--vs-primary),.1)}.vs-sortable .vs-sort-icons{display:inline-flex;flex-direction:column;margin-left:var(--vs-spacing-sm);vertical-align:middle}.vs-sortable .vs-sort-icons .vs-sort-icon{font-size:10px;line-height:1;color:var(--vs-secondary);transition:var(--vs-transition-fast);margin:-8px 0}.vs-sortable .vs-sort-icons .vs-sort-icon.vs-sort-asc,.vs-sortable .vs-sort-icons .vs-sort-icon.vs-sort-desc{color:var(--vs-primary)}.vs-sortable .vs-sort-icons .vs-sort-icon svg{fill:var(--vs-inactive)}.vs-sortable .vs-sort-icons .vs-sort-icon.vs-active svg{fill:currentColor}.vs-sortable .vs-sort-priority{display:inline-block;background-color:var(--vs-primary);color:#fff;font-size:10px;padding:2px 6px;border-radius:var(--vs-border-radius-sm);margin-left:var(--vs-spacing-sm);font-weight:var(--vs-font-weight-bold)}.vs-loading{display:flex;align-items:center;justify-content:center;padding:var(--vs-spacing-xl);color:var(--vs-secondary)}.vs-loading .vs-spinner{width:20px;height:20px;border:2px solid var(--vs-table-border);border-top:2px solid var(--vs-primary);border-radius:50%;animation:vs-spin 1s linear infinite;margin-right:var(--vs-spacing-sm)}@keyframes vs-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.vs-no-data{text-align:center;padding:var(--vs-spacing-xl);color:var(--vs-secondary)}.vs-no-data .vs-no-data-icon{width:60px;height:60px;margin:0 auto var(--vs-spacing-md);opacity:.5}.vs-no-data .vs-no-data-message{font-size:var(--vs-font-size-lg);font-weight:var(--vs-font-weight-bold);margin-bottom:var(--vs-spacing-sm)}.vs-no-data .vs-no-data-description{font-size:var(--vs-font-size-sm);color:var(--vs-secondary)}.vs-search{position:relative;margin-bottom:var(--vs-spacing-md)}.vs-search .vs-search-input{width:100%;padding:var(--vs-spacing-sm) var(--vs-spacing-md);padding-left:50px;border:1px solid var(--vs-table-border);border-radius:var(--vs-border-radius);font-size:var(--vs-font-size);transition:var(--vs-transition-fast)}.vs-search .vs-search-input:focus{outline:none;border-color:var(--vs-primary);box-shadow:0 0 0 2px rgba(var(--vs-primary),.25)}.vs-search .vs-search-icon{position:absolute;left:var(--vs-spacing-md);top:50%;transform:translateY(-50%);color:var(--vs-secondary);pointer-events:none}.vs-pagination{display:flex;align-items:center;justify-content:center;gap:var(--vs-spacing-sm);margin-top:var(--vs-spacing-md)}.vs-pagination .vs-pagination-button{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;padding:0 var(--vs-spacing-sm);border:1px solid var(--vs-table-border);background-color:var(--vs-table-bg);color:var(--vs-dark);text-decoration:none;border-radius:var(--vs-border-radius);font-size:var(--vs-font-size-sm);transition:var(--vs-transition-fast);cursor:pointer}.vs-pagination .vs-pagination-button:hover:not(:disabled){background-color:var(--vs-table-hover-bg);border-color:var(--vs-primary)}.vs-pagination .vs-pagination-button.vs-active{background-color:var(--vs-primary);border-color:var(--vs-primary);color:#fff}.vs-pagination .vs-pagination-button:disabled{opacity:.5;cursor:not-allowed}.vs-pagination .vs-pagination-ellipsis{color:var(--vs-secondary);padding:0 var(--vs-spacing-sm)}.vs-layout-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;width:100%;gap:1rem}.vs-layout-row .vs-layout-start,.vs-layout-row .vs-layout-end{display:flex;align-items:center;gap:.5rem}@media (max-width: 768px){.vs-layout-row{flex-direction:column;align-items:stretch}.vs-layout-row .vs-layout-start,.vs-layout-row .vs-layout-end{justify-content:flex-start;width:100%}}.export-dropdown{position:relative;display:inline-block}.export-btn{background:#2d6cdf;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:14px}.export-menu{display:none;position:absolute;right:0;margin-top:.25rem;background:#fff;border:1px solid #ddd;border-radius:6px;list-style:none;padding:0;min-width:160px;box-shadow:0 4px 8px #0000001a;z-index:1;flex-direction:column}.export-menu li{width:100%}.export-menu button{background:none;border:none;width:100%;padding:.75rem 1rem;text-align:left;cursor:pointer;font-size:14px}.export-menu button:hover{background:#f5f5f5}.export-menu.active{display:flex}.vs-checkbox{display:inline-flex;align-items:center;cursor:pointer}.vs-checkbox input[type=checkbox]{width:16px;height:16px;margin:0;cursor:pointer;accent-color:var(--vs-primary)}.vs-checkbox label{margin:0;cursor:pointer;font-size:var(--vs-font-size-sm)}.vs-footer-left{display:flex;align-items:center;gap:12px}.vs-divider{width:1px;height:20px;background-color:#ccc}.vs-rows-per-page{display:flex;align-items:center;gap:8px;font-size:14px;color:#495057}.vs-items-dropdown{padding:6px 8px;border:1px solid #ddd;border-radius:4px;background-color:#fff;font-size:14px}.vs-expand-column{width:40px;text-align:center}.vs-expand-btn{background:transparent;border:none;cursor:pointer;font-size:1.1rem}.vs-row-expanded{background:#f9f9f9}.vs-table tbody tr.vs-row-expanded td.vs-expanded-cell{padding:0!important;vertical-align:top!important;border-right:none}.vs-expanded-content{padding:var(--vs-spacing-md);background-color:#ededed}.vs-loader-bar{width:100%;height:4px;background:#e5e7eb;overflow:hidden;position:relative;border-radius:2px;top:0;left:0;margin:0}.vs-loader-bar-inner{width:40%;height:100%;background:var(--vs-primary);position:absolute;left:-40%;animation:loader-slide 1.2s infinite linear;border-radius:2px}@keyframes loader-slide{0%{left:-40%}50%{left:60%}to{left:100%}}.vs-filter-dropdown{background:#fff;border:1px solid #ddd;padding:.75rem;border-radius:6px;box-shadow:0 2px 12px #0000001f;min-width:200px}.vs-filter-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.75rem}.vs-input,.vs-multiselect-search{padding:.35rem .5rem;border:1px solid #ccc;border-radius:4px}.vs-operator-select{padding:.35rem .5rem;border:1px solid #ccc;border-radius:4px;gap:.55rem}.vs-multiselect{width:100%}.vs-multiselect-actions{display:flex;justify-content:space-between;padding:.5rem;border-bottom:1px solid #eee;background:#fafafa}.vs-multiselect-actions button{font-size:.85rem;background:transparent;border:none;color:#2d6cdf;cursor:pointer}.vs-multiselect-search{width:var(vs-w-full);padding:var(--vs-spacing-sm);border-bottom:1px solid #eee;outline:none}.vs-multiselect-options{list-style:none;padding:0;margin:0;max-height:220px;overflow-y:auto}.vs-multiselect-options li{display:flex;align-items:center;justify-content:space-between;padding:.5rem;cursor:pointer;transition:background .15s}.vs-multiselect-options li:hover{background:#f9f9f9}.vs-multiselect-options li.selected{background:#f0f6ff;color:#2d6cdf}.option-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.check-icon{width:18px;height:18px;stroke-width:2.5}.vs-btn{padding:.35rem .75rem;border-radius:4px;cursor:pointer}.vs-btn-primary{background:#2d6cdf;color:#fff;border:none}.vs-btn-secondary{background:#f5f5f5;border:1px solid #ccc}.vs-column-filter{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;cursor:pointer}.vs-column-filter.is-active{background-color:#2980b90f;color:var(--vs-text-primary, #2d6cdf)}.vs-column-filter.in-active{color:var(--vs-inactive)}.vs-header-content{display:flex;align-items:center;gap:8px}@media (max-width: 768px){.vs-table-container{overflow-x:auto}.vs-table{min-width:600px}.vs-pagination{flex-wrap:wrap;gap:var(--vs-spacing-xs)}.vs-pagination .vs-pagination-button{min-width:28px;height:28px;font-size:12px}}.vs-text-center{text-align:center}.vs-text-left{text-align:left}.vs-text-right{text-align:right}.vs-text-muted{color:var(--vs-secondary)}.vs-text-primary{color:var(--vs-primary)}.vs-text-success{color:var(--vs-success)}.vs-text-danger{color:var(--vs-danger)}.vs-text-warning{color:var(--vs-warning)}.vs-bg-primary{background-color:var(--vs-primary)}.vs-bg-success{background-color:var(--vs-success)}.vs-bg-danger{background-color:var(--vs-danger)}.vs-bg-warning{background-color:var(--vs-warning)}.vs-bg-light{background-color:var(--vs-light)}.vs-border{border:1px solid var(--vs-table-border)}.vs-border-top{border-top:1px solid var(--vs-table-border)}.vs-border-bottom{border-bottom:1px solid var(--vs-table-border)}.vs-border-left{border-left:1px solid var(--vs-table-border)}.vs-border-right{border-right:1px solid var(--vs-table-border)}.vs-rounded{border-radius:var(--vs-border-radius)}.vs-rounded-sm{border-radius:var(--vs-border-radius-sm)}.vs-rounded-lg{border-radius:var(--vs-border-radius-lg)}.vs-shadow{box-shadow:var(--vs-shadow)}.vs-shadow-sm{box-shadow:var(--vs-shadow-sm)}.vs-shadow-lg{box-shadow:var(--vs-shadow-lg)}.vs-fade-in{animation:vs-fade-in .3s ease-in-out}@keyframes vs-fade-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.vs-slide-in{animation:vs-slide-in .3s ease-in-out}@keyframes vs-slide-in{0%{transform:translate(-20px);opacity:0}to{transform:translate(0);opacity:1}}.vs-datatable.vs-theme-dark{--vs-primary: #0d6efd;--vs-secondary: #6c757d;--vs-success: #198754;--vs-danger: #dc3545;--vs-warning: #ffc107;--vs-info: #0dcaf0;--vs-light: #f8f9fa;--vs-dark: #212529;--vs-table-bg: #1a1a1a;--vs-table-border: #333333;--vs-table-header-bg: #2d2d2d;--vs-table-header-color: #ffffff;--vs-table-hover-bg: #333333;--vs-table-stripe-bg: #222222;color:#fff;background-color:var(--vs-table-bg)}.vs-datatable.vs-theme-minimal{--vs-primary: #000000;--vs-secondary: #666666;--vs-success: #000000;--vs-danger: #000000;--vs-warning: #000000;--vs-info: #000000;--vs-light: #f9f9f9;--vs-dark: #000000;--vs-table-bg: #ffffff;--vs-table-border: #e0e0e0;--vs-table-header-bg: #ffffff;--vs-table-header-color: #000000;--vs-table-hover-bg: #f5f5f5;--vs-table-stripe-bg: #ffffff}.vs-datatable.vs-theme-minimal .vs-table{border:none;box-shadow:none}.vs-datatable.vs-theme-minimal .vs-table thead th{border-bottom:2px solid var(--vs-table-border);font-weight:500}.vs-datatable.vs-theme-minimal .vs-table tbody tr{border-bottom:1px solid var(--vs-table-border)}.vs-datatable.vs-theme-colorful{--vs-primary: #e91e63;--vs-secondary: #9c27b0;--vs-success: #4caf50;--vs-danger: #f44336;--vs-warning: #ff9800;--vs-info: #2196f3;--vs-light: #f3e5f5;--vs-dark: #2e2e2e;--vs-table-bg: #ffffff;--vs-table-border: #e1bee7;--vs-table-header-bg: linear-gradient(135deg, #e91e63, #9c27b0);--vs-table-header-color: #ffffff;--vs-table-hover-bg: #f3e5f5;--vs-table-stripe-bg: #fafafa}.vs-datatable.vs-theme-colorful .vs-table thead th{background:var(--vs-table-header-bg);color:var(--vs-table-header-color);font-weight:600}.vs-datatable.vs-theme-colorful .vs-pagination-button.vs-active{background:linear-gradient(135deg,var(--vs-primary),var(--vs-secondary))}.vs-datatable.vs-theme-corporate{--vs-primary: #1e3a8a;--vs-secondary: #64748b;--vs-success: #059669;--vs-danger: #dc2626;--vs-warning: #d97706;--vs-info: #0891b2;--vs-light: #f8fafc;--vs-dark: #1e293b;--vs-table-bg: #ffffff;--vs-table-border: #e2e8f0;--vs-table-header-bg: #f1f5f9;--vs-table-header-color: #334155;--vs-table-hover-bg: #f8fafc;--vs-table-stripe-bg: #ffffff;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}.vs-datatable.vs-theme-corporate .vs-table{border-radius:8px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.vs-datatable.vs-theme-corporate .vs-table thead th{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:16px 20px}.vs-datatable.vs-theme-corporate .vs-table tbody td{padding:16px 20px;font-size:14px}.vs-datatable.vs-theme-compact{--vs-spacing-xs: 2px;--vs-spacing-sm: 4px;--vs-spacing-md: 8px;--vs-spacing-lg: 12px;--vs-spacing-xl: 16px;--vs-font-size: 12px;--vs-font-size-sm: 10px;--vs-font-size-lg: 14px}.vs-datatable.vs-theme-compact .vs-table thead th{padding:var(--vs-spacing-sm) var(--vs-spacing-md);font-size:var(--vs-font-size-sm)}.vs-datatable.vs-theme-compact .vs-table tbody td{padding:var(--vs-spacing-sm) var(--vs-spacing-md);font-size:var(--vs-font-size)}.vs-datatable.vs-theme-compact .vs-pagination-button{min-width:24px;height:24px;font-size:var(--vs-font-size-sm)}.vs-datatable.vs-theme-rounded{--vs-border-radius: 12px;--vs-border-radius-sm: 6px;--vs-border-radius-lg: 16px}.vs-datatable.vs-theme-rounded .vs-table-container{border-radius:var(--vs-border-radius);overflow:hidden}.vs-datatable.vs-theme-rounded .vs-table thead th:first-child{border-top-left-radius:var(--vs-border-radius)}.vs-datatable.vs-theme-rounded .vs-table thead th:last-child{border-top-right-radius:var(--vs-border-radius)}.vs-datatable.vs-theme-rounded .vs-pagination-button{border-radius:var(--vs-border-radius-sm)}.vs-datatable.vs-theme-brand{--vs-primary: #ff6b35;--vs-secondary: #004e89;--vs-success: #00a896;--vs-danger: #e63946;--vs-warning: #f77f00;--vs-info: #06a77d}.vs-datatable.vs-theme-brand .vs-table-container{border:2px solid var(--vs-primary);border-radius:16px;box-shadow:0 8px 32px #ff6b3533}.vs-datatable.vs-theme-brand .vs-table thead th{background:linear-gradient(135deg,var(--vs-primary),var(--vs-secondary));color:#fff;font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.1)}.vs-datatable.vs-theme-brand .vs-pagination-button.vs-active{background:var(--vs-primary);transform:scale(1.05)}.vs-datatable.vs-theme-brand .vs-pagination-button:hover:not(:disabled){border-color:var(--vs-primary);transform:translateY(-1px)}