react-restyle-components 0.4.41 → 0.4.43

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 (20) hide show
  1. package/lib/src/core-components/src/components/AutoComplete/auto-complete-filter-group-by-multiple-select-multiple-fields-display/auto-complete-filter-group-by-multiple-select-multiple-fields-display.component.d.ts +9 -1
  2. package/lib/src/core-components/src/components/AutoComplete/auto-complete-filter-group-by-multiple-select-multiple-fields-display/auto-complete-filter-group-by-multiple-select-multiple-fields-display.component.js +165 -48
  3. package/lib/src/core-components/src/components/Icon/Icon.d.ts +9 -0
  4. package/lib/src/core-components/src/components/Icon/Icon.js +80 -0
  5. package/lib/src/core-components/src/components/Table/Table.js +141 -43
  6. package/lib/src/core-components/src/components/Table/elements.d.ts +3 -0
  7. package/lib/src/core-components/src/components/Table/elements.js +56 -0
  8. package/lib/src/core-components/src/components/Table/types.d.ts +2 -0
  9. package/lib/src/core-components/src/components/ag-grid/AgGrid.js +332 -8
  10. package/lib/src/core-components/src/components/ag-grid/elements.d.ts +136 -0
  11. package/lib/src/core-components/src/components/ag-grid/elements.js +639 -1
  12. package/lib/src/core-components/src/components/ag-grid/hooks.d.ts +80 -0
  13. package/lib/src/core-components/src/components/ag-grid/hooks.js +277 -0
  14. package/lib/src/core-components/src/components/ag-grid/index.d.ts +2 -1
  15. package/lib/src/core-components/src/components/ag-grid/index.js +2 -0
  16. package/lib/src/core-components/src/tc.global.css +28 -2
  17. package/lib/src/core-components/src/tc.module.css +1 -1
  18. package/lib/src/core-components/src/utils/designTokens.d.ts +9 -9
  19. package/lib/src/core-components/src/utils/designTokens.js +13 -10
  20. package/package.json +1 -1
@@ -194,3 +194,83 @@ export declare const aggregations: {
194
194
  last: <T_1>(values: T_1[]) => T_1;
195
195
  };
196
196
  export declare function exportToCsv<T>(data: T[], columns: ColDef<T>[], filename?: string): void;
197
+ export interface SetFilterModel {
198
+ values: Set<string>;
199
+ selectAll: boolean;
200
+ }
201
+ export declare function useSetFilter<T>(data: T[], field: string): {
202
+ uniqueValues: string[];
203
+ filteredValues: string[];
204
+ selectedValues: Set<string>;
205
+ selectAll: boolean;
206
+ isIndeterminate: boolean;
207
+ searchText: string;
208
+ setSearchText: React.Dispatch<React.SetStateAction<string>>;
209
+ toggleValue: (value: string) => void;
210
+ toggleSelectAll: () => void;
211
+ selectNone: () => void;
212
+ isValueSelected: (value: string) => boolean;
213
+ filterFunction: (row: T) => boolean;
214
+ };
215
+ export interface AggregationValue {
216
+ field: string;
217
+ aggFunc: 'sum' | 'avg' | 'min' | 'max' | 'count';
218
+ displayName: string;
219
+ }
220
+ export declare function useAggregationPanel<T>(data: T[]): {
221
+ valueColumns: AggregationValue[];
222
+ addValueColumn: (field: string, aggFunc: AggregationValue['aggFunc'], displayName: string) => void;
223
+ removeValueColumn: (field: string, aggFunc: AggregationValue['aggFunc']) => void;
224
+ clearValueColumns: () => void;
225
+ aggregatedValues: Record<string, number>;
226
+ };
227
+ export declare function useRowGroupingPanel<T extends object>(columns: ColDef<T>[]): {
228
+ rowGroupColumns: string[];
229
+ addRowGroupColumn: (field: string) => void;
230
+ removeRowGroupColumn: (field: string) => void;
231
+ moveRowGroupColumn: (fromIndex: number, toIndex: number) => void;
232
+ clearRowGroupColumns: () => void;
233
+ groupableColumns: ColDef<T>[];
234
+ groupedColumnsInfo: {
235
+ field: string;
236
+ headerName: string;
237
+ }[];
238
+ };
239
+ export interface ColumnMenuState {
240
+ visible: boolean;
241
+ colId: string | null;
242
+ x: number;
243
+ y: number;
244
+ }
245
+ export declare function useColumnMenu(): {
246
+ menuState: ColumnMenuState;
247
+ showColumnMenu: (colId: string, x: number, y: number) => void;
248
+ hideColumnMenu: () => void;
249
+ filterDropdownState: {
250
+ visible: boolean;
251
+ colId: string | null;
252
+ x: number;
253
+ y: number;
254
+ };
255
+ showFilterDropdown: (colId: string, x: number, y: number) => void;
256
+ hideFilterDropdown: () => void;
257
+ };
258
+ export type SidePanelTab = 'columns' | 'filters';
259
+ export declare function useSidePanel(defaultOpen?: boolean, defaultTab?: SidePanelTab): {
260
+ isOpen: boolean;
261
+ activeTab: SidePanelTab;
262
+ toggle: () => void;
263
+ open: () => void;
264
+ close: () => void;
265
+ switchTab: (tab: SidePanelTab) => void;
266
+ setIsOpen: React.Dispatch<React.SetStateAction<boolean>>;
267
+ setActiveTab: React.Dispatch<React.SetStateAction<SidePanelTab>>;
268
+ };
269
+ export declare function usePivotMode(): {
270
+ isPivotMode: boolean;
271
+ setIsPivotMode: React.Dispatch<React.SetStateAction<boolean>>;
272
+ togglePivotMode: () => void;
273
+ pivotColumns: string[];
274
+ addPivotColumn: (field: string) => void;
275
+ removePivotColumn: (field: string) => void;
276
+ };
@@ -941,3 +941,280 @@ export function exportToCsv(data, columns, filename = 'export.csv') {
941
941
  link.click();
942
942
  URL.revokeObjectURL(url);
943
943
  }
944
+ export function useSetFilter(data, field) {
945
+ const [selectedValues, setSelectedValues] = useState(new Set());
946
+ const [selectAll, setSelectAll] = useState(true);
947
+ const [searchText, setSearchText] = useState('');
948
+ // Extract unique values from data
949
+ const uniqueValues = useMemo(() => {
950
+ const values = new Set();
951
+ data.forEach((row) => {
952
+ const value = getNestedValue(row, field);
953
+ if (value != null) {
954
+ values.add(String(value));
955
+ }
956
+ });
957
+ return Array.from(values).sort();
958
+ }, [data, field]);
959
+ // Filter unique values by search
960
+ const filteredValues = useMemo(() => {
961
+ if (!searchText)
962
+ return uniqueValues;
963
+ const search = searchText.toLowerCase();
964
+ return uniqueValues.filter((v) => v.toLowerCase().includes(search));
965
+ }, [uniqueValues, searchText]);
966
+ // Initialize selected values when unique values change
967
+ useEffect(() => {
968
+ if (selectAll) {
969
+ setSelectedValues(new Set(uniqueValues));
970
+ }
971
+ }, [uniqueValues, selectAll]);
972
+ const toggleValue = useCallback((value) => {
973
+ setSelectedValues((prev) => {
974
+ const next = new Set(prev);
975
+ if (next.has(value)) {
976
+ next.delete(value);
977
+ }
978
+ else {
979
+ next.add(value);
980
+ }
981
+ return next;
982
+ });
983
+ setSelectAll(false);
984
+ }, []);
985
+ const toggleSelectAll = useCallback(() => {
986
+ if (selectAll) {
987
+ setSelectedValues(new Set());
988
+ setSelectAll(false);
989
+ }
990
+ else {
991
+ setSelectedValues(new Set(uniqueValues));
992
+ setSelectAll(true);
993
+ }
994
+ }, [selectAll, uniqueValues]);
995
+ const selectNone = useCallback(() => {
996
+ setSelectedValues(new Set());
997
+ setSelectAll(false);
998
+ }, []);
999
+ const isValueSelected = useCallback((value) => selectedValues.has(value), [selectedValues]);
1000
+ const filterFunction = useCallback((row) => {
1001
+ if (selectAll)
1002
+ return true;
1003
+ const value = getNestedValue(row, field);
1004
+ if (value == null)
1005
+ return selectedValues.size === 0;
1006
+ return selectedValues.has(String(value));
1007
+ }, [field, selectedValues, selectAll]);
1008
+ const isIndeterminate = useMemo(() => {
1009
+ return selectedValues.size > 0 && selectedValues.size < uniqueValues.length;
1010
+ }, [selectedValues, uniqueValues]);
1011
+ return {
1012
+ uniqueValues,
1013
+ filteredValues,
1014
+ selectedValues,
1015
+ selectAll,
1016
+ isIndeterminate,
1017
+ searchText,
1018
+ setSearchText,
1019
+ toggleValue,
1020
+ toggleSelectAll,
1021
+ selectNone,
1022
+ isValueSelected,
1023
+ filterFunction,
1024
+ };
1025
+ }
1026
+ export function useAggregationPanel(data) {
1027
+ const [valueColumns, setValueColumns] = useState([]);
1028
+ const addValueColumn = useCallback((field, aggFunc, displayName) => {
1029
+ setValueColumns((prev) => {
1030
+ // Check if already exists
1031
+ if (prev.some((v) => v.field === field && v.aggFunc === aggFunc)) {
1032
+ return prev;
1033
+ }
1034
+ return [...prev, { field, aggFunc, displayName }];
1035
+ });
1036
+ }, []);
1037
+ const removeValueColumn = useCallback((field, aggFunc) => {
1038
+ setValueColumns((prev) => prev.filter((v) => !(v.field === field && v.aggFunc === aggFunc)));
1039
+ }, []);
1040
+ const clearValueColumns = useCallback(() => {
1041
+ setValueColumns([]);
1042
+ }, []);
1043
+ // Calculate aggregated values
1044
+ const aggregatedValues = useMemo(() => {
1045
+ const result = {};
1046
+ valueColumns.forEach(({ field, aggFunc }) => {
1047
+ const values = data
1048
+ .map((row) => getNestedValue(row, field))
1049
+ .filter((v) => v != null && !isNaN(Number(v)))
1050
+ .map(Number);
1051
+ const key = `${aggFunc}(${field})`;
1052
+ switch (aggFunc) {
1053
+ case 'sum':
1054
+ result[key] = aggregations.sum(values);
1055
+ break;
1056
+ case 'avg':
1057
+ result[key] = aggregations.avg(values);
1058
+ break;
1059
+ case 'min':
1060
+ result[key] = aggregations.min(values);
1061
+ break;
1062
+ case 'max':
1063
+ result[key] = aggregations.max(values);
1064
+ break;
1065
+ case 'count':
1066
+ result[key] = aggregations.count(values);
1067
+ break;
1068
+ }
1069
+ });
1070
+ return result;
1071
+ }, [data, valueColumns]);
1072
+ return {
1073
+ valueColumns,
1074
+ addValueColumn,
1075
+ removeValueColumn,
1076
+ clearValueColumns,
1077
+ aggregatedValues,
1078
+ };
1079
+ }
1080
+ // ============================================================================
1081
+ // Row Grouping Panel Hook
1082
+ // ============================================================================
1083
+ export function useRowGroupingPanel(columns) {
1084
+ const [rowGroupColumns, setRowGroupColumns] = useState([]);
1085
+ const addRowGroupColumn = useCallback((field) => {
1086
+ setRowGroupColumns((prev) => {
1087
+ if (prev.includes(field))
1088
+ return prev;
1089
+ return [...prev, field];
1090
+ });
1091
+ }, []);
1092
+ const removeRowGroupColumn = useCallback((field) => {
1093
+ setRowGroupColumns((prev) => prev.filter((f) => f !== field));
1094
+ }, []);
1095
+ const moveRowGroupColumn = useCallback((fromIndex, toIndex) => {
1096
+ setRowGroupColumns((prev) => {
1097
+ const next = [...prev];
1098
+ const [removed] = next.splice(fromIndex, 1);
1099
+ next.splice(toIndex, 0, removed);
1100
+ return next;
1101
+ });
1102
+ }, []);
1103
+ const clearRowGroupColumns = useCallback(() => {
1104
+ setRowGroupColumns([]);
1105
+ }, []);
1106
+ // Get groupable columns (columns that have enableRowGroup: true or have a field)
1107
+ const groupableColumns = useMemo(() => {
1108
+ return columns.filter((col) => col.field && col.enableRowGroup !== false);
1109
+ }, [columns]);
1110
+ // Get column info for grouped columns
1111
+ const groupedColumnsInfo = useMemo(() => {
1112
+ return rowGroupColumns.map((field) => {
1113
+ const col = columns.find((c) => c.field === field);
1114
+ return {
1115
+ field,
1116
+ headerName: col?.headerName || field,
1117
+ };
1118
+ });
1119
+ }, [rowGroupColumns, columns]);
1120
+ return {
1121
+ rowGroupColumns,
1122
+ addRowGroupColumn,
1123
+ removeRowGroupColumn,
1124
+ moveRowGroupColumn,
1125
+ clearRowGroupColumns,
1126
+ groupableColumns,
1127
+ groupedColumnsInfo,
1128
+ };
1129
+ }
1130
+ export function useColumnMenu() {
1131
+ const [menuState, setMenuState] = useState({
1132
+ visible: false,
1133
+ colId: null,
1134
+ x: 0,
1135
+ y: 0,
1136
+ });
1137
+ const [filterDropdownState, setFilterDropdownState] = useState({
1138
+ visible: false,
1139
+ colId: null,
1140
+ x: 0,
1141
+ y: 0,
1142
+ });
1143
+ const showColumnMenu = useCallback((colId, x, y) => {
1144
+ setMenuState({ visible: true, colId, x, y });
1145
+ }, []);
1146
+ const hideColumnMenu = useCallback(() => {
1147
+ setMenuState((prev) => ({ ...prev, visible: false }));
1148
+ }, []);
1149
+ const showFilterDropdown = useCallback((colId, x, y) => {
1150
+ setFilterDropdownState({ visible: true, colId, x, y });
1151
+ }, []);
1152
+ const hideFilterDropdown = useCallback(() => {
1153
+ setFilterDropdownState((prev) => ({ ...prev, visible: false }));
1154
+ }, []);
1155
+ return {
1156
+ menuState,
1157
+ showColumnMenu,
1158
+ hideColumnMenu,
1159
+ filterDropdownState,
1160
+ showFilterDropdown,
1161
+ hideFilterDropdown,
1162
+ };
1163
+ }
1164
+ export function useSidePanel(defaultOpen = true, defaultTab = 'columns') {
1165
+ const [isOpen, setIsOpen] = useState(defaultOpen);
1166
+ const [activeTab, setActiveTab] = useState(defaultTab);
1167
+ const toggle = useCallback(() => {
1168
+ setIsOpen((prev) => !prev);
1169
+ }, []);
1170
+ const open = useCallback(() => {
1171
+ setIsOpen(true);
1172
+ }, []);
1173
+ const close = useCallback(() => {
1174
+ setIsOpen(false);
1175
+ }, []);
1176
+ const switchTab = useCallback((tab) => {
1177
+ setActiveTab(tab);
1178
+ if (!isOpen) {
1179
+ setIsOpen(true);
1180
+ }
1181
+ }, [isOpen]);
1182
+ return {
1183
+ isOpen,
1184
+ activeTab,
1185
+ toggle,
1186
+ open,
1187
+ close,
1188
+ switchTab,
1189
+ setIsOpen,
1190
+ setActiveTab,
1191
+ };
1192
+ }
1193
+ // ============================================================================
1194
+ // Pivot Mode Hook
1195
+ // ============================================================================
1196
+ export function usePivotMode() {
1197
+ const [isPivotMode, setIsPivotMode] = useState(false);
1198
+ const [pivotColumns, setPivotColumns] = useState([]);
1199
+ const togglePivotMode = useCallback(() => {
1200
+ setIsPivotMode((prev) => !prev);
1201
+ }, []);
1202
+ const addPivotColumn = useCallback((field) => {
1203
+ setPivotColumns((prev) => {
1204
+ if (prev.includes(field))
1205
+ return prev;
1206
+ return [...prev, field];
1207
+ });
1208
+ }, []);
1209
+ const removePivotColumn = useCallback((field) => {
1210
+ setPivotColumns((prev) => prev.filter((f) => f !== field));
1211
+ }, []);
1212
+ return {
1213
+ isPivotMode,
1214
+ setIsPivotMode,
1215
+ togglePivotMode,
1216
+ pivotColumns,
1217
+ addPivotColumn,
1218
+ removePivotColumn,
1219
+ };
1220
+ }
@@ -5,5 +5,6 @@
5
5
  */
6
6
  export { AgGrid, default } from './AgGrid';
7
7
  export type { SortDirection as AgSortDirection, FilterType as AgFilterType, ColumnAlign as AgColumnAlign, RowSelectionMode as AgRowSelectionMode, EditTrigger as AgEditTrigger, PinDirection as AgPinDirection, RowModelType as AgRowModelType, PaginationPosition as AgPaginationPosition, ThemeVariant as AgThemeVariant, CellRendererParams as AgCellRendererParams, HeaderComponentParams as AgHeaderComponentParams, CellEditorParams as AgCellEditorParams, FilterParams as AgFilterParams, ValueFormatterParams as AgValueFormatterParams, ValueGetterParams as AgValueGetterParams, ValueSetterParams as AgValueSetterParams, ColDef as AgColDef, ColGroupDef as AgColGroupDef, RowNode as AgRowNode, Column as AgColumn, ColumnGroup as AgColumnGroup, GridApi as AgGridApi, ColumnApi as AgColumnApi, ColumnState as AgColumnState, CsvExportParams as AgCsvExportParams, ExcelExportParams as AgExcelExportParams, BaseEventParams as AgBaseEventParams, CellClickedEvent as AgCellClickedEvent, CellDoubleClickedEvent as AgCellDoubleClickedEvent, CellContextMenuEvent as AgCellContextMenuEvent, CellValueChangedEvent as AgCellValueChangedEvent, RowClickedEvent as AgRowClickedEvent, RowDoubleClickedEvent as AgRowDoubleClickedEvent, RowSelectedEvent as AgRowSelectedEvent, SelectionChangedEvent as AgSelectionChangedEvent, SortChangedEvent as AgSortChangedEvent, FilterChangedEvent as AgFilterChangedEvent, PaginationChangedEvent as AgPaginationChangedEvent, ColumnVisibleEvent as AgColumnVisibleEvent, ColumnResizedEvent as AgColumnResizedEvent, ColumnMovedEvent as AgColumnMovedEvent, ColumnPinnedEvent as AgColumnPinnedEvent, RowDragEvent as AgRowDragEvent, GridReadyEvent as AgGridReadyEvent, FirstDataRenderedEvent as AgFirstDataRenderedEvent, ModelUpdatedEvent as AgModelUpdatedEvent, AgGridProps, AgGridRef, AgGridTheme, IServerSideDatasource as AgServerSideDatasource, IServerSideGetRowsParams as AgServerSideGetRowsParams, IServerSideGetRowsRequest as AgServerSideGetRowsRequest, IDatasource as AgDatasource, DeepPartial as AgDeepPartial, } from './types';
8
- export { useSorting as useAgSorting, useFiltering as useAgFiltering, usePagination as useAgPagination, useRowSelection as useAgRowSelection, useRowExpansion as useAgRowExpansion, useColumnState as useAgColumnState, useCellEditing as useAgCellEditing, useRowGrouping as useAgRowGrouping, useVirtualScrolling as useAgVirtualScrolling, useClipboard as useAgClipboard, useResponsive as useAgResponsive, useContextMenu as useAgContextMenu, useKeyboardNavigation as useAgKeyboardNavigation, getNestedValue as agGetNestedValue, setNestedValue as agSetNestedValue, createRowNode as agCreateRowNode, aggregations as agAggregations, exportToCsv as agExportToCsv, } from './hooks';
8
+ export { useSorting as useAgSorting, useFiltering as useAgFiltering, usePagination as useAgPagination, useRowSelection as useAgRowSelection, useRowExpansion as useAgRowExpansion, useColumnState as useAgColumnState, useCellEditing as useAgCellEditing, useRowGrouping as useAgRowGrouping, useVirtualScrolling as useAgVirtualScrolling, useClipboard as useAgClipboard, useResponsive as useAgResponsive, useContextMenu as useAgContextMenu, useKeyboardNavigation as useAgKeyboardNavigation, useSetFilter as useAgSetFilter, useAggregationPanel as useAgAggregationPanel, useRowGroupingPanel as useAgRowGroupingPanel, useColumnMenu as useAgColumnMenu, useSidePanel as useAgSidePanel, usePivotMode as useAgPivotMode, getNestedValue as agGetNestedValue, setNestedValue as agSetNestedValue, createRowNode as agCreateRowNode, aggregations as agAggregations, exportToCsv as agExportToCsv, } from './hooks';
9
+ export type { SortModel as AgSortModel, SetFilterModel as AgSetFilterModel, AggregationValue as AgAggregationValue, ColumnMenuState as AgColumnMenuState, SidePanelTab as AgSidePanelTab, } from './hooks';
9
10
  export { getTheme as agGetTheme, themes as agThemes } from './elements';
@@ -7,6 +7,8 @@
7
7
  export { AgGrid, default } from './AgGrid';
8
8
  // Hooks - Prefixed with "useAg" to avoid conflicts
9
9
  export { useSorting as useAgSorting, useFiltering as useAgFiltering, usePagination as useAgPagination, useRowSelection as useAgRowSelection, useRowExpansion as useAgRowExpansion, useColumnState as useAgColumnState, useCellEditing as useAgCellEditing, useRowGrouping as useAgRowGrouping, useVirtualScrolling as useAgVirtualScrolling, useClipboard as useAgClipboard, useResponsive as useAgResponsive, useContextMenu as useAgContextMenu, useKeyboardNavigation as useAgKeyboardNavigation,
10
+ // New hooks for Side Panel, Column Menu, Set Filter, etc.
11
+ useSetFilter as useAgSetFilter, useAggregationPanel as useAgAggregationPanel, useRowGroupingPanel as useAgRowGroupingPanel, useColumnMenu as useAgColumnMenu, useSidePanel as useAgSidePanel, usePivotMode as useAgPivotMode,
10
12
  // Utilities - Prefixed with "ag"
11
13
  getNestedValue as agGetNestedValue, setNestedValue as agSetNestedValue, createRowNode as agCreateRowNode, aggregations as agAggregations, exportToCsv as agExportToCsv, } from './hooks';
12
14
  // Theme utilities - Prefixed with "ag"
@@ -1,7 +1,7 @@
1
1
  :root{--border-radius-100:0.5rem;--border-radius-200:1rem;--border-radius-300:1.5rem;--border-radius-400:2rem;--border-radius-none:0rem;--border-radius-round:10000rem;--border-radius-025:0.125rem;--border-radius-050:0.25rem;--breakpoints-xs:20rem;--breakpoints-sm:23.4375rem;--breakpoints-md:48rem;--breakpoints-lg:64rem;--breakpoints-xl:80rem;--breakpoints-xxl:90rem;--opacity-10:10%;--opacity-12:12%;--opacity-20:20%;--opacity-30:30%;--opacity-40:40%;--opacity-50:50%;--opacity-60:60%;--opacity-70:70%;--opacity-75:75%;--opacity-80:80%;--opacity-90:90%;--opacity-100:100%;--opacity-none:0%;--opacity-04:4%;--opacity-08:8%;--spacing-100:0.5rem;--spacing-150:0.75rem;--spacing-200:1rem;--spacing-300:1.5rem;--spacing-400:2rem;--spacing-500:2.5rem;--spacing-600:3rem;--spacing-800:4rem;--spacing-1000:5rem;--spacing-1200:6rem;--spacing-000:0rem;--spacing-025:0.125rem;--spacing-050:0.25rem;--spacing-075:0.375rem;--state-layer-none:0%;--state-layer-hover:8%;--state-layer-press:12%;--state-layer-disabled:12%;--state-layer-on-disabled:30%;--state-layer-read-only:8%;--state-layer-on-read-only:70%;--state-layer-press-card:4%;--stroke-card:0.0625rem;--stroke-selected-card-hover:0.125rem;--stroke-divider:0.0625rem}.theme-dark{--brand-white:#fff;--brand-black:#0c0e11;--brand-theme-purple:#8223d2;--brand-theme-yellow:#d2fa46;--brand-theme-blue:#4a68f9;--brand-theme-green:#6efac3;--sub-surface:#040308;--surface:#130f17;--surface-variant:#1e1a22;--on-surface:#f8eef9;--on-surface-soft:#cdc4ce;--outline:#7c757e;--outline-soft:#4a454e;--scrim-overlay:#0c0e1180;--elevated-level-01:#221e26;--elevated-level-02:#29242c;--elevated-level-03:#2d2830;--elevated-dynamic-card:#edddf60a;--primary:#ddb7ff;--on-primary:#1c0334;--primary-soft:#410071;--on-primary-soft:#ddb7ff;--secondary:#4e4356;--on-secondary:#edddf6;--neutral:#f8eef9;--on-neutral:#130f17;--neutral-soft:#4a454e;--on-neutral-soft:#e9dfeb;--inverse-surface:#e9dfeb;--inverse-on-surface:#130f17;--inverse-primary:#8223d2;--status-success-soft:#0b4521;--status-on-success-soft:#c5ffc8;--status-success:#47e26f;--status-on-success:#0a2415;--status-error-soft:#7d000f;--status-on-error-soft:#ffeae9;--status-error:#ffb3ad;--status-on-error:#470306;--status-warning-soft:#e7c500;--status-on-warning-soft:#3a3000;--status-warning:#ffe264;--status-on-warning:#221b00;--accent-red:#ffb2b9;--accent-on-red:#40000f;--accent-red-soft:#7c0026;--accent-on-red-soft:#ffeced;--accent-orange:#ffb690;--accent-on-orange:#341100;--accent-orange-soft:#632700;--accent-on-orange-soft:#ffede6;--accent-tennis:#dcff66;--accent-on-tennis:#171e00;--accent-tennis-soft:#334000;--accent-on-tennis-soft:#dcff66;--accent-green:#65f2bc;--accent-on-green:#002115;--accent-green-soft:#004530;--accent-on-green-soft:#bdffdf;--accent-teal:#2fd9f4;--accent-on-teal:#001f25;--accent-teal-soft:#00424c;--accent-on-teal-soft:#d4f7ff;--accent-blue:#bac3ff;--accent-on-blue:#001159;--accent-blue-soft:#061e77;--accent-on-blue-soft:#f0efff;--accent-purple:#ddb7ff;--accent-on-purple:#1c0334;--accent-purple-soft:#410071;--accent-on-purple-soft:#ddb7ff;--fills-surface-contrast:#f8eef90a;--fills-surface-contrast-inverse:#130f1714;--fills-drop-shadow:#160d1e26;--fills-actions-pressed-shadow:#ffffff14;--fills-cards-pressed-shadow:#0c0e110a;--fills-sticker-opacity:100%;--gradient-dark-stop-1:#ca93ff;--gradient-dark-stop-2:#f2aeff;--gradient-light-stop-1:#370f5b;--gradient-light-stop-2:#001a42}.theme-light,:root{--brand-white:#fff;--brand-black:#0c0e11;--brand-theme-purple:#8223d2;--brand-theme-yellow:#d2fa46;--brand-theme-blue:#4a68f9;--brand-theme-green:#6efac3;--sub-surface:#f1f0f4;--surface:#fff;--surface-variant:#faf9fc;--on-surface:#1a1c1e;--on-surface-soft:#5d5e61;--outline:#c6c6ca;--outline-soft:#eeedf1;--scrim-overlay:#0c0e1180;--elevated-level-01:#fff;--elevated-level-02:#fff;--elevated-level-03:#fff;--elevated-dynamic-card:#fff;--primary:#8223d2;--on-primary:#fff;--primary-soft:#faecff;--on-primary-soft:#590099;--secondary:#edddf6;--on-secondary:#211829;--neutral:#1a1c1e;--on-neutral:#fff;--neutral-soft:#f1f0f4;--on-neutral-soft:#2f3033;--inverse-surface:#252629;--inverse-on-surface:#fff;--inverse-primary:#ca93ff;--status-success-soft:#c5ffc8;--status-on-success-soft:#062011;--status-success:#136d31;--status-on-success:#c5ffc8;--status-error-soft:#ffdad7;--status-on-error-soft:#410004;--status-error:#b91a24;--status-on-error:#ffeae9;--status-warning-soft:#fff0c0;--status-on-warning-soft:#3a3000;--status-warning:#e7c500;--status-on-warning:#524609;--accent-red:#b91641;--accent-on-red:#fff8f7;--accent-red-soft:#ffe1e2;--accent-on-red-soft:#67001e;--accent-orange:#ec6a06;--accent-on-orange:#fff8f6;--accent-orange-soft:#ffe2d5;--accent-on-orange-soft:#552100;--accent-tennis:#d2fa46;--accent-on-tennis:#171e00;--accent-tennis-soft:#e5ff8d;--accent-on-tennis-soft:#293500;--accent-green:#6efac3;--accent-on-green:#002115;--accent-green-soft:#ccffe5;--accent-on-green-soft:#003826;--accent-teal:#2fd9f4;--accent-on-teal:#001f25;--accent-teal-soft:#ddf9ff;--accent-on-teal-soft:#00363e;--accent-blue:#4a68f9;--accent-on-blue:#fbf8ff;--accent-blue-soft:#f4f2ff;--accent-on-blue-soft:#00208d;--accent-purple:#8223d2;--accent-on-purple:#fff;--accent-purple-soft:#faecff;--accent-on-purple-soft:#590099;--fills-surface-contrast:#0c0e110a;--fills-surface-contrast-inverse:#ffffff14;--fills-drop-shadow:#0c0e110a;--fills-actions-pressed-shadow:#0c0e1114;--fills-cards-pressed-shadow:#0c0e110a;--fills-sticker-opacity:0%;--gradient-dark-stop-1:#6900b3;--gradient-dark-stop-2:#991bbd;--gradient-light-stop-1:#faecff;--gradient-light-stop-2:#effcff}.partner-dark{--brand-white:#fff;--brand-black:#0c0e11;--brand-theme-purple:#8223d2;--brand-theme-yellow:#d2fa46;--brand-theme-blue:#4a68f9;--brand-theme-green:#6efac3;--sub-surface:#030405;--surface:#0f1114;--surface-variant:#1a1c1e;--on-surface:#f1f0f4;--on-surface-soft:#c6c6ca;--outline:#76777a;--outline-soft:#46474a;--scrim-overlay:#0c0e1180;--elevated-level-01:#1e2022;--elevated-level-02:#252629;--elevated-level-03:#292a2d;--elevated-dynamic-card:#e3e2e60a;--primary:#fff;--on-primary:#0f1114;--primary-soft:#292a2d;--on-primary-soft:#fff;--secondary:#46474a;--on-secondary:#e3e2e6;--neutral:#f1f0f4;--on-neutral:#0f1114;--neutral-soft:#46474a;--on-neutral-soft:#e3e2e6;--inverse-surface:#e3e2e6;--inverse-on-surface:#0f1114;--inverse-primary:#46474a;--status-success-soft:#0b4521;--status-on-success-soft:#c5ffc8;--status-success:#47e26f;--status-on-success:#0a2415;--status-error-soft:#7d000f;--status-on-error-soft:#ffeae9;--status-error:#ffb3ad;--status-on-error:#470306;--status-warning-soft:#e7c500;--status-on-warning-soft:#3a3000;--status-warning:#ffe264;--status-on-warning:#221b00;--accent-red:#ffb2b9;--accent-on-red:#40000f;--accent-red-soft:#7c0026;--accent-on-red-soft:#ffeced;--accent-orange:#ffb690;--accent-on-orange:#341100;--accent-orange-soft:#632700;--accent-on-orange-soft:#ffede6;--accent-tennis:#d2fa46;--accent-on-tennis:#171e00;--accent-tennis-soft:#334000;--accent-on-tennis-soft:#dcff66;--accent-green:#65f2bc;--accent-on-green:#002115;--accent-green-soft:#004530;--accent-on-green-soft:#bdffdf;--accent-teal:#2fd9f4;--accent-on-teal:#001f25;--accent-teal-soft:#00424c;--accent-on-teal-soft:#d4f7ff;--accent-blue:#bac3ff;--accent-on-blue:#001159;--accent-blue-soft:#061e77;--accent-on-blue-soft:#f0efff;--accent-purple:#ddb7ff;--accent-on-purple:#1c0334;--accent-purple-soft:#410071;--accent-on-purple-soft:#ddb7ff;--fills-surface-contrast:#ffffff0a;--fills-surface-contrast-inverse:#0c0e1114;--fills-drop-shadow:#0c0e1126;--fills-actions-pressed-shadow:#ffffff14;--fills-cards-pressed-shadow:#0c0e110a;--fills-sticker-opacity:100%;--gradient-dark-stop-1:#ca93ff;--gradient-dark-stop-2:#f2aeff;--gradient-light-stop-1:#370f5b;--gradient-light-stop-2:#001a42}.partner-light{--brand-white:#fff;--brand-black:#0c0e11;--brand-theme-purple:#8223d2;--brand-theme-yellow:#d2fa46;--brand-theme-blue:#4a68f9;--brand-theme-green:#6efac3;--sub-surface:#f1f0f4;--surface:#fff;--surface-variant:#faf9fc;--on-surface:#1a1c1e;--on-surface-soft:#5d5e61;--outline:#c6c6ca;--outline-soft:#eeedf1;--scrim-overlay:#0c0e1180;--elevated-level-01:#fff;--elevated-level-02:#fff;--elevated-level-03:#fff;--elevated-dynamic-card:#fff;--primary:#0c0e11;--on-primary:#fff;--primary-soft:#f1f0f4;--on-primary-soft:#3a3b3e;--secondary:#e3e2e6;--on-secondary:#1a1c1e;--neutral:#1a1c1e;--on-neutral:#fff;--neutral-soft:#f1f0f4;--on-neutral-soft:#2f3033;--inverse-surface:#252629;--inverse-on-surface:#fff;--inverse-primary:#e3e2e6;--status-success-soft:#c5ffc8;--status-on-success-soft:#062011;--status-success:#136d31;--status-on-success:#c5ffc8;--status-error-soft:#ffdad7;--status-on-error-soft:#410004;--status-error:#b91a24;--status-on-error:#ffeae9;--status-warning-soft:#fff0c0;--status-on-warning-soft:#3a3000;--status-warning:#e7c500;--status-on-warning:#524609;--accent-red:#b91641;--accent-on-red:#fff8f7;--accent-red-soft:#fff0f1;--accent-on-red-soft:#67001e;--accent-orange:#ec6a06;--accent-on-orange:#fff8f6;--accent-orange-soft:#fff1eb;--accent-on-orange-soft:#552100;--accent-tennis:#d2fa46;--accent-on-tennis:#171e00;--accent-tennis-soft:#e5ff8d;--accent-on-tennis-soft:#293500;--accent-green:#6efac3;--accent-on-green:#002115;--accent-green-soft:#ccffe5;--accent-on-green-soft:#003826;--accent-teal:#2fd9f4;--accent-on-teal:#001f25;--accent-teal-soft:#ddf9ff;--accent-on-teal-soft:#00363e;--accent-blue:#4a68f9;--accent-on-blue:#fbf8ff;--accent-blue-soft:#f4f2ff;--accent-on-blue-soft:#00208d;--accent-purple:#8223d2;--accent-on-purple:#fff;--accent-purple-soft:#faecff;--accent-on-purple-soft:#590099;--fills-surface-contrast:#0c0e110a;--fills-surface-contrast-inverse:#ffffff14;--fills-drop-shadow:#0c0e110a;--fills-actions-pressed-shadow:#0c0e1114;--fills-cards-pressed-shadow:#0c0e110a;--fills-sticker-opacity:0%;--gradient-dark-stop-1:#6900b3;--gradient-dark-stop-2:#991bbd;--gradient-light-stop-1:#faecff;--gradient-light-stop-2:#f0efff}.partner-dark,.partner-light,.theme-dark,.theme-light,:root{--action-outline-fill:var(--fills-surface-contrast-inverse);--action-border-radius:var(--border-radius-round);--tag-on-theme-alt:var(--on-secondary);--tag-theme-alt:var(--secondary);--action-inactive-toggle-stroke:var(--outline-soft);--action-inactive-toggle-surface:var(--surface-variant);--action-on-surface:var(--on-surface);--action-outline-action:var(--on-surface);--action-on-tonal-action:var(--on-secondary);--action-tonal-action:var(--secondary);--tag-on-theme:var(--on-primary);--action-on-filled-action:var(--on-primary);--tag-theme:var(--primary);--action-subtle-engaged:var(--primary);--action-filled-action:var(--primary)}/*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/
2
2
  /*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/
3
3
  /*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/
4
- /*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/.top-1\/2{top:50%}.h-0\.5{height:.125rem}.-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%}.translate-x-1\/2{--tw-translate-x:50%}.transform,.translate-x-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))}
4
+ /*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/.h-0\.5{height:.125rem}.translate-x-1\/2{--tw-translate-x:50%}.transform,.translate-x-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))}
5
5
  /*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/.-translate-x-1\/2,@keyframes spin{to{transform:rotate(1turn)}}
6
6
  /*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/.-translate-x-1\/2,@keyframes spin{to{transform:rotate(1turn)}}
7
7
  /*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/.-translate-x-1\/2,@keyframes spin{to{transform:rotate(1turn)}}.blur,.pb-2,.shadow,.shadow-lg,.truncate,body{font-family:Arima Regular;font-size:14px}/*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/.-translate-x-1\/2,@keyframes spin{to{transform:rotate(1turn)}}
@@ -231,4 +231,30 @@
231
231
  /*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/.-translate-x-1\/2,@keyframes pulse{50%{opacity:.5}}
232
232
  /*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/.-translate-x-1\/2,@keyframes pulse{50%{opacity:.5}}
233
233
  /*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/.-translate-x-1\/2,@keyframes pulse{50%{opacity:.5}}
234
- /*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,@keyframes pulse{50%{opacity:.5}}.backdrop-blur-sm,.blur,.filter,.ring,.ring-2,.shadow,.shadow-inner,.shadow-md,body{font-family:Arima Regular;font-size:14px}*,.dark\:bg-black:is(.dark *),.dark\:border-gray-600:is(.dark *),: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.19 | MIT License | https://tailwindcss.com*/.-translate-x-1\/2,@keyframes pulse{50%{opacity:.5}}.\!filter,.backdrop-blur-sm,.blur,.ring,.ring-2,.shadow,.shadow-inner,body{font-family:Arima Regular;font-size:14px}.dark\:bg-black:is(.dark *),.dark\:border-gray-600:is(.dark *),*,: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: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#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.19 | MIT License | https://tailwindcss.com*/fieldset,legend{padding:0}.container{width:100%}@media (min-width:0px){.container{max-width:0}}@media (min-width:20rem){.container{max-width:20rem}}@media (min-width:23.4375rem){.container{max-width:23.4375rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:90rem){.container{max-width:90rem}}@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}}.form-input,.form-input::-webkit-datetime-edit,.form-input::-webkit-datetime-edit-day-field,.form-input::-webkit-datetime-edit-hour-field,.form-input::-webkit-datetime-edit-meridiem-field,.form-input::-webkit-datetime-edit-millisecond-field,.form-input::-webkit-datetime-edit-minute-field,.form-input::-webkit-datetime-edit-month-field,.form-input::-webkit-datetime-edit-second-field,.form-input::placeholder,.form-input:focus,.form-multiselect,.form-multiselect:focus,.form-select,.form-select:focus,table{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}table:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}table tr:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}select:is(.dark *){--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.\!visible{visibility:visible!important}.-translate-x-1\/2,.-translate-x-1\/2,@keyframes pulse{50%{opacity:.5}}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.25rem*var(--tw-space-x-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-bottom-width:calc(1px*var(--tw-divide-y-reverse));border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)))}.divide-gray-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(243 244 246/var(--tw-divide-opacity,1))}.divide-teal-50>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(240 253 250/var(--tw-divide-opacity,1))}.bg-purple-900\/50{background-color:#581c8780}.p-0\.5{padding:.125rem}.\!filter,.blur,.ring,.ring-2,.shadow,.shadow-inner,.backdrop-blur-sm,body{font-family:Arima Regular;font-size:14px}.hover\:bg-white\/20:hover{background-color:#fff3}.dark\:border-gray-600:is(.dark *),.focus\:ring-0:focus,.dark\:bg-black:is(.dark *){--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.dark\:bg-boxdark:is(.dark *){--tw-bg-opacity:1;background-color:rgb(36 48 63/var(--tw-bg-opacity,1))}.dark\:bg-gray-700:is(.dark *){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.dark\:bg-gray-800:is(.dark *){--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.dark\:text-black:is(.dark *){--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.dark\:text-gray-100:is(.dark *){--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity,1))}.dark\:text-gray-200:is(.dark *){--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.dark\:text-gray-300:is(.dark *){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.dark\:text-gray-400:is(.dark *){--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.dark\:text-gray-500:is(.dark *){--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.dark\:text-red-400:is(.dark *){--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.dark\:text-white:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.dark\:placeholder-gray-400:is(.dark *)::placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity,1))}.dark\:ring-offset-gray-800:is(.dark *){--tw-ring-offset-color:#1f2937}.dark\:hover\:bg-blue-900:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(30 58 138/var(--tw-bg-opacity,1))}.dark\:hover\:bg-gray-600:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.dark\:hover\:bg-gray-700:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.dark\:focus\:ring-blue-600:focus:is(.dark *){--tw-ring-opacity:1;--tw-ring-color:rgb(37 99 235/var(--tw-ring-opacity,1))}*,: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: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#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.19 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}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-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height: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::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}@font-face{font-family:ArimaRegular;src:url(library/assets/fonts/arima/arima-regular.ttf)}.container{width:100%}@media (min-width:0px){.container{max-width:0}}@media (min-width:20rem){.container{max-width:20rem}}@media (min-width:23.4375rem){.container{max-width:23.4375rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:90rem){.container{max-width:90rem}}@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}}.form-input,.form-multiselect,.form-select,.form-input:focus,.form-multiselect:focus,.form-select:focus,.form-input::placeholder,.form-input::-webkit-datetime-edit,.form-input::-webkit-datetime-edit-day-field,.form-input::-webkit-datetime-edit-hour-field,.form-input::-webkit-datetime-edit-meridiem-field,.form-input::-webkit-datetime-edit-millisecond-field,.form-input::-webkit-datetime-edit-minute-field,.form-input::-webkit-datetime-edit-month-field,.form-input::-webkit-datetime-edit-second-field,table{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}table:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}table tr:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}select:is(.dark *){--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.\!visible{visibility:visible!important}.flex-grow,.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,@keyframes pulse{50%{opacity:.5}}@keyframes spin{to{transform:rotate(1turn)}}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.25rem*var(--tw-space-x-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-bottom-width:calc(1px*var(--tw-divide-y-reverse));border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)))}.divide-gray-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(243 244 246/var(--tw-divide-opacity,1))}.divide-teal-50>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(240 253 250/var(--tw-divide-opacity,1))}.bg-purple-900\/50{background-color:#581c8780}.p-0\.5{padding:.125rem}.shadow,.shadow-inner,.shadow-md,.ring,.ring-2,.blur,.\!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)!important}.backdrop-blur-sm,body{font-family:Arima Regular;font-size:14px}.menu ul{list-style:none;margin:0;padding:0}.menu li{border-bottom:1px solid #ddd;padding:10px}.menu li:last-child{border-bottom:none}.hover\:bg-white\/20:hover{background-color:#fff3}.focus\:ring-0:focus,.focus\:ring-1:focus,.dark\:border-gray-600:is(.dark *){--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity,1))}.dark\:bg-black:is(.dark *){--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.dark\:bg-boxdark:is(.dark *){--tw-bg-opacity:1;background-color:rgb(36 48 63/var(--tw-bg-opacity,1))}.dark\:bg-gray-700:is(.dark *){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.dark\:bg-gray-800:is(.dark *){--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.dark\:text-black:is(.dark *){--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.dark\:text-gray-100:is(.dark *){--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity,1))}.dark\:text-gray-200:is(.dark *){--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.dark\:text-gray-300:is(.dark *){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.dark\:text-gray-400:is(.dark *){--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.dark\:text-gray-500:is(.dark *){--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.dark\:text-red-400:is(.dark *){--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.dark\:text-white:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.dark\:placeholder-gray-400:is(.dark *)::placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity,1))}.dark\:ring-offset-gray-800:is(.dark *){--tw-ring-offset-color:#1f2937}.dark\:hover\:bg-blue-900:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(30 58 138/var(--tw-bg-opacity,1))}.dark\:hover\:bg-gray-600:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.dark\:hover\:bg-gray-700:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.dark\:focus\:ring-blue-600:focus:is(.dark *){--tw-ring-opacity:1;--tw-ring-color:rgb(37 99 235/var(--tw-ring-opacity,1))}@media (min-width:0px) and (max-width:767px){}
234
+ /*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,@keyframes pulse{50%{opacity:.5}}.backdrop-blur-sm,.blur,.filter,.ring,.ring-2,.shadow,.shadow-inner,.shadow-md,body{font-family:Arima Regular;font-size:14px}/*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/.-translate-x-1\/2,@keyframes pulse{50%{opacity:.5}}
235
+ /*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/.-translate-x-1\/2,@keyframes pulse{50%{opacity:.5}}
236
+ /*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/.-translate-x-1\/2,@keyframes pulse{50%{opacity:.5}}
237
+ /*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/.-translate-x-1\/2,@keyframes pulse{50%{opacity:.5}}
238
+ /*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/.-translate-x-1\/2,@keyframes pulse{50%{opacity:.5}}
239
+ /*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/.-translate-x-1\/2,@keyframes pulse{50%{opacity:.5}}
240
+ /*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/.-translate-x-1\/2,@keyframes pulse{50%{opacity:.5}}
241
+ /*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/.-translate-x-1\/2,@keyframes pulse{50%{opacity:.5}}
242
+ /*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/.-translate-x-1\/2,@keyframes pulse{50%{opacity:.5}}
243
+ /*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/.-translate-x-1\/2,@keyframes pulse{50%{opacity:.5}}
244
+ /*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/.-translate-x-1\/2,@keyframes pulse{50%{opacity:.5}}
245
+ /*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/.-translate-x-1\/2,@keyframes pulse{50%{opacity:.5}}
246
+ /*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/.-translate-x-1\/2,@keyframes pulse{50%{opacity:.5}}
247
+ /*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/.-translate-x-1\/2,@keyframes pulse{50%{opacity:.5}}
248
+ /*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/
249
+ /*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/
250
+ /*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/
251
+ /*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/
252
+ /*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/
253
+ /*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/
254
+ /*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/
255
+ /*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/
256
+ /*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/
257
+ /*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/
258
+ /*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/
259
+ /*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/*,.dark\:bg-black:is(.dark *),.dark\:border-gray-600:is(.dark *),: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: }
260
+ /*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/.\!filter,.backdrop-blur-sm,.blur,.ring,.ring-2,.shadow,.shadow-inner,body{font-family:Arima Regular;font-size:14px}.dark\:bg-black:is(.dark *),.dark\:border-gray-600:is(.dark *),*,: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: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#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.19 | MIT License | https://tailwindcss.com*/fieldset,legend{padding:0}.container{width:100%}@media (min-width:0px){.container{max-width:0}}@media (min-width:20rem){.container{max-width:20rem}}@media (min-width:23.4375rem){.container{max-width:23.4375rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:90rem){.container{max-width:90rem}}@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}}.form-input,.form-input::-webkit-datetime-edit,.form-input::-webkit-datetime-edit-day-field,.form-input::-webkit-datetime-edit-hour-field,.form-input::-webkit-datetime-edit-meridiem-field,.form-input::-webkit-datetime-edit-millisecond-field,.form-input::-webkit-datetime-edit-minute-field,.form-input::-webkit-datetime-edit-month-field,.form-input::-webkit-datetime-edit-second-field,.form-input::placeholder,.form-input:focus,.form-multiselect,.form-multiselect:focus,.form-select,.form-select:focus,table{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}table:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}table tr:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}select:is(.dark *){--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.\!visible{visibility:visible!important}.top-1\/2{top:50%}.-translate-x-1\/2,.-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%}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.25rem*var(--tw-space-x-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-bottom-width:calc(1px*var(--tw-divide-y-reverse));border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)))}.divide-gray-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(243 244 246/var(--tw-divide-opacity,1))}.divide-teal-50>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(240 253 250/var(--tw-divide-opacity,1))}.bg-purple-900\/50{background-color:#581c8780}.p-0\.5{padding:.125rem}.py-1\.5{padding-bottom:.375rem;padding-top:.375rem}.\!filter,.blur,.ring,.ring-2,.shadow,.shadow-inner,.backdrop-blur-sm,body{font-family:Arima Regular;font-size:14px}.hover\:bg-white\/20:hover{background-color:#fff3}.dark\:border-gray-600:is(.dark *),.focus\:ring-0:focus,.dark\:bg-black:is(.dark *){--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.dark\:bg-boxdark:is(.dark *){--tw-bg-opacity:1;background-color:rgb(36 48 63/var(--tw-bg-opacity,1))}.dark\:bg-gray-700:is(.dark *){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.dark\:bg-gray-800:is(.dark *){--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.dark\:text-black:is(.dark *){--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.dark\:text-gray-100:is(.dark *){--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity,1))}.dark\:text-gray-200:is(.dark *){--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.dark\:text-gray-300:is(.dark *){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.dark\:text-gray-400:is(.dark *){--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.dark\:text-gray-500:is(.dark *){--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.dark\:text-red-400:is(.dark *){--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.dark\:text-white:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.dark\:placeholder-gray-400:is(.dark *)::placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity,1))}.dark\:ring-offset-gray-800:is(.dark *){--tw-ring-offset-color:#1f2937}.dark\:hover\:bg-blue-900:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(30 58 138/var(--tw-bg-opacity,1))}.dark\:hover\:bg-gray-600:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.dark\:hover\:bg-gray-700:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.dark\:focus\:ring-blue-600:focus:is(.dark *){--tw-ring-opacity:1;--tw-ring-color:rgb(37 99 235/var(--tw-ring-opacity,1))}*,: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: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#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.19 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}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-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height: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::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}@font-face{font-family:ArimaRegular;src:url(library/assets/fonts/arima/arima-regular.ttf)}.container{width:100%}@media (min-width:0px){.container{max-width:0}}@media (min-width:20rem){.container{max-width:20rem}}@media (min-width:23.4375rem){.container{max-width:23.4375rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:90rem){.container{max-width:90rem}}@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}}.form-input,.form-multiselect,.form-select,.form-input:focus,.form-multiselect:focus,.form-select:focus,.form-input::placeholder,.form-input::-webkit-datetime-edit,.form-input::-webkit-datetime-edit-day-field,.form-input::-webkit-datetime-edit-hour-field,.form-input::-webkit-datetime-edit-meridiem-field,.form-input::-webkit-datetime-edit-millisecond-field,.form-input::-webkit-datetime-edit-minute-field,.form-input::-webkit-datetime-edit-month-field,.form-input::-webkit-datetime-edit-second-field,table{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}table:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}table tr:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}select:is(.dark *){--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.\!visible{visibility:visible!important}.top-1\/2{top:50%}.flex-grow,.-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%}@keyframes pulse{50%{opacity:.5}}@keyframes spin{to{transform:rotate(1turn)}}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.25rem*var(--tw-space-x-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-bottom-width:calc(1px*var(--tw-divide-y-reverse));border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)))}.divide-gray-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(243 244 246/var(--tw-divide-opacity,1))}.divide-teal-50>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(240 253 250/var(--tw-divide-opacity,1))}.bg-purple-900\/50{background-color:#581c8780}.p-0\.5{padding:.125rem}.py-1\.5{padding-bottom:.375rem;padding-top:.375rem}.shadow,.shadow-inner,.shadow-md,.ring,.ring-2,.blur,.\!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)!important}.backdrop-blur-sm,body{font-family:Arima Regular;font-size:14px}.menu ul{list-style:none;margin:0;padding:0}.menu li{border-bottom:1px solid #ddd;padding:10px}.menu li:last-child{border-bottom:none}.hover\:bg-white\/20:hover{background-color:#fff3}.focus\:ring-0:focus,.focus\:ring-1:focus,.dark\:border-gray-600:is(.dark *){--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity,1))}.dark\:bg-black:is(.dark *){--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.dark\:bg-boxdark:is(.dark *){--tw-bg-opacity:1;background-color:rgb(36 48 63/var(--tw-bg-opacity,1))}.dark\:bg-gray-700:is(.dark *){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.dark\:bg-gray-800:is(.dark *){--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.dark\:text-black:is(.dark *){--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.dark\:text-gray-100:is(.dark *){--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity,1))}.dark\:text-gray-200:is(.dark *){--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.dark\:text-gray-300:is(.dark *){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.dark\:text-gray-400:is(.dark *){--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.dark\:text-gray-500:is(.dark *){--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.dark\:text-red-400:is(.dark *){--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.dark\:text-white:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.dark\:placeholder-gray-400:is(.dark *)::placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity,1))}.dark\:ring-offset-gray-800:is(.dark *){--tw-ring-offset-color:#1f2937}.dark\:hover\:bg-blue-900:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(30 58 138/var(--tw-bg-opacity,1))}.dark\:hover\:bg-gray-600:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.dark\:hover\:bg-gray-700:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.dark\:focus\:ring-blue-600:focus:is(.dark *){--tw-ring-opacity:1;--tw-ring-color:rgb(37 99 235/var(--tw-ring-opacity,1))}@media (min-width:0px) and (max-width:767px){}