@ratio-ui/core 0.2.0 → 0.4.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.
- package/dist/catalogue.json +2690 -749
- package/dist/components/accordion/Accordion.d.ts +19 -0
- package/dist/components/accordion/Accordion.js +52 -0
- package/dist/components/accordion/index.d.ts +2 -0
- package/dist/components/accordion/index.js +1 -0
- package/dist/components/alert/Alert.d.ts +18 -0
- package/dist/components/alert/Alert.js +67 -0
- package/dist/components/alert/index.d.ts +2 -0
- package/dist/components/alert/index.js +1 -0
- package/dist/components/alert-dialog/AlertDialog.d.ts +48 -0
- package/dist/components/alert-dialog/AlertDialog.js +76 -0
- package/dist/components/alert-dialog/index.d.ts +2 -0
- package/dist/components/alert-dialog/index.js +1 -0
- package/dist/components/app-shell/AppShell.js +1 -1
- package/dist/components/breadcrumb/Breadcrumb.d.ts +19 -0
- package/dist/components/breadcrumb/Breadcrumb.js +50 -0
- package/dist/components/breadcrumb/index.d.ts +2 -0
- package/dist/components/breadcrumb/index.js +1 -0
- package/dist/components/calendar/Calendar.d.ts +20 -0
- package/dist/components/calendar/Calendar.js +119 -0
- package/dist/components/calendar/index.d.ts +2 -0
- package/dist/components/calendar/index.js +1 -0
- package/dist/components/chart/Chart.d.ts +137 -0
- package/dist/components/chart/Chart.js +238 -0
- package/dist/components/chart/index.d.ts +2 -0
- package/dist/components/chart/index.js +1 -0
- package/dist/components/checkbox-list/CheckboxList.d.ts +36 -0
- package/dist/components/checkbox-list/CheckboxList.js +93 -0
- package/dist/components/checkbox-list/index.d.ts +2 -0
- package/dist/components/checkbox-list/index.js +1 -0
- package/dist/components/collapsible/Collapsible.d.ts +24 -0
- package/dist/components/collapsible/Collapsible.js +58 -0
- package/dist/components/collapsible/index.d.ts +2 -0
- package/dist/components/collapsible/index.js +1 -0
- package/dist/components/combobox/Combobox.d.ts +52 -0
- package/dist/components/combobox/Combobox.js +92 -0
- package/dist/components/combobox/index.d.ts +2 -0
- package/dist/components/combobox/index.js +1 -0
- package/dist/components/data-table/DataTable.js +2 -2
- package/dist/components/date-picker/DatePicker.d.ts +34 -0
- package/dist/components/date-picker/DatePicker.js +108 -0
- package/dist/components/date-picker/index.d.ts +2 -0
- package/dist/components/date-picker/index.js +1 -0
- package/dist/components/date-range-picker/DateRangePicker.d.ts +40 -0
- package/dist/components/date-range-picker/DateRangePicker.js +146 -0
- package/dist/components/date-range-picker/index.d.ts +2 -0
- package/dist/components/date-range-picker/index.js +1 -0
- package/dist/components/drawer/Drawer.d.ts +52 -0
- package/dist/components/drawer/Drawer.js +120 -0
- package/dist/components/drawer/index.d.ts +2 -0
- package/dist/components/drawer/index.js +1 -0
- package/dist/components/field/Field.d.ts +38 -0
- package/dist/components/field/Field.js +73 -0
- package/dist/components/field/Label.d.ts +8 -0
- package/dist/components/field/Label.js +13 -0
- package/dist/components/field/index.d.ts +3 -0
- package/dist/components/field/index.js +3 -0
- package/dist/components/filter-tabs/FilterTabs.js +1 -1
- package/dist/components/global-search/GlobalSearch.js +1 -1
- package/dist/components/icon/registry.d.ts +2 -2
- package/dist/components/icon/registry.js +5 -1
- package/dist/components/input-group/InputGroup.js +1 -1
- package/dist/components/input-otp/InputOtp.d.ts +43 -0
- package/dist/components/input-otp/InputOtp.js +45 -0
- package/dist/components/input-otp/index.d.ts +2 -0
- package/dist/components/input-otp/index.js +1 -0
- package/dist/components/key-value-list/KeyValueList.d.ts +25 -0
- package/dist/components/key-value-list/KeyValueList.js +40 -0
- package/dist/components/key-value-list/index.d.ts +2 -0
- package/dist/components/key-value-list/index.js +1 -0
- package/dist/components/link/Link.d.ts +22 -0
- package/dist/components/link/Link.js +31 -0
- package/dist/components/link/index.d.ts +2 -0
- package/dist/components/link/index.js +1 -0
- package/dist/components/media-grid/MediaGrid.d.ts +49 -0
- package/dist/components/media-grid/MediaGrid.js +303 -0
- package/dist/components/media-grid/index.d.ts +2 -0
- package/dist/components/media-grid/index.js +1 -0
- package/dist/components/money-input/MoneyInput.d.ts +30 -0
- package/dist/components/money-input/MoneyInput.js +72 -0
- package/dist/components/money-input/index.d.ts +2 -0
- package/dist/components/money-input/index.js +1 -0
- package/dist/components/page-header/PageHeader.js +9 -9
- package/dist/components/progress/Progress.d.ts +25 -0
- package/dist/components/progress/Progress.js +38 -0
- package/dist/components/progress/index.d.ts +2 -0
- package/dist/components/progress/index.js +1 -0
- package/dist/components/radio-group/RadioGroup.d.ts +18 -0
- package/dist/components/radio-group/RadioGroup.js +32 -0
- package/dist/components/radio-group/index.d.ts +2 -0
- package/dist/components/radio-group/index.js +1 -0
- package/dist/components/save-bar/SaveBar.d.ts +27 -0
- package/dist/components/save-bar/SaveBar.js +37 -0
- package/dist/components/save-bar/index.d.ts +2 -0
- package/dist/components/save-bar/index.js +1 -0
- package/dist/components/scroll-area/ScrollArea.d.ts +12 -0
- package/dist/components/scroll-area/ScrollArea.js +34 -0
- package/dist/components/scroll-area/index.d.ts +2 -0
- package/dist/components/scroll-area/index.js +1 -0
- package/dist/components/search-field/SearchField.js +1 -1
- package/dist/components/select/Select.d.ts +40 -0
- package/dist/components/select/Select.js +84 -0
- package/dist/components/select/index.d.ts +2 -0
- package/dist/components/select/index.js +1 -0
- package/dist/components/separator/Separator.d.ts +15 -0
- package/dist/components/separator/Separator.js +25 -0
- package/dist/components/separator/index.d.ts +2 -0
- package/dist/components/separator/index.js +1 -0
- package/dist/components/sheet/Sheet.d.ts +52 -0
- package/dist/components/sheet/Sheet.js +89 -0
- package/dist/components/sheet/index.d.ts +2 -0
- package/dist/components/sheet/index.js +1 -0
- package/dist/components/side-nav/SideNav.js +3 -3
- package/dist/components/summary-chips/SummaryChips.d.ts +17 -0
- package/dist/components/summary-chips/SummaryChips.js +19 -0
- package/dist/components/summary-chips/index.d.ts +2 -0
- package/dist/components/summary-chips/index.js +1 -0
- package/dist/components/switch/Switch.d.ts +10 -0
- package/dist/components/switch/Switch.js +20 -0
- package/dist/components/switch/index.d.ts +2 -0
- package/dist/components/switch/index.js +1 -0
- package/dist/components/table/Table.js +1 -1
- package/dist/components/tag-input/TagInput.d.ts +44 -0
- package/dist/components/tag-input/TagInput.js +102 -0
- package/dist/components/tag-input/index.d.ts +2 -0
- package/dist/components/tag-input/index.js +1 -0
- package/dist/components/textarea/Textarea.d.ts +15 -0
- package/dist/components/textarea/Textarea.js +21 -0
- package/dist/components/textarea/index.d.ts +2 -0
- package/dist/components/textarea/index.js +1 -0
- package/dist/components/top-bar/StoreSwitcher.js +1 -1
- package/dist/components/top-bar/TopBar.js +2 -2
- package/dist/components/unit-input/UnitInput.d.ts +33 -0
- package/dist/components/unit-input/UnitInput.js +47 -0
- package/dist/components/unit-input/index.d.ts +2 -0
- package/dist/components/unit-input/index.js +1 -0
- package/dist/index.d.ts +70 -9
- package/dist/index.js +38 -7
- package/dist/lib/cn.js +9 -2
- package/dist/lib/format.d.ts +65 -4
- package/dist/lib/format.js +163 -6
- package/dist/styles.css +1 -1
- package/package.json +129 -1
package/dist/lib/format.d.ts
CHANGED
|
@@ -4,12 +4,14 @@
|
|
|
4
4
|
* Counts carry no separators, as the design system says. Dates and times are written in the viewer's time zone.
|
|
5
5
|
*/
|
|
6
6
|
export declare const FORMAT: {
|
|
7
|
-
/** The locale whose grouping and currency symbols money uses. */
|
|
7
|
+
/** The locale whose grouping and currency symbols money uses; also the locale a number field formats and parses with. */
|
|
8
8
|
readonly locale: "en-IN";
|
|
9
9
|
/** The currency of an amount when none is given (ISO 4217). */
|
|
10
10
|
readonly currency: "INR";
|
|
11
|
-
/** The decimals every amount shows. */
|
|
11
|
+
/** The decimals every amount shows, which is also how many minor units (paise) make one rupee: 10 to this power. */
|
|
12
12
|
readonly moneyDecimals: 2;
|
|
13
|
+
/** How a date is written and typed: DD, MM and YYYY with the separators between them. A date field's placeholder. */
|
|
14
|
+
readonly datePattern: "DD/MM/YYYY";
|
|
13
15
|
};
|
|
14
16
|
/**
|
|
15
17
|
* A date, a timestamp in milliseconds or a date string that `Date` reads, such as an ISO 8601 date from an API.
|
|
@@ -25,7 +27,66 @@ export type DateInput = Date | number | string;
|
|
|
25
27
|
export declare function formatMoney(amount: number, currency?: string): string;
|
|
26
28
|
/** Writes a count with no thousands separators, as the design system says: 123456, never 1,23,456. */
|
|
27
29
|
export declare function formatCount(count: number): string;
|
|
28
|
-
/** Writes a date
|
|
30
|
+
/** Writes a date in FORMAT.datePattern, two-digit day and month: 28/10/2026. Throws a RangeError on a value that is not a date. */
|
|
29
31
|
export declare function formatDate(value: DateInput): string;
|
|
32
|
+
/** Writes a calendar day as YYYY-MM-DD, the form a server reads: 2026-10-28. It is not the display format. Throws a RangeError on a value that is not a date. */
|
|
33
|
+
export declare function formatIsoDate(value: DateInput): string;
|
|
34
|
+
/**
|
|
35
|
+
* Reads a date typed in FORMAT.datePattern as that calendar day at local midnight: '28/10/2026' is 28 October 2026, and
|
|
36
|
+
* '3/1/2026' is 3 January. Returns null for anything else, including a day the calendar does not have (31/02/2026), so
|
|
37
|
+
* a date field can show its error rather than roll the date over.
|
|
38
|
+
*/
|
|
39
|
+
export declare function parseDate(text: string): Date | null;
|
|
30
40
|
/** Writes a time on a 12-hour clock, minutes in two digits, with a lower-case am or pm: 3:05 pm, 12:07 am. Throws a RangeError on a value that is not a date. */
|
|
31
|
-
export declare function formatTime(value: DateInput): string;
|
|
41
|
+
export declare function formatTime(value: DateInput): string;
|
|
42
|
+
/**
|
|
43
|
+
* The options a number field formats money with, beside `locale={FORMAT.locale}`: two decimals, grouped as the locale
|
|
44
|
+
* groups (1,23,456.50). MoneyInput passes both to Base UI's NumberField.
|
|
45
|
+
*/
|
|
46
|
+
export declare const MONEY_NUMBER_FORMAT: {
|
|
47
|
+
readonly minimumFractionDigits: 2;
|
|
48
|
+
readonly maximumFractionDigits: 2;
|
|
49
|
+
readonly useGrouping: true;
|
|
50
|
+
};
|
|
51
|
+
/**
|
|
52
|
+
* The group separator and the decimal sign of a locale, FORMAT.locale when left out: { group: ',', decimal: '.' }.
|
|
53
|
+
* @param locale A BCP 47 locale.
|
|
54
|
+
*/
|
|
55
|
+
export declare function numberSeparators(locale?: string): {
|
|
56
|
+
group: string;
|
|
57
|
+
decimal: string;
|
|
58
|
+
};
|
|
59
|
+
/**
|
|
60
|
+
* The symbol a money field shows before the amount: ₹ for rupees.
|
|
61
|
+
* @param currency The ISO 4217 code; rupees when left out.
|
|
62
|
+
*/
|
|
63
|
+
export declare function currencySymbol(currency?: string): string;
|
|
64
|
+
/**
|
|
65
|
+
* The amount in rupees for integer paise, for a number field that holds rupees: 12345650 is 123456.5.
|
|
66
|
+
* Throws a RangeError on a value that is not a whole number of paise.
|
|
67
|
+
*/
|
|
68
|
+
export declare function paiseToAmount(paise: number): number;
|
|
69
|
+
/**
|
|
70
|
+
* Integer paise for an amount in rupees, rounded to the nearest paisa: 123456.5 is 12345650, and 0.1 + 0.2 is 30.
|
|
71
|
+
* Returns null for NaN, an infinity or an amount too large for exact paise.
|
|
72
|
+
*/
|
|
73
|
+
export declare function amountToPaise(amount: number): number | null;
|
|
74
|
+
/**
|
|
75
|
+
* Writes integer paise as money: 12345650 is ₹1,23,456.50 and -500 is -₹5.00.
|
|
76
|
+
* Throws a RangeError on a value that is not a whole number of paise.
|
|
77
|
+
* @param paise The amount in paise, the currency's minor unit.
|
|
78
|
+
* @param currency The ISO 4217 code; rupees when left out.
|
|
79
|
+
*/
|
|
80
|
+
export declare function formatPaise(paise: number, currency?: string): string;
|
|
81
|
+
/**
|
|
82
|
+
* Writes integer paise for a money field to edit: grouped, two decimals, no currency symbol (the field shows it as a
|
|
83
|
+
* prefix), so 12345650 is 1,23,456.50. parseMoney reads it back. Throws a RangeError on a value that is not a whole
|
|
84
|
+
* number of paise.
|
|
85
|
+
*/
|
|
86
|
+
export declare function formatPaiseForEditing(paise: number): string;
|
|
87
|
+
/**
|
|
88
|
+
* Reads typed or pasted money as integer paise: '₹1,23,456.50', '1,23,456.5' and '123,456.50' are 12345650, '123456' is
|
|
89
|
+
* 12345600, ' 12.3 ' is 1230 and '-₹5' is -500. Returns null for anything that is not an amount: no digits, letters,
|
|
90
|
+
* another currency's symbol, two minus signs, groups that are not 2 or 3 digits, or more decimals than paise hold (12.345).
|
|
91
|
+
*/
|
|
92
|
+
export declare function parseMoney(text: string): number | null;
|
package/dist/lib/format.js
CHANGED
|
@@ -5,13 +5,18 @@
|
|
|
5
5
|
* Counts carry no separators, as the design system says. Dates and times are written in the viewer's time zone.
|
|
6
6
|
*/
|
|
7
7
|
const FORMAT = {
|
|
8
|
-
/** The locale whose grouping and currency symbols money uses. */
|
|
8
|
+
/** The locale whose grouping and currency symbols money uses; also the locale a number field formats and parses with. */
|
|
9
9
|
locale: "en-IN",
|
|
10
10
|
/** The currency of an amount when none is given (ISO 4217). */
|
|
11
11
|
currency: "INR",
|
|
12
|
-
/** The decimals every amount shows. */
|
|
13
|
-
moneyDecimals: 2
|
|
12
|
+
/** The decimals every amount shows, which is also how many minor units (paise) make one rupee: 10 to this power. */
|
|
13
|
+
moneyDecimals: 2,
|
|
14
|
+
/** How a date is written and typed: DD, MM and YYYY with the separators between them. A date field's placeholder. */
|
|
15
|
+
datePattern: "DD/MM/YYYY"
|
|
14
16
|
};
|
|
17
|
+
/** The minor units in one unit of the currency: 100 paise make a rupee. */
|
|
18
|
+
const MINOR_UNITS = 10 ** FORMAT.moneyDecimals;
|
|
19
|
+
const escapeRegExp = (text) => text.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
15
20
|
/** A date-only ISO 8601 string: year, month and day, no time. */
|
|
16
21
|
const DATE_ONLY = /^(\d{4})-(\d{2})-(\d{2})$/;
|
|
17
22
|
/**
|
|
@@ -51,10 +56,60 @@ function formatCount(count) {
|
|
|
51
56
|
maximumFractionDigits: 20
|
|
52
57
|
}).format(count);
|
|
53
58
|
}
|
|
54
|
-
/**
|
|
59
|
+
/** The parts of FORMAT.datePattern. */
|
|
60
|
+
const DATE_TOKENS = /DD|MM|YYYY/g;
|
|
61
|
+
/** Writes a date in FORMAT.datePattern, two-digit day and month: 28/10/2026. Throws a RangeError on a value that is not a date. */
|
|
55
62
|
function formatDate(value) {
|
|
56
63
|
const date = toDate(value);
|
|
57
|
-
|
|
64
|
+
const parts = {
|
|
65
|
+
DD: pad(date.getDate()),
|
|
66
|
+
MM: pad(date.getMonth() + 1),
|
|
67
|
+
YYYY: String(date.getFullYear())
|
|
68
|
+
};
|
|
69
|
+
return FORMAT.datePattern.replace(DATE_TOKENS, (token) => parts[token] ?? token);
|
|
70
|
+
}
|
|
71
|
+
/** Writes a calendar day as YYYY-MM-DD, the form a server reads: 2026-10-28. It is not the display format. Throws a RangeError on a value that is not a date. */
|
|
72
|
+
function formatIsoDate(value) {
|
|
73
|
+
const date = toDate(value);
|
|
74
|
+
return `${String(date.getFullYear()).padStart(4, "0")}-${pad(date.getMonth() + 1)}-${pad(date.getDate())}`;
|
|
75
|
+
}
|
|
76
|
+
let dateTyped;
|
|
77
|
+
/**
|
|
78
|
+
* FORMAT.datePattern as a regular expression, and the order of its parts: a day or month of one or two digits, a 4-digit
|
|
79
|
+
* year. Built on first use, so a module that never reads a date neither builds it nor keeps it in a bundle.
|
|
80
|
+
*/
|
|
81
|
+
function dateTypedPattern() {
|
|
82
|
+
if (dateTyped === void 0) {
|
|
83
|
+
const order = [];
|
|
84
|
+
const source = escapeRegExp(FORMAT.datePattern).replace(DATE_TOKENS, (token) => {
|
|
85
|
+
order.push(token);
|
|
86
|
+
return token === "YYYY" ? "(\\d{4})" : "(\\d{1,2})";
|
|
87
|
+
});
|
|
88
|
+
dateTyped = {
|
|
89
|
+
pattern: new RegExp(`^${source}$`),
|
|
90
|
+
order
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
return dateTyped;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Reads a date typed in FORMAT.datePattern as that calendar day at local midnight: '28/10/2026' is 28 October 2026, and
|
|
97
|
+
* '3/1/2026' is 3 January. Returns null for anything else, including a day the calendar does not have (31/02/2026), so
|
|
98
|
+
* a date field can show its error rather than roll the date over.
|
|
99
|
+
*/
|
|
100
|
+
function parseDate(text) {
|
|
101
|
+
const { pattern, order } = dateTypedPattern();
|
|
102
|
+
const match = pattern.exec(text.trim());
|
|
103
|
+
if (match === null) return null;
|
|
104
|
+
const part = (token) => Number(match[order.indexOf(token) + 1]);
|
|
105
|
+
const [year, month, day] = [
|
|
106
|
+
part("YYYY"),
|
|
107
|
+
part("MM"),
|
|
108
|
+
part("DD")
|
|
109
|
+
];
|
|
110
|
+
const date = new Date(year, month - 1, day);
|
|
111
|
+
if (date.getFullYear() !== year || date.getMonth() !== month - 1 || date.getDate() !== day) return null;
|
|
112
|
+
return date;
|
|
58
113
|
}
|
|
59
114
|
/** Writes a time on a 12-hour clock, minutes in two digits, with a lower-case am or pm: 3:05 pm, 12:07 am. Throws a RangeError on a value that is not a date. */
|
|
60
115
|
function formatTime(value) {
|
|
@@ -62,4 +117,106 @@ function formatTime(value) {
|
|
|
62
117
|
const hours = date.getHours();
|
|
63
118
|
return `${hours % 12 === 0 ? 12 : hours % 12}:${pad(date.getMinutes())} ${hours < 12 ? "am" : "pm"}`;
|
|
64
119
|
}
|
|
65
|
-
|
|
120
|
+
/**
|
|
121
|
+
* The options a number field formats money with, beside `locale={FORMAT.locale}`: two decimals, grouped as the locale
|
|
122
|
+
* groups (1,23,456.50). MoneyInput passes both to Base UI's NumberField.
|
|
123
|
+
*/
|
|
124
|
+
const MONEY_NUMBER_FORMAT = {
|
|
125
|
+
minimumFractionDigits: FORMAT.moneyDecimals,
|
|
126
|
+
maximumFractionDigits: FORMAT.moneyDecimals,
|
|
127
|
+
useGrouping: true
|
|
128
|
+
};
|
|
129
|
+
/**
|
|
130
|
+
* The group separator and the decimal sign of a locale, FORMAT.locale when left out: { group: ',', decimal: '.' }.
|
|
131
|
+
* @param locale A BCP 47 locale.
|
|
132
|
+
*/
|
|
133
|
+
function numberSeparators(locale = FORMAT.locale) {
|
|
134
|
+
const parts = new Intl.NumberFormat(locale).formatToParts(1234567.5);
|
|
135
|
+
const of = (type) => parts.find((part) => part.type === type)?.value ?? "";
|
|
136
|
+
return {
|
|
137
|
+
group: of("group"),
|
|
138
|
+
decimal: of("decimal")
|
|
139
|
+
};
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* The symbol a money field shows before the amount: ₹ for rupees.
|
|
143
|
+
* @param currency The ISO 4217 code; rupees when left out.
|
|
144
|
+
*/
|
|
145
|
+
function currencySymbol(currency = FORMAT.currency) {
|
|
146
|
+
return new Intl.NumberFormat(FORMAT.locale, {
|
|
147
|
+
style: "currency",
|
|
148
|
+
currency
|
|
149
|
+
}).formatToParts(0).find((part) => part.type === "currency")?.value ?? currency;
|
|
150
|
+
}
|
|
151
|
+
/** Throws a RangeError unless the value is a whole number of paise that a number holds exactly. */
|
|
152
|
+
function assertPaise(paise) {
|
|
153
|
+
if (!Number.isSafeInteger(paise)) throw new RangeError(`Not a whole number of paise: ${paise}`);
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* The amount in rupees for integer paise, for a number field that holds rupees: 12345650 is 123456.5.
|
|
157
|
+
* Throws a RangeError on a value that is not a whole number of paise.
|
|
158
|
+
*/
|
|
159
|
+
function paiseToAmount(paise) {
|
|
160
|
+
assertPaise(paise);
|
|
161
|
+
return paise / MINOR_UNITS;
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* Integer paise for an amount in rupees, rounded to the nearest paisa: 123456.5 is 12345650, and 0.1 + 0.2 is 30.
|
|
165
|
+
* Returns null for NaN, an infinity or an amount too large for exact paise.
|
|
166
|
+
*/
|
|
167
|
+
function amountToPaise(amount) {
|
|
168
|
+
if (!Number.isFinite(amount)) return null;
|
|
169
|
+
const paise = Math.round(amount * MINOR_UNITS) || 0;
|
|
170
|
+
return Number.isSafeInteger(paise) ? paise : null;
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* Writes integer paise as money: 12345650 is ₹1,23,456.50 and -500 is -₹5.00.
|
|
174
|
+
* Throws a RangeError on a value that is not a whole number of paise.
|
|
175
|
+
* @param paise The amount in paise, the currency's minor unit.
|
|
176
|
+
* @param currency The ISO 4217 code; rupees when left out.
|
|
177
|
+
*/
|
|
178
|
+
function formatPaise(paise, currency = FORMAT.currency) {
|
|
179
|
+
return formatMoney(paiseToAmount(paise), currency);
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* Writes integer paise for a money field to edit: grouped, two decimals, no currency symbol (the field shows it as a
|
|
183
|
+
* prefix), so 12345650 is 1,23,456.50. parseMoney reads it back. Throws a RangeError on a value that is not a whole
|
|
184
|
+
* number of paise.
|
|
185
|
+
*/
|
|
186
|
+
function formatPaiseForEditing(paise) {
|
|
187
|
+
return new Intl.NumberFormat(FORMAT.locale, MONEY_NUMBER_FORMAT).format(paiseToAmount(paise));
|
|
188
|
+
}
|
|
189
|
+
let moneyTyped;
|
|
190
|
+
/**
|
|
191
|
+
* Typed or pasted money: a minus before or after the currency symbol, grouped or plain digits, and up to two decimals.
|
|
192
|
+
* Built on first use, like the date pattern.
|
|
193
|
+
*/
|
|
194
|
+
function moneyTypedPattern() {
|
|
195
|
+
if (moneyTyped === void 0) {
|
|
196
|
+
const { group, decimal } = numberSeparators();
|
|
197
|
+
const [minus, symbol] = ["[-−]", escapeRegExp(currencySymbol())];
|
|
198
|
+
const whole = `\\d{1,3}(?:${escapeRegExp(group)}\\d{2,3})*|\\d+`;
|
|
199
|
+
const fraction = `(?:${escapeRegExp(decimal)}(\\d{0,${FORMAT.moneyDecimals}}))?`;
|
|
200
|
+
moneyTyped = {
|
|
201
|
+
pattern: new RegExp(`^(${minus})?(?:${symbol})?(${minus})?(${whole})?${fraction}$`),
|
|
202
|
+
group
|
|
203
|
+
};
|
|
204
|
+
}
|
|
205
|
+
return moneyTyped;
|
|
206
|
+
}
|
|
207
|
+
/**
|
|
208
|
+
* Reads typed or pasted money as integer paise: '₹1,23,456.50', '1,23,456.5' and '123,456.50' are 12345650, '123456' is
|
|
209
|
+
* 12345600, ' 12.3 ' is 1230 and '-₹5' is -500. Returns null for anything that is not an amount: no digits, letters,
|
|
210
|
+
* another currency's symbol, two minus signs, groups that are not 2 or 3 digits, or more decimals than paise hold (12.345).
|
|
211
|
+
*/
|
|
212
|
+
function parseMoney(text) {
|
|
213
|
+
const { pattern, group } = moneyTypedPattern();
|
|
214
|
+
const match = pattern.exec(text.trim());
|
|
215
|
+
if (match === null) return null;
|
|
216
|
+
const [, minusBefore, minusAfter, whole = "", fraction = ""] = match;
|
|
217
|
+
if (minusBefore !== void 0 && minusAfter !== void 0 || `${whole}${fraction}` === "") return null;
|
|
218
|
+
const paise = Number(whole.split(group).join("") || "0") * MINOR_UNITS + Number(fraction.padEnd(FORMAT.moneyDecimals, "0"));
|
|
219
|
+
if (!Number.isSafeInteger(paise)) return null;
|
|
220
|
+
return (minusBefore ?? minusAfter) !== void 0 && paise !== 0 ? -paise : paise;
|
|
221
|
+
}
|
|
222
|
+
export { FORMAT, MONEY_NUMBER_FORMAT, amountToPaise, currencySymbol, formatCount, formatDate, formatIsoDate, formatMoney, formatPaise, formatPaiseForEditing, formatTime, numberSeparators, paiseToAmount, parseDate, parseMoney };
|
package/dist/styles.css
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
|
|
2
|
-
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-font-weight:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-content:""}}}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(./fonts/inter-latin-ext-400-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(./fonts/inter-latin-400-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(./fonts/inter-latin-ext-500-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(./fonts/inter-latin-500-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(./fonts/inter-latin-ext-600-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(./fonts/inter-latin-600-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--rt-white:#fff;--rt-blue-600:#3f53fe;--rt-blue-700:#2e40e3;--rt-blue-100:#dde0ff;--rt-ink-900:#131927;--rt-ink-800:#1a2c44;--rt-ink-700:#273951;--rt-ink-600:#344054;--rt-ink-550:#3c4f69;--rt-ink-500:#545969;--rt-ink-450:#667691;--rt-ink-800-a60:#1a2c4499;--rt-line-100:#ecf1f6;--rt-line-150:#dde5ee;--rt-line-200:#e5e7ea;--rt-line-250:#e8e8e8;--rt-green-100:#eafcdd;--rt-green-300:#a8f170;--rt-green-800:#217005;--rt-amber-100:#fff3e2;--rt-amber-400:#f7a62d;--rt-amber-600:#e88b00;--rt-typeface:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--rt-page:var(--rt-white);--rt-background:var(--rt-white);--rt-card:var(--rt-white);--rt-card-foreground:var(--rt-ink-800);--rt-popover:var(--rt-white);--rt-popover-foreground:var(--rt-ink-800);--rt-foreground:var(--rt-ink-800);--rt-foreground-strong:var(--rt-ink-900);--rt-foreground-emphasis:var(--rt-ink-600);--rt-foreground-subdued:var(--rt-ink-550);--rt-muted-foreground:var(--rt-ink-450);--rt-icon:var(--rt-ink-500);--rt-tab-inactive:var(--rt-ink-800-a60);--rt-primary:var(--rt-blue-600);--rt-primary-foreground:var(--rt-white);--rt-primary-hover:var(--rt-blue-700);--rt-primary-tint:var(--rt-blue-100);--rt-secondary:transparent;--rt-secondary-foreground:var(--rt-ink-700);--rt-muted:var(--rt-line-100);--rt-accent:var(--rt-line-100);--rt-accent-foreground:var(--rt-ink-900);--rt-border:var(--rt-line-100);--rt-border-strong:var(--rt-line-250);--rt-divider:var(--rt-line-200);--rt-input:var(--rt-line-100);--rt-control:var(--rt-line-150);--rt-ring:var(--rt-blue-600);--rt-success:var(--rt-green-800);--rt-success-tint:var(--rt-green-100);--rt-success-border:var(--rt-green-300);--rt-warning:var(--rt-amber-600);--rt-warning-tint:var(--rt-amber-100);--rt-warning-border:var(--rt-amber-400);--rt-sidebar:var(--rt-white);--rt-sidebar-foreground:var(--rt-ink-800);--rt-sidebar-primary:var(--rt-blue-600);--rt-sidebar-primary-foreground:var(--rt-white);--rt-sidebar-accent:var(--rt-line-100);--rt-sidebar-accent-foreground:var(--rt-ink-800);--rt-sidebar-border:var(--rt-line-100);--rt-sidebar-ring:var(--rt-blue-600);--rt-error:var(--rt-ink-900);--rt-error-icon:var(--rt-ink-900);--rt-destructive:var(--rt-ink-900);--rt-destructive-fill:transparent;--rt-destructive-foreground:var(--rt-ink-700);--rt-destructive-border:var(--rt-line-250);--rt-destructive-hover:var(--rt-blue-100);--rt-status-neutral-foreground:var(--rt-ink-800);--rt-status-neutral-background:transparent;--rt-status-neutral-border:transparent;--rt-focus-ring:var(--rt-blue-600);--rt-focus-ring-width:2px;--rt-focus-ring-offset:2px;--rt-skeleton:var(--rt-line-100);--rt-progress:var(--rt-blue-600);--rt-progress-track:var(--rt-line-100);--rt-progress-height:2px;--rt-loading-animation:none;--rt-spinner-animation:none;--rt-wordmark:"RAT/O";--rt-sidenav-row-h:30px;--rt-sidenav-pad:20px;--rt-sidenav-gap:28px;--rt-sidenav-label-h:26px}[class^=rt\:],[class*=" rt:"],[class^=rt\:]:before,[class*=" rt:"]:before,[class^=rt\:]:after,[class*=" rt:"]:after{box-sizing:border-box;color:inherit;font:inherit;font-family:var(--rt-typeface);letter-spacing:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit;appearance:none;background-color:#0000;border:0 solid;margin:0;padding:0;list-style:none}:root,:host{--rt-spacing:4px;--rt-default-transition-duration:.12s;--rt-default-transition-timing-function:ease;--rt-font-weight-medium:500;--rt-font-weight-semibold:600;--rt-radius-sm:4px;--rt-radius-md:6px;--rt-radius-lg:8px;--rt-radius-3xl:24px;--rt-container-content:1152px;--rt-text-display:48px;--rt-text-display--line-height:58px;--rt-text-display--font-weight:600;--rt-text-display--letter-spacing:0px;--rt-text-h1:34px;--rt-text-h1--line-height:40px;--rt-text-h1--font-weight:600;--rt-text-h1--letter-spacing:0px;--rt-text-h5:28px;--rt-text-h5--line-height:34px;--rt-text-h5--font-weight:600;--rt-text-h5--letter-spacing:0px;--rt-text-s1:28px;--rt-text-s1--line-height:34px;--rt-text-s1--font-weight:600;--rt-text-s1--letter-spacing:0px;--rt-text-s2:24px;--rt-text-s2--line-height:28px;--rt-text-s2--font-weight:600;--rt-text-s2--letter-spacing:0px;--rt-text-b1:12px;--rt-text-b1--line-height:20px;--rt-text-b1--font-weight:400;--rt-text-b1--letter-spacing:0px;--rt-text-b2:12px;--rt-text-b2--line-height:20px;--rt-text-b2--font-weight:500;--rt-text-b2--letter-spacing:0px;--rt-text-b3:14px;--rt-text-b3--line-height:20px;--rt-text-b3--font-weight:400;--rt-text-b3--letter-spacing:-.15px;--rt-text-b4:14px;--rt-text-b4--line-height:20px;--rt-text-b4--font-weight:600;--rt-text-b4--letter-spacing:-.15px;--rt-text-c1:12px;--rt-text-c1--line-height:16px;--rt-text-c1--font-weight:400;--rt-text-c1--letter-spacing:0px;--rt-text-c2:12px;--rt-text-c2--line-height:16px;--rt-text-c2--font-weight:500;--rt-text-c2--letter-spacing:0px;--rt-text-c3:14px;--rt-text-c3--line-height:16px;--rt-text-c3--font-weight:500;--rt-text-c3--letter-spacing:0px;--rt-text-label:12px;--rt-text-label--line-height:16px;--rt-text-label--font-weight:500;--rt-text-label--letter-spacing:0px;--rt-text-btn:14px;--rt-text-btn--line-height:16px;--rt-text-btn--font-weight:400;--rt-text-btn--letter-spacing:0px;--rt-shadow-ring-subtle:inset 0 0 0 1px var(--rt-input), 0 0 0 1px var(--rt-input);--rt-shadow-ring-focus:inset 0 0 0 1px var(--rt-ring), 0 0 0 1px var(--rt-input);--rt-shadow-ring-strong:inset 0 0 0 1px var(--rt-border-strong);--rt-shadow-ring-hairline:inset 0 0 0 .5px var(--rt-control), 0 0 0 .5px var(--rt-control);--rt-shadow-ring-accent-hairline:inset 0 0 0 .5px var(--rt-primary), 0 0 0 .5px var(--rt-primary);--rt-shadow-ring-destructive:inset 0 0 0 1px var(--rt-destructive-border);--rt-shadow-ring-invalid:inset 0 0 0 1px var(--rt-destructive)}.rt\:pointer-events-auto{pointer-events:auto}.rt\:pointer-events-none{pointer-events:none}.rt\:sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.rt\:absolute{position:absolute}.rt\:fixed{position:fixed}.rt\:relative{position:relative}.rt\:inset-0{inset:0}.rt\:inset-y-0{inset-block:0}.rt\:top-4{top:calc(var(--rt-spacing) * 4)}.rt\:right-4{right:calc(var(--rt-spacing) * 4)}.rt\:bottom-4{bottom:calc(var(--rt-spacing) * 4)}.rt\:left-0{left:0}.rt\:left-3{left:calc(var(--rt-spacing) * 3)}.rt\:isolate{isolation:isolate}.rt\:z-50{z-index:50}.rt\:order-first{order:-9999}.rt\:order-last{order:9999}.rt\:m-0{margin:0}.rt\:m-auto{margin:auto}.rt\:mx-auto{margin-inline:auto}.rt\:my-1\.5{margin-block:calc(var(--rt-spacing) * 1.5)}.rt\:-mr-px{margin-right:-1px}.rt\:-mb-px{margin-bottom:-1px}.rt\:-ml-1\.5{margin-left:calc(var(--rt-spacing) * -1.5)}.rt\:ml-auto{margin-left:auto}.rt\:block{display:block}.rt\:flex{display:flex}.rt\:hidden{display:none}.rt\:inline-block{display:inline-block}.rt\:inline-flex{display:inline-flex}.rt\:aspect-square{aspect-ratio:1}.rt\:size-1\.5{width:calc(var(--rt-spacing) * 1.5);height:calc(var(--rt-spacing) * 1.5)}.rt\:size-3\.5{width:calc(var(--rt-spacing) * 3.5);height:calc(var(--rt-spacing) * 3.5)}.rt\:size-4{width:calc(var(--rt-spacing) * 4);height:calc(var(--rt-spacing) * 4)}.rt\:size-5{width:calc(var(--rt-spacing) * 5);height:calc(var(--rt-spacing) * 5)}.rt\:size-6{width:calc(var(--rt-spacing) * 6);height:calc(var(--rt-spacing) * 6)}.rt\:size-7{width:calc(var(--rt-spacing) * 7);height:calc(var(--rt-spacing) * 7)}.rt\:size-8{width:calc(var(--rt-spacing) * 8);height:calc(var(--rt-spacing) * 8)}.rt\:size-9{width:calc(var(--rt-spacing) * 9);height:calc(var(--rt-spacing) * 9)}.rt\:size-10{width:calc(var(--rt-spacing) * 10);height:calc(var(--rt-spacing) * 10)}.rt\:size-full{width:100%;height:100%}.rt\:h-4{height:calc(var(--rt-spacing) * 4)}.rt\:h-5{height:calc(var(--rt-spacing) * 5)}.rt\:h-7{height:calc(var(--rt-spacing) * 7)}.rt\:h-8{height:calc(var(--rt-spacing) * 8)}.rt\:h-9{height:calc(var(--rt-spacing) * 9)}.rt\:h-11{height:calc(var(--rt-spacing) * 11)}.rt\:h-12{height:calc(var(--rt-spacing) * 12)}.rt\:h-13{height:calc(var(--rt-spacing) * 13)}.rt\:h-24{height:calc(var(--rt-spacing) * 24)}.rt\:h-fit{height:fit-content}.rt\:h-full{height:100%}.rt\:h-px{height:1px}.rt\:h-sidenav-label{height:var(--rt-sidenav-label-h)}.rt\:h-sidenav-row{height:var(--rt-sidenav-row-h)}.rt\:max-h-80{max-height:calc(var(--rt-spacing) * 80)}.rt\:max-h-full{max-height:100%}.rt\:min-h-0{min-height:0}.rt\:w-2{width:calc(var(--rt-spacing) * 2)}.rt\:w-7{width:calc(var(--rt-spacing) * 7)}.rt\:w-14{width:calc(var(--rt-spacing) * 14)}.rt\:w-60{width:calc(var(--rt-spacing) * 60)}.rt\:w-72{width:calc(var(--rt-spacing) * 72)}.rt\:w-90{width:calc(var(--rt-spacing) * 90)}.rt\:w-120{width:calc(var(--rt-spacing) * 120)}.rt\:w-fit{width:fit-content}.rt\:w-full{width:100%}.rt\:max-w-40{max-width:calc(var(--rt-spacing) * 40)}.rt\:max-w-64{max-width:calc(var(--rt-spacing) * 64)}.rt\:max-w-72{max-width:calc(var(--rt-spacing) * 72)}.rt\:max-w-content{max-width:var(--rt-container-content)}.rt\:max-w-full{max-width:100%}.rt\:min-w-0{min-width:0}.rt\:min-w-5{min-width:calc(var(--rt-spacing) * 5)}.rt\:min-w-26{min-width:calc(var(--rt-spacing) * 26)}.rt\:min-w-40{min-width:calc(var(--rt-spacing) * 40)}.rt\:flex-1{flex:1}.rt\:flex-auto{flex:auto}.rt\:shrink-0{flex-shrink:0}.rt\:caption-bottom{caption-side:bottom}.rt\:border-collapse{border-collapse:collapse}.rt\:skeleton{background-color:var(--rt-skeleton);animation:var(--rt-loading-animation)}@media (prefers-reduced-motion:reduce){.rt\:skeleton{animation:none}}.rt\:spinner-motion{animation:var(--rt-spinner-animation)}@media (prefers-reduced-motion:reduce){.rt\:spinner-motion{animation:none}}.rt\:cursor-default{cursor:default}.rt\:cursor-help{cursor:help}.rt\:cursor-pointer{cursor:pointer}.rt\:cursor-text{cursor:text}.rt\:flex-col{flex-direction:column}.rt\:flex-wrap{flex-wrap:wrap}.rt\:items-baseline{align-items:baseline}.rt\:items-center{align-items:center}.rt\:items-end{align-items:flex-end}.rt\:items-start{align-items:flex-start}.rt\:items-stretch{align-items:stretch}.rt\:justify-between{justify-content:space-between}.rt\:justify-center{justify-content:center}.rt\:justify-end{justify-content:flex-end}.rt\:justify-start{justify-content:flex-start}.rt\:gap-0{gap:0}.rt\:gap-0\.5{gap:calc(var(--rt-spacing) * .5)}.rt\:gap-1{gap:var(--rt-spacing)}.rt\:gap-1\.5{gap:calc(var(--rt-spacing) * 1.5)}.rt\:gap-1\.75{gap:calc(var(--rt-spacing) * 1.75)}.rt\:gap-2{gap:calc(var(--rt-spacing) * 2)}.rt\:gap-2\.75{gap:calc(var(--rt-spacing) * 2.75)}.rt\:gap-3{gap:calc(var(--rt-spacing) * 3)}.rt\:gap-3\.5{gap:calc(var(--rt-spacing) * 3.5)}.rt\:gap-6{gap:calc(var(--rt-spacing) * 6)}.rt\:gap-8{gap:calc(var(--rt-spacing) * 8)}.rt\:gap-20{gap:calc(var(--rt-spacing) * 20)}.rt\:gap-px{gap:1px}.rt\:sidenav-gap{gap:var(--rt-sidenav-gap)}.rt\:gap-x-3{column-gap:calc(var(--rt-spacing) * 3)}.rt\:gap-y-2{row-gap:calc(var(--rt-spacing) * 2)}.rt\:truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rt\:overflow-hidden{overflow:hidden}.rt\:overflow-x-auto{overflow-x:auto}.rt\:overflow-y-auto{overflow-y:auto}.rt\:rounded-3xl{border-radius:var(--rt-radius-3xl)}.rt\:rounded-lg{border-radius:var(--rt-radius-lg)}.rt\:rounded-md{border-radius:var(--rt-radius-md)}.rt\:rounded-sm{border-radius:var(--rt-radius-sm)}.rt\:border{border-style:var(--tw-border-style);border-width:1px}.rt\:border-0{border-style:var(--tw-border-style);border-width:0}.rt\:border-2{border-style:var(--tw-border-style);border-width:2px}.rt\:border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.rt\:border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.rt\:border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.rt\:border-border{border-color:var(--rt-border)}.rt\:border-divider{border-color:var(--rt-divider)}.rt\:border-progress-track{border-color:var(--rt-progress-track)}.rt\:border-status-neutral-border{border-color:var(--rt-status-neutral-border)}.rt\:border-success-border{border-color:var(--rt-success-border)}.rt\:border-warning-border{border-color:var(--rt-warning-border)}.rt\:border-t-progress{border-top-color:var(--rt-progress)}.rt\:bg-background{background-color:var(--rt-background)}.rt\:bg-current{background-color:currentColor}.rt\:bg-destructive-fill{background-color:var(--rt-destructive-fill)}.rt\:bg-divider{background-color:var(--rt-divider)}.rt\:bg-foreground{background-color:var(--rt-foreground)}.rt\:bg-muted{background-color:var(--rt-muted)}.rt\:bg-page{background-color:var(--rt-page)}.rt\:bg-popover{background-color:var(--rt-popover)}.rt\:bg-primary{background-color:var(--rt-primary)}.rt\:bg-primary-foreground{background-color:var(--rt-primary-foreground)}.rt\:bg-secondary{background-color:var(--rt-secondary)}.rt\:bg-sidebar{background-color:var(--rt-sidebar)}.rt\:bg-status-neutral-background{background-color:var(--rt-status-neutral-background)}.rt\:bg-success-tint{background-color:var(--rt-success-tint)}.rt\:bg-transparent{background-color:#0000}.rt\:bg-warning-tint{background-color:var(--rt-warning-tint)}.rt\:object-cover{object-fit:cover}.rt\:p-0{padding:0}.rt\:p-1{padding:var(--rt-spacing)}.rt\:p-3{padding:calc(var(--rt-spacing) * 3)}.rt\:p-6{padding:calc(var(--rt-spacing) * 6)}.rt\:px-1{padding-inline:var(--rt-spacing)}.rt\:px-1\.5{padding-inline:calc(var(--rt-spacing) * 1.5)}.rt\:px-2{padding-inline:calc(var(--rt-spacing) * 2)}.rt\:px-2\.75{padding-inline:calc(var(--rt-spacing) * 2.75)}.rt\:px-3{padding-inline:calc(var(--rt-spacing) * 3)}.rt\:px-3\.5{padding-inline:calc(var(--rt-spacing) * 3.5)}.rt\:px-6{padding-inline:calc(var(--rt-spacing) * 6)}.rt\:sidenav-pad-x{padding-inline:var(--rt-sidenav-pad)}.rt\:py-1{padding-block:var(--rt-spacing)}.rt\:py-1\.5{padding-block:calc(var(--rt-spacing) * 1.5)}.rt\:py-2{padding-block:calc(var(--rt-spacing) * 2)}.rt\:py-3{padding-block:calc(var(--rt-spacing) * 3)}.rt\:py-6{padding-block:calc(var(--rt-spacing) * 6)}.rt\:pt-2{padding-top:calc(var(--rt-spacing) * 2)}.rt\:sidenav-pad-top{padding-top:var(--rt-sidenav-pad)}.rt\:sidenav-pad-bottom{padding-bottom:var(--rt-sidenav-pad)}.rt\:pl-8{padding-left:calc(var(--rt-spacing) * 8)}.rt\:text-center{text-align:center}.rt\:text-left{text-align:left}.rt\:text-right{text-align:right}.rt\:align-baseline{vertical-align:baseline}.rt\:align-middle{vertical-align:middle}.rt\:font-sans{font-family:var(--rt-typeface)}.rt\:text-b1{font-size:var(--rt-text-b1);line-height:var(--tw-leading,var(--rt-text-b1--line-height));letter-spacing:var(--tw-tracking,var(--rt-text-b1--letter-spacing));font-weight:var(--tw-font-weight,var(--rt-text-b1--font-weight))}.rt\:text-b2{font-size:var(--rt-text-b2);line-height:var(--tw-leading,var(--rt-text-b2--line-height));letter-spacing:var(--tw-tracking,var(--rt-text-b2--letter-spacing));font-weight:var(--tw-font-weight,var(--rt-text-b2--font-weight))}.rt\:text-b3{font-size:var(--rt-text-b3);line-height:var(--tw-leading,var(--rt-text-b3--line-height));letter-spacing:var(--tw-tracking,var(--rt-text-b3--letter-spacing));font-weight:var(--tw-font-weight,var(--rt-text-b3--font-weight))}.rt\:text-b4{font-size:var(--rt-text-b4);line-height:var(--tw-leading,var(--rt-text-b4--line-height));letter-spacing:var(--tw-tracking,var(--rt-text-b4--letter-spacing));font-weight:var(--tw-font-weight,var(--rt-text-b4--font-weight))}.rt\:text-btn{font-size:var(--rt-text-btn);line-height:var(--tw-leading,var(--rt-text-btn--line-height));letter-spacing:var(--tw-tracking,var(--rt-text-btn--letter-spacing));font-weight:var(--tw-font-weight,var(--rt-text-btn--font-weight))}.rt\:text-c1{font-size:var(--rt-text-c1);line-height:var(--tw-leading,var(--rt-text-c1--line-height));letter-spacing:var(--tw-tracking,var(--rt-text-c1--letter-spacing));font-weight:var(--tw-font-weight,var(--rt-text-c1--font-weight))}.rt\:text-c2{font-size:var(--rt-text-c2);line-height:var(--tw-leading,var(--rt-text-c2--line-height));letter-spacing:var(--tw-tracking,var(--rt-text-c2--letter-spacing));font-weight:var(--tw-font-weight,var(--rt-text-c2--font-weight))}.rt\:text-c3{font-size:var(--rt-text-c3);line-height:var(--tw-leading,var(--rt-text-c3--line-height));letter-spacing:var(--tw-tracking,var(--rt-text-c3--letter-spacing));font-weight:var(--tw-font-weight,var(--rt-text-c3--font-weight))}.rt\:text-display{font-size:var(--rt-text-display);line-height:var(--tw-leading,var(--rt-text-display--line-height));letter-spacing:var(--tw-tracking,var(--rt-text-display--letter-spacing));font-weight:var(--tw-font-weight,var(--rt-text-display--font-weight))}.rt\:text-h1{font-size:var(--rt-text-h1);line-height:var(--tw-leading,var(--rt-text-h1--line-height));letter-spacing:var(--tw-tracking,var(--rt-text-h1--letter-spacing));font-weight:var(--tw-font-weight,var(--rt-text-h1--font-weight))}.rt\:text-h5{font-size:var(--rt-text-h5);line-height:var(--tw-leading,var(--rt-text-h5--line-height));letter-spacing:var(--tw-tracking,var(--rt-text-h5--letter-spacing));font-weight:var(--tw-font-weight,var(--rt-text-h5--font-weight))}.rt\:text-label{font-size:var(--rt-text-label);line-height:var(--tw-leading,var(--rt-text-label--line-height));letter-spacing:var(--tw-tracking,var(--rt-text-label--letter-spacing));font-weight:var(--tw-font-weight,var(--rt-text-label--font-weight))}.rt\:text-s1{font-size:var(--rt-text-s1);line-height:var(--tw-leading,var(--rt-text-s1--line-height));letter-spacing:var(--tw-tracking,var(--rt-text-s1--letter-spacing));font-weight:var(--tw-font-weight,var(--rt-text-s1--font-weight))}.rt\:text-s2{font-size:var(--rt-text-s2);line-height:var(--tw-leading,var(--rt-text-s2--line-height));letter-spacing:var(--tw-tracking,var(--rt-text-s2--letter-spacing));font-weight:var(--tw-font-weight,var(--rt-text-s2--font-weight))}.rt\:font-medium{--tw-font-weight:var(--rt-font-weight-medium);font-weight:var(--rt-font-weight-medium)}.rt\:whitespace-nowrap{white-space:nowrap}.rt\:text-background{color:var(--rt-background)}.rt\:text-destructive-foreground{color:var(--rt-destructive-foreground)}.rt\:text-error{color:var(--rt-error)}.rt\:text-error-icon{color:var(--rt-error-icon)}.rt\:text-foreground{color:var(--rt-foreground)}.rt\:text-foreground-strong{color:var(--rt-foreground-strong)}.rt\:text-foreground-subdued{color:var(--rt-foreground-subdued)}.rt\:text-icon{color:var(--rt-icon)}.rt\:text-inherit{color:inherit}.rt\:text-muted-foreground{color:var(--rt-muted-foreground)}.rt\:text-popover-foreground{color:var(--rt-popover-foreground)}.rt\:text-primary{color:var(--rt-primary)}.rt\:text-primary-foreground{color:var(--rt-primary-foreground)}.rt\:text-secondary-foreground{color:var(--rt-secondary-foreground)}.rt\:text-sidebar-foreground{color:var(--rt-sidebar-foreground)}.rt\:text-status-neutral-foreground{color:var(--rt-status-neutral-foreground)}.rt\:text-success{color:var(--rt-success)}.rt\:text-tab-inactive{color:var(--rt-tab-inactive)}.rt\:text-warning{color:var(--rt-warning)}.rt\:uppercase{text-transform:uppercase}.rt\:tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.rt\:underline{text-decoration-line:underline}.rt\:decoration-dotted{text-decoration-style:dotted}.rt\:decoration-1{text-decoration-thickness:1px}.rt\:underline-offset-4{text-underline-offset:4px}.rt\:shadow-ring-destructive{--tw-shadow:inset 0 0 0 1px var(--tw-shadow-color,var(--rt-destructive-border));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.rt\:shadow-ring-hairline{--tw-shadow:inset 0 0 0 .5px var(--tw-shadow-color,var(--rt-control)), 0 0 0 .5px var(--tw-shadow-color,var(--rt-control));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.rt\:shadow-ring-strong{--tw-shadow:inset 0 0 0 1px var(--tw-shadow-color,var(--rt-border-strong));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.rt\:shadow-ring-subtle{--tw-shadow:inset 0 0 0 1px var(--tw-shadow-color,var(--rt-input)), 0 0 0 1px var(--tw-shadow-color,var(--rt-input));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}@media (forced-colors:active){.rt\:forced-outline{outline:1px solid #0000}.rt\:forced-outline:focus-visible{outline-width:var(--rt-focus-ring-width);outline-offset:var(--rt-focus-ring-offset)}}.rt\:outline-hidden{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.rt\:outline-hidden{outline-offset:2px;outline:2px solid #0000}}.rt\:transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--rt-default-transition-timing-function));transition-duration:var(--tw-duration,var(--rt-default-transition-duration))}.rt\:wordmark:before{content:var(--rt-wordmark)}.rt\:outline-none{--tw-outline-style:none;outline-style:none}.rt\:select-none{-webkit-user-select:none;user-select:none}.rt\:not-empty\:p-3:not(:empty){padding:calc(var(--rt-spacing) * 3)}.rt\:not-aria-disabled\:cursor-pointer:not([aria-disabled=true]){cursor:pointer}.rt\:placeholder\:text-muted-foreground::placeholder{color:var(--rt-muted-foreground)}.rt\:after\:absolute:after{content:var(--tw-content);position:absolute}.rt\:after\:-inset-1\.25:after{content:var(--tw-content);inset:calc(var(--rt-spacing) * -1.25)}.rt\:after\:inset-x-0:after{content:var(--tw-content);inset-inline:0}.rt\:after\:-bottom-px:after{content:var(--tw-content);bottom:-1px}.rt\:after\:h-0\.5:after{content:var(--tw-content);height:calc(var(--rt-spacing) * .5)}.rt\:after\:bg-primary:after{content:var(--tw-content);background-color:var(--rt-primary)}.rt\:after\:opacity-0:after{content:var(--tw-content);opacity:0}.rt\:last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.rt\:focus-within\:shadow-ring-focus:focus-within{--tw-shadow:inset 0 0 0 1px var(--tw-shadow-color,var(--rt-ring)), 0 0 0 1px var(--tw-shadow-color,var(--rt-input));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}@media (hover:hover){.rt\:hover\:bg-destructive-hover:hover{background-color:var(--rt-destructive-hover)}.rt\:hover\:bg-muted:hover{background-color:var(--rt-muted)}.rt\:hover\:bg-primary-hover:hover{background-color:var(--rt-primary-hover)}.rt\:hover\:bg-primary-tint:hover{background-color:var(--rt-primary-tint)}.rt\:hover\:text-foreground:hover{color:var(--rt-foreground)}.rt\:hover\:underline:hover{text-decoration-line:underline}.rt\:not-aria-disabled\:hover\:bg-muted:not([aria-disabled=true]):hover{background-color:var(--rt-muted)}}.rt\:focus-visible\:shadow-ring-focus:focus-visible{--tw-shadow:inset 0 0 0 1px var(--tw-shadow-color,var(--rt-ring)), 0 0 0 1px var(--tw-shadow-color,var(--rt-input));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.rt\:focus-visible\:focus-ring:focus-visible{outline:var(--rt-focus-ring-width) solid var(--rt-focus-ring);outline-offset:var(--rt-focus-ring-offset)}.rt\:active\:bg-destructive-hover:active{background-color:var(--rt-destructive-hover)}.rt\:active\:bg-muted:active{background-color:var(--rt-muted)}.rt\:active\:bg-primary-hover:active{background-color:var(--rt-primary-hover)}.rt\:active\:bg-primary-tint:active{background-color:var(--rt-primary-tint)}.rt\:active\:underline:active{text-decoration-line:underline}.rt\:disabled\:pointer-events-none:disabled{pointer-events:none}.rt\:disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.rt\:disabled\:opacity-50:disabled,.rt\:has-disabled\:opacity-50:has(:disabled){opacity:.5}.rt\:has-aria-invalid\:shadow-ring-invalid:has([aria-invalid=true]),.rt\:has-aria-invalid\:focus-within\:shadow-ring-invalid:has([aria-invalid=true]):focus-within{--tw-shadow:inset 0 0 0 1px var(--tw-shadow-color,var(--rt-destructive));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.rt\:aria-disabled\:opacity-50[aria-disabled=true]{opacity:.5}.rt\:aria-invalid\:shadow-ring-invalid[aria-invalid=true],.rt\:aria-invalid\:focus-visible\:shadow-ring-invalid[aria-invalid=true]:focus-visible{--tw-shadow:inset 0 0 0 1px var(--tw-shadow-color,var(--rt-destructive));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.rt\:data-highlighted\:bg-accent[data-highlighted]{background-color:var(--rt-accent)}.rt\:data-highlighted\:bg-destructive-hover[data-highlighted]{background-color:var(--rt-destructive-hover)}.rt\:data-highlighted\:bg-muted[data-highlighted]{background-color:var(--rt-muted)}.rt\:data-highlighted\:text-accent-foreground[data-highlighted]{color:var(--rt-accent-foreground)}.rt\:data-highlighted\:text-destructive-foreground[data-highlighted]{color:var(--rt-destructive-foreground)}.rt\:data-indeterminate\:bg-primary[data-indeterminate]{background-color:var(--rt-primary)}.rt\:data-indeterminate\:shadow-none[data-indeterminate]{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}@media (hover:hover){.rt\:data-indeterminate\:hover\:bg-primary-hover[data-indeterminate]:hover{background-color:var(--rt-primary-hover)}}.rt\:aria-invalid\:data-indeterminate\:shadow-ring-invalid[aria-invalid=true][data-indeterminate]{--tw-shadow:inset 0 0 0 1px var(--tw-shadow-color,var(--rt-destructive));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.rt\:data-popup-open\:bg-accent[data-popup-open]{background-color:var(--rt-accent)}.rt\:data-pressed\:border-0[data-pressed]{border-style:var(--tw-border-style);border-width:0}.rt\:data-pressed\:px-2\.75[data-pressed]{padding-inline:calc(var(--rt-spacing) * 2.75)}.rt\:data-pressed\:font-semibold[data-pressed]{--tw-font-weight:var(--rt-font-weight-semibold);font-weight:var(--rt-font-weight-semibold)}.rt\:data-pressed\:text-primary[data-pressed]{color:var(--rt-primary)}.rt\:data-pressed\:shadow-ring-accent-hairline[data-pressed]{--tw-shadow:inset 0 0 0 .5px var(--tw-shadow-color,var(--rt-primary)), 0 0 0 .5px var(--tw-shadow-color,var(--rt-primary));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}@media (min-width:48rem){.rt\:md\:hidden{display:none}.rt\:md\:inline{display:inline}.rt\:md\:h-15{height:calc(var(--rt-spacing) * 15)}.rt\:md\:px-6{padding-inline:calc(var(--rt-spacing) * 6)}}.rt\:data-checked\:bg-primary:where([data-checked]:not([data-checked=false])){background-color:var(--rt-primary)}.rt\:data-checked\:shadow-none:where([data-checked]:not([data-checked=false])){--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}@media (hover:hover){.rt\:data-checked\:hover\:bg-primary-hover:where([data-checked]:not([data-checked=false])):hover{background-color:var(--rt-primary-hover)}}.rt\:aria-invalid\:data-checked\:shadow-ring-invalid[aria-invalid=true]:where([data-checked]:not([data-checked=false])){--tw-shadow:inset 0 0 0 1px var(--tw-shadow-color,var(--rt-destructive));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.rt\:data-selected\:bg-muted:where([data-selected]:not([data-selected=false])){background-color:var(--rt-muted)}.rt\:data-disabled\:pointer-events-none:where([data-disabled]:not([data-disabled=false])){pointer-events:none}.rt\:data-disabled\:cursor-default:where([data-disabled]:not([data-disabled=false])){cursor:default}.rt\:data-disabled\:cursor-not-allowed:where([data-disabled]:not([data-disabled=false])){cursor:not-allowed}.rt\:data-disabled\:opacity-50:where([data-disabled]:not([data-disabled=false])){opacity:.5}.rt\:data-active\:font-semibold:where([data-active]:not([data-active=false])){--tw-font-weight:var(--rt-font-weight-semibold);font-weight:var(--rt-font-weight-semibold)}.rt\:data-active\:text-primary:where([data-active]:not([data-active=false])){color:var(--rt-primary)}.rt\:data-active\:after\:opacity-100:where([data-active]:not([data-active=false])):after{content:var(--tw-content);opacity:1}.rt\:svg\:text-icon svg{color:var(--rt-icon)}@keyframes rt-spin{to{transform:rotate(360deg)}}@keyframes rt-pulse{50%{opacity:.5}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-content{syntax:"*";inherits:false;initial-value:""}
|
|
2
|
+
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-font-weight:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-content:""}}}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(./fonts/inter-latin-ext-400-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(./fonts/inter-latin-400-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(./fonts/inter-latin-ext-500-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(./fonts/inter-latin-500-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(./fonts/inter-latin-ext-600-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(./fonts/inter-latin-600-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--rt-white:#fff;--rt-blue-600:#3f53fe;--rt-blue-700:#2e40e3;--rt-blue-100:#dde0ff;--rt-ink-900:#131927;--rt-ink-800:#1a2c44;--rt-ink-700:#273951;--rt-ink-600:#344054;--rt-ink-550:#3c4f69;--rt-ink-500:#545969;--rt-ink-450:#667691;--rt-ink-800-a60:#1a2c4499;--rt-line-100:#ecf1f6;--rt-line-150:#dde5ee;--rt-line-200:#e5e7ea;--rt-line-250:#e8e8e8;--rt-green-100:#eafcdd;--rt-green-300:#a8f170;--rt-green-800:#217005;--rt-amber-100:#fff3e2;--rt-amber-400:#f7a62d;--rt-amber-600:#e88b00;--rt-typeface:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--rt-page:var(--rt-white);--rt-background:var(--rt-white);--rt-card:var(--rt-white);--rt-card-foreground:var(--rt-ink-800);--rt-popover:var(--rt-white);--rt-popover-foreground:var(--rt-ink-800);--rt-foreground:var(--rt-ink-800);--rt-foreground-strong:var(--rt-ink-900);--rt-foreground-emphasis:var(--rt-ink-600);--rt-foreground-subdued:var(--rt-ink-550);--rt-muted-foreground:var(--rt-ink-450);--rt-icon:var(--rt-ink-500);--rt-tab-inactive:var(--rt-ink-800-a60);--rt-primary:var(--rt-blue-600);--rt-primary-foreground:var(--rt-white);--rt-primary-hover:var(--rt-blue-700);--rt-primary-tint:var(--rt-blue-100);--rt-secondary:transparent;--rt-secondary-foreground:var(--rt-ink-700);--rt-muted:var(--rt-line-100);--rt-accent:var(--rt-line-100);--rt-accent-foreground:var(--rt-ink-900);--rt-border:var(--rt-line-100);--rt-border-strong:var(--rt-line-250);--rt-divider:var(--rt-line-200);--rt-input:var(--rt-line-100);--rt-control:var(--rt-line-150);--rt-ring:var(--rt-blue-600);--rt-success:var(--rt-green-800);--rt-success-tint:var(--rt-green-100);--rt-success-border:var(--rt-green-300);--rt-warning:var(--rt-amber-600);--rt-warning-tint:var(--rt-amber-100);--rt-warning-border:var(--rt-amber-400);--rt-sidebar:var(--rt-white);--rt-sidebar-foreground:var(--rt-ink-800);--rt-sidebar-primary:var(--rt-blue-600);--rt-sidebar-primary-foreground:var(--rt-white);--rt-sidebar-accent:var(--rt-line-100);--rt-sidebar-accent-foreground:var(--rt-ink-800);--rt-sidebar-border:var(--rt-line-100);--rt-sidebar-ring:var(--rt-blue-600);--rt-chart-1:var(--rt-blue-600);--rt-chart-2:var(--rt-ink-800);--rt-chart-3:var(--rt-ink-450);--rt-chart-4:var(--rt-blue-100);--rt-chart-5:var(--rt-line-150);--rt-error:var(--rt-ink-900);--rt-error-icon:var(--rt-ink-900);--rt-destructive:var(--rt-ink-900);--rt-destructive-fill:transparent;--rt-destructive-foreground:var(--rt-ink-700);--rt-destructive-border:var(--rt-line-250);--rt-destructive-hover:var(--rt-blue-100);--rt-alert-critical-foreground:var(--rt-ink-900);--rt-alert-critical-background:transparent;--rt-alert-critical-border:var(--rt-line-250);--rt-status-neutral-foreground:var(--rt-ink-800);--rt-status-neutral-background:transparent;--rt-status-neutral-border:transparent;--rt-chip-background:var(--rt-line-100);--rt-chip-foreground:var(--rt-ink-800);--rt-chip-border:transparent;--rt-focus-ring:var(--rt-blue-600);--rt-focus-ring-width:2px;--rt-focus-ring-offset:2px;--rt-skeleton:var(--rt-line-100);--rt-progress:var(--rt-blue-600);--rt-progress-track:var(--rt-line-100);--rt-progress-height:2px;--rt-loading-animation:none;--rt-spinner-animation:none;--rt-wordmark:"RAT/O";--rt-sidenav-row-h:30px;--rt-sidenav-pad:20px;--rt-sidenav-gap:28px;--rt-sidenav-label-h:26px}[class^=rt\:],[class*=" rt:"],[class^=rt\:]:before,[class*=" rt:"]:before,[class^=rt\:]:after,[class*=" rt:"]:after{box-sizing:border-box;color:inherit;font:inherit;font-family:var(--rt-typeface);letter-spacing:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit;appearance:none;background-color:#0000;border:0 solid;margin:0;padding:0;list-style:none}:root,:host{--rt-spacing:4px;--rt-aspect-video:16 / 9;--rt-default-transition-duration:.12s;--rt-default-transition-timing-function:ease;--rt-font-weight-medium:500;--rt-font-weight-semibold:600;--rt-radius-sm:4px;--rt-radius-md:6px;--rt-radius-lg:8px;--rt-radius-3xl:24px;--rt-container-content:1152px;--rt-text-display:48px;--rt-text-display--line-height:58px;--rt-text-display--font-weight:600;--rt-text-display--letter-spacing:0px;--rt-text-h1:34px;--rt-text-h1--line-height:40px;--rt-text-h1--font-weight:600;--rt-text-h1--letter-spacing:0px;--rt-text-h5:28px;--rt-text-h5--line-height:34px;--rt-text-h5--font-weight:600;--rt-text-h5--letter-spacing:0px;--rt-text-s1:28px;--rt-text-s1--line-height:34px;--rt-text-s1--font-weight:600;--rt-text-s1--letter-spacing:0px;--rt-text-s2:24px;--rt-text-s2--line-height:28px;--rt-text-s2--font-weight:600;--rt-text-s2--letter-spacing:0px;--rt-text-b1:12px;--rt-text-b1--line-height:20px;--rt-text-b1--font-weight:400;--rt-text-b1--letter-spacing:0px;--rt-text-b2:12px;--rt-text-b2--line-height:20px;--rt-text-b2--font-weight:500;--rt-text-b2--letter-spacing:0px;--rt-text-b3:14px;--rt-text-b3--line-height:20px;--rt-text-b3--font-weight:400;--rt-text-b3--letter-spacing:-.15px;--rt-text-b4:14px;--rt-text-b4--line-height:20px;--rt-text-b4--font-weight:600;--rt-text-b4--letter-spacing:-.15px;--rt-text-c1:12px;--rt-text-c1--line-height:16px;--rt-text-c1--font-weight:400;--rt-text-c1--letter-spacing:0px;--rt-text-c2:12px;--rt-text-c2--line-height:16px;--rt-text-c2--font-weight:500;--rt-text-c2--letter-spacing:0px;--rt-text-c3:14px;--rt-text-c3--line-height:16px;--rt-text-c3--font-weight:500;--rt-text-c3--letter-spacing:0px;--rt-text-label:12px;--rt-text-label--line-height:16px;--rt-text-label--font-weight:500;--rt-text-label--letter-spacing:0px;--rt-text-btn:14px;--rt-text-btn--line-height:16px;--rt-text-btn--font-weight:400;--rt-text-btn--letter-spacing:0px;--rt-text-otp:18px;--rt-text-otp--line-height:20px;--rt-text-otp--font-weight:600;--rt-text-otp--letter-spacing:0px;--rt-shadow-ring-subtle:inset 0 0 0 1px var(--rt-input), 0 0 0 1px var(--rt-input);--rt-shadow-ring-focus:inset 0 0 0 1px var(--rt-ring), 0 0 0 1px var(--rt-input);--rt-shadow-ring-strong:inset 0 0 0 1px var(--rt-border-strong);--rt-shadow-ring-hairline:inset 0 0 0 .5px var(--rt-control), 0 0 0 .5px var(--rt-control);--rt-shadow-ring-accent-hairline:inset 0 0 0 .5px var(--rt-primary), 0 0 0 .5px var(--rt-primary);--rt-shadow-ring-destructive:inset 0 0 0 1px var(--rt-destructive-border);--rt-shadow-ring-invalid:inset 0 0 0 1px var(--rt-destructive)}.rt\:pointer-events-auto{pointer-events:auto}.rt\:pointer-events-none{pointer-events:none}.rt\:invisible{visibility:hidden}.rt\:sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.rt\:absolute{position:absolute}.rt\:fixed{position:fixed}.rt\:relative{position:relative}.rt\:inset-0{inset:0}.rt\:inset-x-0{inset-inline:0}.rt\:inset-x-2{inset-inline:calc(var(--rt-spacing) * 2)}.rt\:inset-y-0{inset-block:0}.rt\:top-0{top:0}.rt\:top-1{top:var(--rt-spacing)}.rt\:top-4{top:calc(var(--rt-spacing) * 4)}.rt\:top-5{top:calc(var(--rt-spacing) * 5)}.rt\:right-3{right:calc(var(--rt-spacing) * 3)}.rt\:right-4{right:calc(var(--rt-spacing) * 4)}.rt\:right-5{right:calc(var(--rt-spacing) * 5)}.rt\:bottom-2{bottom:calc(var(--rt-spacing) * 2)}.rt\:bottom-4{bottom:calc(var(--rt-spacing) * 4)}.rt\:left-0{left:0}.rt\:left-1{left:var(--rt-spacing)}.rt\:left-3{left:calc(var(--rt-spacing) * 3)}.rt\:isolate{isolation:isolate}.rt\:z-10{z-index:10}.rt\:z-50{z-index:50}.rt\:order-first{order:-9999}.rt\:order-last{order:9999}.rt\:m-0{margin:0}.rt\:m-auto{margin:auto}.rt\:mx-0\.5{margin-inline:calc(var(--rt-spacing) * .5)}.rt\:mx-auto{margin-inline:auto}.rt\:my-0\.5{margin-block:calc(var(--rt-spacing) * .5)}.rt\:my-1\.5{margin-block:calc(var(--rt-spacing) * 1.5)}.rt\:mt-0\.5{margin-top:calc(var(--rt-spacing) * .5)}.rt\:mt-1{margin-top:var(--rt-spacing)}.rt\:mt-auto{margin-top:auto}.rt\:-mr-px{margin-right:-1px}.rt\:-mb-px{margin-bottom:-1px}.rt\:-ml-1\.5{margin-left:calc(var(--rt-spacing) * -1.5)}.rt\:ml-2{margin-left:calc(var(--rt-spacing) * 2)}.rt\:ml-auto{margin-left:auto}.rt\:block{display:block}.rt\:flex{display:flex}.rt\:grid{display:grid}.rt\:hidden{display:none}.rt\:inline-block{display:inline-block}.rt\:inline-flex{display:inline-flex}.rt\:aspect-square{aspect-ratio:1}.rt\:aspect-video{aspect-ratio:var(--rt-aspect-video)}.rt\:size-1\.5{width:calc(var(--rt-spacing) * 1.5);height:calc(var(--rt-spacing) * 1.5)}.rt\:size-2{width:calc(var(--rt-spacing) * 2);height:calc(var(--rt-spacing) * 2)}.rt\:size-2\.5{width:calc(var(--rt-spacing) * 2.5);height:calc(var(--rt-spacing) * 2.5)}.rt\:size-3\.5{width:calc(var(--rt-spacing) * 3.5);height:calc(var(--rt-spacing) * 3.5)}.rt\:size-4{width:calc(var(--rt-spacing) * 4);height:calc(var(--rt-spacing) * 4)}.rt\:size-5{width:calc(var(--rt-spacing) * 5);height:calc(var(--rt-spacing) * 5)}.rt\:size-6{width:calc(var(--rt-spacing) * 6);height:calc(var(--rt-spacing) * 6)}.rt\:size-7{width:calc(var(--rt-spacing) * 7);height:calc(var(--rt-spacing) * 7)}.rt\:size-8{width:calc(var(--rt-spacing) * 8);height:calc(var(--rt-spacing) * 8)}.rt\:size-9{width:calc(var(--rt-spacing) * 9);height:calc(var(--rt-spacing) * 9)}.rt\:size-10{width:calc(var(--rt-spacing) * 10);height:calc(var(--rt-spacing) * 10)}.rt\:size-11{width:calc(var(--rt-spacing) * 11);height:calc(var(--rt-spacing) * 11)}.rt\:size-24{width:calc(var(--rt-spacing) * 24);height:calc(var(--rt-spacing) * 24)}.rt\:size-full{width:100%;height:100%}.rt\:h-4{height:calc(var(--rt-spacing) * 4)}.rt\:h-4\.5{height:calc(var(--rt-spacing) * 4.5)}.rt\:h-5{height:calc(var(--rt-spacing) * 5)}.rt\:h-7{height:calc(var(--rt-spacing) * 7)}.rt\:h-8{height:calc(var(--rt-spacing) * 8)}.rt\:h-9{height:calc(var(--rt-spacing) * 9)}.rt\:h-11{height:calc(var(--rt-spacing) * 11)}.rt\:h-12{height:calc(var(--rt-spacing) * 12)}.rt\:h-13{height:calc(var(--rt-spacing) * 13)}.rt\:h-24{height:calc(var(--rt-spacing) * 24)}.rt\:h-fit{height:fit-content}.rt\:h-full{height:100%}.rt\:h-progress{height:var(--rt-progress-height)}.rt\:h-px{height:1px}.rt\:h-sidenav-label{height:var(--rt-sidenav-label-h)}.rt\:h-sidenav-row{height:var(--rt-sidenav-row-h)}.rt\:max-h-72{max-height:calc(var(--rt-spacing) * 72)}.rt\:max-h-80{max-height:calc(var(--rt-spacing) * 80)}.rt\:max-h-available{max-height:var(--available-height)}.rt\:max-h-full{max-height:100%}.rt\:min-h-0{min-height:0}.rt\:min-h-9{min-height:calc(var(--rt-spacing) * 9)}.rt\:min-h-11{min-height:calc(var(--rt-spacing) * 11)}.rt\:min-h-16{min-height:calc(var(--rt-spacing) * 16)}.rt\:min-h-22{min-height:calc(var(--rt-spacing) * 22)}.rt\:w-0{width:0}.rt\:w-1{width:var(--rt-spacing)}.rt\:w-2{width:calc(var(--rt-spacing) * 2)}.rt\:w-7{width:calc(var(--rt-spacing) * 7)}.rt\:w-8{width:calc(var(--rt-spacing) * 8)}.rt\:w-14{width:calc(var(--rt-spacing) * 14)}.rt\:w-24{width:calc(var(--rt-spacing) * 24)}.rt\:w-40{width:calc(var(--rt-spacing) * 40)}.rt\:w-60{width:calc(var(--rt-spacing) * 60)}.rt\:w-72{width:calc(var(--rt-spacing) * 72)}.rt\:w-90{width:calc(var(--rt-spacing) * 90)}.rt\:w-120{width:calc(var(--rt-spacing) * 120)}.rt\:w-anchor{width:var(--anchor-width)}.rt\:w-fit{width:fit-content}.rt\:w-full{width:100%}.rt\:w-px{width:1px}.rt\:max-w-40{max-width:calc(var(--rt-spacing) * 40)}.rt\:max-w-64{max-width:calc(var(--rt-spacing) * 64)}.rt\:max-w-72{max-width:calc(var(--rt-spacing) * 72)}.rt\:max-w-available{max-width:var(--available-width)}.rt\:max-w-content{max-width:var(--rt-container-content)}.rt\:max-w-full{max-width:100%}.rt\:min-w-0{min-width:0}.rt\:min-w-5{min-width:calc(var(--rt-spacing) * 5)}.rt\:min-w-16{min-width:calc(var(--rt-spacing) * 16)}.rt\:min-w-26{min-width:calc(var(--rt-spacing) * 26)}.rt\:min-w-32{min-width:calc(var(--rt-spacing) * 32)}.rt\:min-w-40{min-width:calc(var(--rt-spacing) * 40)}.rt\:min-w-anchor{min-width:var(--anchor-width)}.rt\:flex-1{flex:1}.rt\:flex-auto{flex:auto}.rt\:shrink-0{flex-shrink:0}.rt\:caption-bottom{caption-side:bottom}.rt\:border-collapse{border-collapse:collapse}.rt\:rotate-0{rotate:0deg}.rt\:drawer-swipe{transform:translate3d(var(--drawer-swipe-movement-x,0), calc(var(--drawer-snap-point-offset,0px) + var(--drawer-swipe-movement-y,0px)), 0)}.rt\:skeleton{background-color:var(--rt-skeleton);animation:var(--rt-loading-animation)}@media (prefers-reduced-motion:reduce){.rt\:skeleton{animation:none}}.rt\:spinner-motion{animation:var(--rt-spinner-animation)}@media (prefers-reduced-motion:reduce){.rt\:spinner-motion{animation:none}}.rt\:cursor-default{cursor:default}.rt\:cursor-grab{cursor:grab}.rt\:cursor-grabbing{cursor:grabbing}.rt\:cursor-help{cursor:help}.rt\:cursor-pointer{cursor:pointer}.rt\:cursor-text{cursor:text}.rt\:touch-none{touch-action:none}.rt\:resize-y{resize:vertical}.rt\:list-none{list-style-type:none}.rt\:flex-col{flex-direction:column}.rt\:flex-wrap{flex-wrap:wrap}.rt\:items-baseline{align-items:baseline}.rt\:items-center{align-items:center}.rt\:items-end{align-items:flex-end}.rt\:items-start{align-items:flex-start}.rt\:items-stretch{align-items:stretch}.rt\:justify-between{justify-content:space-between}.rt\:justify-center{justify-content:center}.rt\:justify-end{justify-content:flex-end}.rt\:justify-start{justify-content:flex-start}.rt\:gap-0{gap:0}.rt\:gap-0\.5{gap:calc(var(--rt-spacing) * .5)}.rt\:gap-1{gap:var(--rt-spacing)}.rt\:gap-1\.5{gap:calc(var(--rt-spacing) * 1.5)}.rt\:gap-1\.75{gap:calc(var(--rt-spacing) * 1.75)}.rt\:gap-2{gap:calc(var(--rt-spacing) * 2)}.rt\:gap-2\.75{gap:calc(var(--rt-spacing) * 2.75)}.rt\:gap-3{gap:calc(var(--rt-spacing) * 3)}.rt\:gap-3\.5{gap:calc(var(--rt-spacing) * 3.5)}.rt\:gap-4{gap:calc(var(--rt-spacing) * 4)}.rt\:gap-6{gap:calc(var(--rt-spacing) * 6)}.rt\:gap-8{gap:calc(var(--rt-spacing) * 8)}.rt\:gap-20{gap:calc(var(--rt-spacing) * 20)}.rt\:gap-px{gap:1px}.rt\:sidenav-gap{gap:var(--rt-sidenav-gap)}.rt\:gap-x-3{column-gap:calc(var(--rt-spacing) * 3)}.rt\:gap-y-2{row-gap:calc(var(--rt-spacing) * 2)}.rt\:truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rt\:overflow-hidden{overflow:hidden}.rt\:overflow-x-auto{overflow-x:auto}.rt\:overflow-y-auto{overflow-y:auto}.rt\:overscroll-contain{overscroll-behavior:contain}.rt\:rounded-3xl{border-radius:var(--rt-radius-3xl)}.rt\:rounded-lg{border-radius:var(--rt-radius-lg)}.rt\:rounded-md{border-radius:var(--rt-radius-md)}.rt\:rounded-none{border-radius:0}.rt\:rounded-sm{border-radius:var(--rt-radius-sm)}.rt\:rounded-l-md{border-top-left-radius:var(--rt-radius-md);border-bottom-left-radius:var(--rt-radius-md)}.rt\:rounded-r-md{border-top-right-radius:var(--rt-radius-md);border-bottom-right-radius:var(--rt-radius-md)}.rt\:border{border-style:var(--tw-border-style);border-width:1px}.rt\:border-0{border-style:var(--tw-border-style);border-width:0}.rt\:border-2{border-style:var(--tw-border-style);border-width:2px}.rt\:border-y-2{border-block-style:var(--tw-border-style);border-block-width:2px}.rt\:border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.rt\:border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.rt\:border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.rt\:border-dashed{--tw-border-style:dashed;border-style:dashed}.rt\:border-alert-critical-border{border-color:var(--rt-alert-critical-border)}.rt\:border-border{border-color:var(--rt-border)}.rt\:border-border-strong{border-color:var(--rt-border-strong)}.rt\:border-chart-1{border-color:var(--rt-chart-1)}.rt\:border-chart-2{border-color:var(--rt-chart-2)}.rt\:border-chart-3{border-color:var(--rt-chart-3)}.rt\:border-chart-4{border-color:var(--rt-chart-4)}.rt\:border-chart-5{border-color:var(--rt-chart-5)}.rt\:border-chip-border{border-color:var(--rt-chip-border)}.rt\:border-divider{border-color:var(--rt-divider)}.rt\:border-muted-foreground{border-color:var(--rt-muted-foreground)}.rt\:border-primary-tint{border-color:var(--rt-primary-tint)}.rt\:border-progress-track{border-color:var(--rt-progress-track)}.rt\:border-status-neutral-border{border-color:var(--rt-status-neutral-border)}.rt\:border-success-border{border-color:var(--rt-success-border)}.rt\:border-transparent{border-color:#0000}.rt\:border-warning-border{border-color:var(--rt-warning-border)}.rt\:border-t-progress{border-top-color:var(--rt-progress)}.rt\:bg-alert-critical-background{background-color:var(--rt-alert-critical-background)}.rt\:bg-background{background-color:var(--rt-background)}.rt\:bg-border-strong{background-color:var(--rt-border-strong)}.rt\:bg-chart-1{background-color:var(--rt-chart-1)}.rt\:bg-chart-2{background-color:var(--rt-chart-2)}.rt\:bg-chart-3{background-color:var(--rt-chart-3)}.rt\:bg-chart-4{background-color:var(--rt-chart-4)}.rt\:bg-chart-5{background-color:var(--rt-chart-5)}.rt\:bg-chip-background{background-color:var(--rt-chip-background)}.rt\:bg-control{background-color:var(--rt-control)}.rt\:bg-current{background-color:currentColor}.rt\:bg-destructive-fill{background-color:var(--rt-destructive-fill)}.rt\:bg-divider{background-color:var(--rt-divider)}.rt\:bg-foreground{background-color:var(--rt-foreground)}.rt\:bg-muted{background-color:var(--rt-muted)}.rt\:bg-muted-foreground{background-color:var(--rt-muted-foreground)}.rt\:bg-page{background-color:var(--rt-page)}.rt\:bg-popover{background-color:var(--rt-popover)}.rt\:bg-primary{background-color:var(--rt-primary)}.rt\:bg-primary-foreground{background-color:var(--rt-primary-foreground)}.rt\:bg-primary-tint{background-color:var(--rt-primary-tint)}.rt\:bg-progress{background-color:var(--rt-progress)}.rt\:bg-progress-track{background-color:var(--rt-progress-track)}.rt\:bg-secondary{background-color:var(--rt-secondary)}.rt\:bg-sidebar{background-color:var(--rt-sidebar)}.rt\:bg-status-neutral-background{background-color:var(--rt-status-neutral-background)}.rt\:bg-success-tint{background-color:var(--rt-success-tint)}.rt\:bg-transparent{background-color:#0000}.rt\:bg-warning-tint{background-color:var(--rt-warning-tint)}.rt\:recharts .recharts-cartesian-axis-tick text{fill:var(--rt-muted-foreground)}.rt\:recharts .recharts-cartesian-grid line[stroke=\#ccc],.rt\:recharts .recharts-polar-grid [stroke=\#ccc],.rt\:recharts .recharts-reference-line [stroke=\#ccc],.rt\:recharts .recharts-curve.recharts-tooltip-cursor{stroke:var(--rt-border)}.rt\:recharts .recharts-rectangle.recharts-tooltip-cursor,.rt\:recharts .recharts-radial-bar-background-sector{fill:var(--rt-muted)}.rt\:recharts :is(.recharts-surface,.recharts-layer,.recharts-sector){outline:none}.rt\:recharts :is(.recharts-surface,.recharts-layer,.recharts-sector):focus-visible{outline:var(--rt-focus-ring-width) solid var(--rt-focus-ring);outline-offset:var(--rt-focus-ring-offset)}.rt\:object-cover{object-fit:cover}.rt\:p-0{padding:0}.rt\:p-1{padding:var(--rt-spacing)}.rt\:p-2{padding:calc(var(--rt-spacing) * 2)}.rt\:p-3{padding:calc(var(--rt-spacing) * 3)}.rt\:p-6{padding:calc(var(--rt-spacing) * 6)}.rt\:p-px{padding:1px}.rt\:px-1{padding-inline:var(--rt-spacing)}.rt\:px-1\.5{padding-inline:calc(var(--rt-spacing) * 1.5)}.rt\:px-2{padding-inline:calc(var(--rt-spacing) * 2)}.rt\:px-2\.75{padding-inline:calc(var(--rt-spacing) * 2.75)}.rt\:px-3{padding-inline:calc(var(--rt-spacing) * 3)}.rt\:px-3\.5{padding-inline:calc(var(--rt-spacing) * 3.5)}.rt\:px-6{padding-inline:calc(var(--rt-spacing) * 6)}.rt\:px-7{padding-inline:calc(var(--rt-spacing) * 7)}.rt\:sidenav-pad-x{padding-inline:var(--rt-sidenav-pad)}.rt\:py-1{padding-block:var(--rt-spacing)}.rt\:py-1\.5{padding-block:calc(var(--rt-spacing) * 1.5)}.rt\:py-2{padding-block:calc(var(--rt-spacing) * 2)}.rt\:py-2\.75{padding-block:calc(var(--rt-spacing) * 2.75)}.rt\:py-3{padding-block:calc(var(--rt-spacing) * 3)}.rt\:py-6{padding-block:calc(var(--rt-spacing) * 6)}.rt\:pt-2{padding-top:calc(var(--rt-spacing) * 2)}.rt\:pt-3{padding-top:calc(var(--rt-spacing) * 3)}.rt\:sidenav-pad-top{padding-top:var(--rt-sidenav-pad)}.rt\:pr-0\.5{padding-right:calc(var(--rt-spacing) * .5)}.rt\:pr-1\.5{padding-right:calc(var(--rt-spacing) * 1.5)}.rt\:pr-3{padding-right:calc(var(--rt-spacing) * 3)}.rt\:pr-8{padding-right:calc(var(--rt-spacing) * 8)}.rt\:pr-20{padding-right:calc(var(--rt-spacing) * 20)}.rt\:pb-2\.75{padding-bottom:calc(var(--rt-spacing) * 2.75)}.rt\:pb-3{padding-bottom:calc(var(--rt-spacing) * 3)}.rt\:pb-6{padding-bottom:calc(var(--rt-spacing) * 6)}.rt\:sidenav-pad-bottom{padding-bottom:var(--rt-sidenav-pad)}.rt\:pl-2{padding-left:calc(var(--rt-spacing) * 2)}.rt\:pl-2\.75{padding-left:calc(var(--rt-spacing) * 2.75)}.rt\:pl-3{padding-left:calc(var(--rt-spacing) * 3)}.rt\:pl-8{padding-left:calc(var(--rt-spacing) * 8)}.rt\:text-center{text-align:center}.rt\:text-left{text-align:left}.rt\:text-right{text-align:right}.rt\:align-baseline{vertical-align:baseline}.rt\:align-middle{vertical-align:middle}.rt\:font-sans{font-family:var(--rt-typeface)}.rt\:text-b1{font-size:var(--rt-text-b1);line-height:var(--tw-leading,var(--rt-text-b1--line-height));letter-spacing:var(--tw-tracking,var(--rt-text-b1--letter-spacing));font-weight:var(--tw-font-weight,var(--rt-text-b1--font-weight))}.rt\:text-b2{font-size:var(--rt-text-b2);line-height:var(--tw-leading,var(--rt-text-b2--line-height));letter-spacing:var(--tw-tracking,var(--rt-text-b2--letter-spacing));font-weight:var(--tw-font-weight,var(--rt-text-b2--font-weight))}.rt\:text-b3{font-size:var(--rt-text-b3);line-height:var(--tw-leading,var(--rt-text-b3--line-height));letter-spacing:var(--tw-tracking,var(--rt-text-b3--letter-spacing));font-weight:var(--tw-font-weight,var(--rt-text-b3--font-weight))}.rt\:text-b4{font-size:var(--rt-text-b4);line-height:var(--tw-leading,var(--rt-text-b4--line-height));letter-spacing:var(--tw-tracking,var(--rt-text-b4--letter-spacing));font-weight:var(--tw-font-weight,var(--rt-text-b4--font-weight))}.rt\:text-btn{font-size:var(--rt-text-btn);line-height:var(--tw-leading,var(--rt-text-btn--line-height));letter-spacing:var(--tw-tracking,var(--rt-text-btn--letter-spacing));font-weight:var(--tw-font-weight,var(--rt-text-btn--font-weight))}.rt\:text-c1{font-size:var(--rt-text-c1);line-height:var(--tw-leading,var(--rt-text-c1--line-height));letter-spacing:var(--tw-tracking,var(--rt-text-c1--letter-spacing));font-weight:var(--tw-font-weight,var(--rt-text-c1--font-weight))}.rt\:text-c2{font-size:var(--rt-text-c2);line-height:var(--tw-leading,var(--rt-text-c2--line-height));letter-spacing:var(--tw-tracking,var(--rt-text-c2--letter-spacing));font-weight:var(--tw-font-weight,var(--rt-text-c2--font-weight))}.rt\:text-c3{font-size:var(--rt-text-c3);line-height:var(--tw-leading,var(--rt-text-c3--line-height));letter-spacing:var(--tw-tracking,var(--rt-text-c3--letter-spacing));font-weight:var(--tw-font-weight,var(--rt-text-c3--font-weight))}.rt\:text-display{font-size:var(--rt-text-display);line-height:var(--tw-leading,var(--rt-text-display--line-height));letter-spacing:var(--tw-tracking,var(--rt-text-display--letter-spacing));font-weight:var(--tw-font-weight,var(--rt-text-display--font-weight))}.rt\:text-h1{font-size:var(--rt-text-h1);line-height:var(--tw-leading,var(--rt-text-h1--line-height));letter-spacing:var(--tw-tracking,var(--rt-text-h1--letter-spacing));font-weight:var(--tw-font-weight,var(--rt-text-h1--font-weight))}.rt\:text-h5{font-size:var(--rt-text-h5);line-height:var(--tw-leading,var(--rt-text-h5--line-height));letter-spacing:var(--tw-tracking,var(--rt-text-h5--letter-spacing));font-weight:var(--tw-font-weight,var(--rt-text-h5--font-weight))}.rt\:text-label{font-size:var(--rt-text-label);line-height:var(--tw-leading,var(--rt-text-label--line-height));letter-spacing:var(--tw-tracking,var(--rt-text-label--letter-spacing));font-weight:var(--tw-font-weight,var(--rt-text-label--font-weight))}.rt\:text-otp{font-size:var(--rt-text-otp);line-height:var(--tw-leading,var(--rt-text-otp--line-height));letter-spacing:var(--tw-tracking,var(--rt-text-otp--letter-spacing));font-weight:var(--tw-font-weight,var(--rt-text-otp--font-weight))}.rt\:text-s1{font-size:var(--rt-text-s1);line-height:var(--tw-leading,var(--rt-text-s1--line-height));letter-spacing:var(--tw-tracking,var(--rt-text-s1--letter-spacing));font-weight:var(--tw-font-weight,var(--rt-text-s1--font-weight))}.rt\:text-s2{font-size:var(--rt-text-s2);line-height:var(--tw-leading,var(--rt-text-s2--line-height));letter-spacing:var(--tw-tracking,var(--rt-text-s2--letter-spacing));font-weight:var(--tw-font-weight,var(--rt-text-s2--font-weight))}.rt\:font-medium{--tw-font-weight:var(--rt-font-weight-medium);font-weight:var(--rt-font-weight-medium)}.rt\:whitespace-nowrap{white-space:nowrap}.rt\:text-alert-critical-foreground{color:var(--rt-alert-critical-foreground)}.rt\:text-background{color:var(--rt-background)}.rt\:text-chip-foreground{color:var(--rt-chip-foreground)}.rt\:text-destructive-foreground{color:var(--rt-destructive-foreground)}.rt\:text-error{color:var(--rt-error)}.rt\:text-error-icon{color:var(--rt-error-icon)}.rt\:text-foreground{color:var(--rt-foreground)}.rt\:text-foreground-strong{color:var(--rt-foreground-strong)}.rt\:text-foreground-subdued{color:var(--rt-foreground-subdued)}.rt\:text-icon{color:var(--rt-icon)}.rt\:text-inherit{color:inherit}.rt\:text-muted-foreground{color:var(--rt-muted-foreground)}.rt\:text-popover-foreground{color:var(--rt-popover-foreground)}.rt\:text-primary{color:var(--rt-primary)}.rt\:text-primary-foreground{color:var(--rt-primary-foreground)}.rt\:text-secondary-foreground{color:var(--rt-secondary-foreground)}.rt\:text-sidebar-foreground{color:var(--rt-sidebar-foreground)}.rt\:text-status-neutral-foreground{color:var(--rt-status-neutral-foreground)}.rt\:text-success{color:var(--rt-success)}.rt\:text-tab-inactive{color:var(--rt-tab-inactive)}.rt\:text-warning{color:var(--rt-warning)}.rt\:uppercase{text-transform:uppercase}.rt\:tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.rt\:underline{text-decoration-line:underline}.rt\:decoration-dotted{text-decoration-style:dotted}.rt\:decoration-1{text-decoration-thickness:1px}.rt\:underline-offset-4{text-underline-offset:4px}.rt\:opacity-50{opacity:.5}.rt\:shadow-ring-destructive{--tw-shadow:inset 0 0 0 1px var(--tw-shadow-color,var(--rt-destructive-border));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.rt\:shadow-ring-hairline{--tw-shadow:inset 0 0 0 .5px var(--tw-shadow-color,var(--rt-control)), 0 0 0 .5px var(--tw-shadow-color,var(--rt-control));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.rt\:shadow-ring-strong{--tw-shadow:inset 0 0 0 1px var(--tw-shadow-color,var(--rt-border-strong));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.rt\:shadow-ring-subtle{--tw-shadow:inset 0 0 0 1px var(--tw-shadow-color,var(--rt-input)), 0 0 0 1px var(--tw-shadow-color,var(--rt-input));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}@media (forced-colors:active){.rt\:forced-outline{outline:1px solid #0000}.rt\:forced-outline:focus-visible{outline-width:var(--rt-focus-ring-width);outline-offset:var(--rt-focus-ring-offset)}}.rt\:outline-hidden{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.rt\:outline-hidden{outline-offset:2px;outline:2px solid #0000}}.rt\:transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--rt-default-transition-timing-function));transition-duration:var(--tw-duration,var(--rt-default-transition-duration))}.rt\:wordmark:before{content:var(--rt-wordmark)}.rt\:outline-none{--tw-outline-style:none;outline-style:none}.rt\:select-none{-webkit-user-select:none;user-select:none}.rt\:select-text{-webkit-user-select:text;user-select:text}.rt\:not-first\:border-t:not(:first-child){border-top-style:var(--tw-border-style);border-top-width:1px}.rt\:not-last\:border-b:not(:last-child){border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.rt\:not-last\:border-divider:not(:last-child){border-color:var(--rt-divider)}.rt\:not-empty\:p-3:not(:empty){padding:calc(var(--rt-spacing) * 3)}.rt\:not-aria-disabled\:cursor-pointer:not([aria-disabled=true]){cursor:pointer}.rt\:group-first\:rounded-l-md:is(:where(.rt\:group):first-child *){border-top-left-radius:var(--rt-radius-md);border-bottom-left-radius:var(--rt-radius-md)}.rt\:group-last\:rounded-r-md:is(:where(.rt\:group):last-child *){border-top-right-radius:var(--rt-radius-md);border-bottom-right-radius:var(--rt-radius-md)}.rt\:group-aria-expanded\/accordion-trigger\:rotate-180:is(:where(.rt\:group\/accordion-trigger)[aria-expanded=true] *){rotate:180deg}.rt\:group-aria-invalid\/radio-group\:shadow-ring-invalid:is(:where(.rt\:group\/radio-group)[aria-invalid=true] *){--tw-shadow:inset 0 0 0 1px var(--tw-shadow-color,var(--rt-destructive));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.rt\:group-data-empty\/combobox-content\:flex:is(:where(.rt\:group\/combobox-content)[data-empty] *){display:flex}.rt\:group-data-panel-open\:hidden:is(:where(.rt\:group)[data-panel-open] *){display:none}.rt\:group-data-panel-open\:inline:is(:where(.rt\:group)[data-panel-open] *){display:inline}.rt\:group-data-swiping\/drawer-popup\:select-none:is(:where(.rt\:group\/drawer-popup)[data-swiping] *){-webkit-user-select:none;user-select:none}.rt\:group-swipe-up\/drawer-popup\:order-last:is(:where(.rt\:group\/drawer-popup):where([data-swipe-direction=up]) *),.rt\:group-swipe-left\/drawer-popup\:order-last:is(:where(.rt\:group\/drawer-popup):where([data-swipe-direction=left]) *){order:9999}.rt\:group-swipe-x\/drawer-popup\:h-12:is(:where(.rt\:group\/drawer-popup):where([data-swipe-direction=left],[data-swipe-direction=right]) *){height:calc(var(--rt-spacing) * 12)}.rt\:group-swipe-x\/drawer-popup\:w-1:is(:where(.rt\:group\/drawer-popup):where([data-swipe-direction=left],[data-swipe-direction=right]) *){width:var(--rt-spacing)}.rt\:group-swipe-x\/drawer-popup\:w-5:is(:where(.rt\:group\/drawer-popup):where([data-swipe-direction=left],[data-swipe-direction=right]) *){width:calc(var(--rt-spacing) * 5)}.rt\:group-swipe-y\/drawer-popup\:h-1:is(:where(.rt\:group\/drawer-popup):where([data-swipe-direction=up],[data-swipe-direction=down]) *){height:var(--rt-spacing)}.rt\:group-swipe-y\/drawer-popup\:h-5:is(:where(.rt\:group\/drawer-popup):where([data-swipe-direction=up],[data-swipe-direction=down]) *){height:calc(var(--rt-spacing) * 5)}.rt\:group-swipe-y\/drawer-popup\:w-12:is(:where(.rt\:group\/drawer-popup):where([data-swipe-direction=up],[data-swipe-direction=down]) *){width:calc(var(--rt-spacing) * 12)}.rt\:placeholder\:text-muted-foreground::placeholder{color:var(--rt-muted-foreground)}.rt\:after\:absolute:after{content:var(--tw-content);position:absolute}.rt\:after\:-inset-1\.25:after{content:var(--tw-content);inset:calc(var(--rt-spacing) * -1.25)}.rt\:after\:-inset-x-1\.5:after{content:var(--tw-content);inset-inline:calc(var(--rt-spacing) * -1.5)}.rt\:after\:inset-x-0:after{content:var(--tw-content);inset-inline:0}.rt\:after\:-inset-y-1\.5:after{content:var(--tw-content);inset-block:calc(var(--rt-spacing) * -1.5)}.rt\:after\:-bottom-px:after{content:var(--tw-content);bottom:-1px}.rt\:after\:h-0\.5:after{content:var(--tw-content);height:calc(var(--rt-spacing) * .5)}.rt\:after\:bg-primary:after{content:var(--tw-content);background-color:var(--rt-primary)}.rt\:after\:opacity-0:after{content:var(--tw-content);opacity:0}.rt\:first\:rounded-l-md:first-child{border-top-left-radius:var(--rt-radius-md);border-bottom-left-radius:var(--rt-radius-md)}.rt\:last\:rounded-r-md:last-child{border-top-right-radius:var(--rt-radius-md);border-bottom-right-radius:var(--rt-radius-md)}.rt\:last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.rt\:empty\:hidden:empty{display:none}.rt\:focus-within\:shadow-ring-focus:focus-within{--tw-shadow:inset 0 0 0 1px var(--tw-shadow-color,var(--rt-ring)), 0 0 0 1px var(--tw-shadow-color,var(--rt-input));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}@media (hover:hover){.rt\:hover\:bg-destructive-hover:hover{background-color:var(--rt-destructive-hover)}.rt\:hover\:bg-foreground-subdued:hover{background-color:var(--rt-foreground-subdued)}.rt\:hover\:bg-muted:hover{background-color:var(--rt-muted)}.rt\:hover\:bg-primary-hover:hover{background-color:var(--rt-primary-hover)}.rt\:hover\:bg-primary-tint:hover{background-color:var(--rt-primary-tint)}.rt\:hover\:text-foreground:hover{color:var(--rt-foreground)}.rt\:hover\:underline:hover{text-decoration-line:underline}.rt\:not-aria-disabled\:hover\:bg-muted:not([aria-disabled=true]):hover{background-color:var(--rt-muted)}}.rt\:focus-visible\:shadow-ring-focus:focus-visible{--tw-shadow:inset 0 0 0 1px var(--tw-shadow-color,var(--rt-ring)), 0 0 0 1px var(--tw-shadow-color,var(--rt-input));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.rt\:focus-visible\:focus-ring:focus-visible{outline:var(--rt-focus-ring-width) solid var(--rt-focus-ring);outline-offset:var(--rt-focus-ring-offset)}.rt\:active\:cursor-grabbing:active{cursor:grabbing}.rt\:active\:bg-destructive-hover:active{background-color:var(--rt-destructive-hover)}.rt\:active\:bg-muted:active{background-color:var(--rt-muted)}.rt\:active\:bg-primary-hover:active{background-color:var(--rt-primary-hover)}.rt\:active\:bg-primary-tint:active{background-color:var(--rt-primary-tint)}.rt\:active\:underline:active{text-decoration-line:underline}.rt\:disabled\:pointer-events-none:disabled{pointer-events:none}.rt\:disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.rt\:disabled\:opacity-50:disabled,.rt\:has-disabled\:opacity-50:has(:disabled){opacity:.5}.rt\:has-aria-invalid\:shadow-ring-invalid:has([aria-invalid=true]),.rt\:has-aria-invalid\:focus-within\:shadow-ring-invalid:has([aria-invalid=true]):focus-within{--tw-shadow:inset 0 0 0 1px var(--tw-shadow-color,var(--rt-destructive));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.rt\:aria-disabled\:cursor-default[aria-disabled=true]{cursor:default}.rt\:aria-disabled\:opacity-50[aria-disabled=true]{opacity:.5}.rt\:aria-invalid\:shadow-ring-invalid[aria-invalid=true],.rt\:aria-invalid\:focus-visible\:shadow-ring-invalid[aria-invalid=true]:focus-visible{--tw-shadow:inset 0 0 0 1px var(--tw-shadow-color,var(--rt-destructive));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.rt\:data-drag-active\:border-primary[data-drag-active]{border-color:var(--rt-primary)}.rt\:data-drag-active\:bg-primary-tint[data-drag-active]{background-color:var(--rt-primary-tint)}.rt\:data-dragging\:opacity-50[data-dragging]{opacity:.5}.rt\:data-empty\:py-0[data-empty]{padding-block:0}.rt\:data-highlighted\:bg-accent[data-highlighted]{background-color:var(--rt-accent)}.rt\:data-highlighted\:bg-destructive-hover[data-highlighted]{background-color:var(--rt-destructive-hover)}.rt\:data-highlighted\:bg-muted[data-highlighted]{background-color:var(--rt-muted)}.rt\:data-highlighted\:text-accent-foreground[data-highlighted]{color:var(--rt-accent-foreground)}.rt\:data-highlighted\:text-destructive-foreground[data-highlighted]{color:var(--rt-destructive-foreground)}.rt\:data-indeterminate\:w-1\/3[data-indeterminate]{width:33.3333%}.rt\:data-indeterminate\:loading-motion[data-indeterminate]{animation:var(--rt-loading-animation)}@media (prefers-reduced-motion:reduce){.rt\:data-indeterminate\:loading-motion[data-indeterminate]{animation:none}}.rt\:data-indeterminate\:bg-primary[data-indeterminate]{background-color:var(--rt-primary)}.rt\:data-indeterminate\:shadow-none[data-indeterminate]{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}@media (hover:hover){.rt\:data-indeterminate\:hover\:bg-primary-hover[data-indeterminate]:hover{background-color:var(--rt-primary-hover)}}.rt\:aria-invalid\:data-indeterminate\:shadow-ring-invalid[aria-invalid=true][data-indeterminate]{--tw-shadow:inset 0 0 0 1px var(--tw-shadow-color,var(--rt-destructive));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.rt\:data-placeholder\:text-muted-foreground[data-placeholder]{color:var(--rt-muted-foreground)}.rt\:data-popup-open\:bg-accent[data-popup-open]{background-color:var(--rt-accent)}.rt\:data-pressed\:border-0[data-pressed]{border-style:var(--tw-border-style);border-width:0}.rt\:data-pressed\:px-2\.75[data-pressed]{padding-inline:calc(var(--rt-spacing) * 2.75)}.rt\:data-pressed\:font-semibold[data-pressed]{--tw-font-weight:var(--rt-font-weight-semibold);font-weight:var(--rt-font-weight-semibold)}.rt\:data-pressed\:text-primary[data-pressed]{color:var(--rt-primary)}.rt\:data-pressed\:shadow-ring-accent-hairline[data-pressed]{--tw-shadow:inset 0 0 0 .5px var(--tw-shadow-color,var(--rt-primary)), 0 0 0 .5px var(--tw-shadow-color,var(--rt-primary));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}@media (min-width:48rem){.rt\:md\:hidden{display:none}.rt\:md\:inline{display:inline}.rt\:md\:h-15{height:calc(var(--rt-spacing) * 15)}.rt\:md\:flex-row{flex-direction:row}.rt\:md\:px-6{padding-inline:calc(var(--rt-spacing) * 6)}}.rt\:data-checked\:justify-end:where([data-checked]:not([data-checked=false])){justify-content:flex-end}.rt\:data-checked\:bg-primary:where([data-checked]:not([data-checked=false])){background-color:var(--rt-primary)}.rt\:data-checked\:bg-primary-foreground:where([data-checked]:not([data-checked=false])){background-color:var(--rt-primary-foreground)}.rt\:data-checked\:shadow-none:where([data-checked]:not([data-checked=false])){--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}@media (hover:hover){.rt\:data-checked\:hover\:bg-primary-hover:where([data-checked]:not([data-checked=false])):hover{background-color:var(--rt-primary-hover)}}.rt\:aria-invalid\:data-checked\:shadow-ring-invalid[aria-invalid=true]:where([data-checked]:not([data-checked=false])){--tw-shadow:inset 0 0 0 1px var(--tw-shadow-color,var(--rt-destructive));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.rt\:data-selected\:bg-muted:where([data-selected]:not([data-selected=false])){background-color:var(--rt-muted)}.rt\:data-disabled\:pointer-events-none:where([data-disabled]:not([data-disabled=false])){pointer-events:none}.rt\:data-disabled\:cursor-default:where([data-disabled]:not([data-disabled=false])){cursor:default}.rt\:data-disabled\:cursor-not-allowed:where([data-disabled]:not([data-disabled=false])){cursor:not-allowed}.rt\:data-disabled\:opacity-50:where([data-disabled]:not([data-disabled=false])){opacity:.5}.rt\:data-active\:font-semibold:where([data-active]:not([data-active=false])){--tw-font-weight:var(--rt-font-weight-semibold);font-weight:var(--rt-font-weight-semibold)}.rt\:data-active\:text-primary:where([data-active]:not([data-active=false])){color:var(--rt-primary)}.rt\:data-active\:shadow-ring-focus:where([data-active]:not([data-active=false])){--tw-shadow:inset 0 0 0 1px var(--tw-shadow-color,var(--rt-ring)), 0 0 0 1px var(--tw-shadow-color,var(--rt-input));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.rt\:data-active\:after\:opacity-100:where([data-active]:not([data-active=false])):after{content:var(--tw-content);opacity:1}.rt\:aria-invalid\:data-active\:shadow-ring-invalid[aria-invalid=true]:where([data-active]:not([data-active=false])){--tw-shadow:inset 0 0 0 1px var(--tw-shadow-color,var(--rt-destructive));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.rt\:data-horizontal\:h-1\.5:where([data-orientation=horizontal]){height:calc(var(--rt-spacing) * 1.5)}.rt\:data-horizontal\:h-px:where([data-orientation=horizontal]){height:1px}.rt\:data-horizontal\:min-h-px:where([data-orientation=horizontal]){min-height:1px}.rt\:data-horizontal\:w-full:where([data-orientation=horizontal]){width:100%}.rt\:data-horizontal\:flex-col:where([data-orientation=horizontal]){flex-direction:column}.rt\:data-vertical\:h-full:where([data-orientation=vertical]){height:100%}.rt\:data-vertical\:w-1\.5:where([data-orientation=vertical]){width:calc(var(--rt-spacing) * 1.5)}.rt\:data-vertical\:w-px:where([data-orientation=vertical]){width:1px}.rt\:data-vertical\:shrink-0:where([data-orientation=vertical]){flex-shrink:0}.rt\:data-vertical\:self-stretch:where([data-orientation=vertical]){align-self:stretch}.rt\:side-bottom\:inset-x-0:where([data-side=bottom]){inset-inline:0}.rt\:side-bottom\:bottom-0:where([data-side=bottom]){bottom:0}.rt\:side-bottom\:rounded-t-3xl:where([data-side=bottom]){border-top-left-radius:var(--rt-radius-3xl);border-top-right-radius:var(--rt-radius-3xl)}.rt\:side-bottom\:border-x:where([data-side=bottom]){border-inline-style:var(--tw-border-style);border-inline-width:1px}.rt\:side-bottom\:border-t:where([data-side=bottom]){border-top-style:var(--tw-border-style);border-top-width:1px}.rt\:side-left\:inset-y-0:where([data-side=left]){inset-block:0}.rt\:side-left\:left-0:where([data-side=left]){left:0}.rt\:side-left\:w-3\/4:where([data-side=left]){width:75%}.rt\:side-left\:border-r:where([data-side=left]){border-right-style:var(--tw-border-style);border-right-width:1px}@media (min-width:40rem){.rt\:side-left\:sm\:w-96:where([data-side=left]){width:calc(var(--rt-spacing) * 96)}}.rt\:side-right\:inset-y-0:where([data-side=right]){inset-block:0}.rt\:side-right\:right-0:where([data-side=right]){right:0}.rt\:side-right\:w-3\/4:where([data-side=right]){width:75%}.rt\:side-right\:border-l:where([data-side=right]){border-left-style:var(--tw-border-style);border-left-width:1px}@media (min-width:40rem){.rt\:side-right\:sm\:w-96:where([data-side=right]){width:calc(var(--rt-spacing) * 96)}}.rt\:swipe-up\:top-0:where([data-swipe-direction=up]){top:0}.rt\:swipe-up\:rounded-b-3xl:where([data-swipe-direction=up]){border-bottom-right-radius:var(--rt-radius-3xl);border-bottom-left-radius:var(--rt-radius-3xl)}.rt\:swipe-up\:border-x:where([data-swipe-direction=up]){border-inline-style:var(--tw-border-style);border-inline-width:1px}.rt\:swipe-up\:border-b:where([data-swipe-direction=up]){border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.rt\:swipe-down\:bottom-0:where([data-swipe-direction=down]){bottom:0}.rt\:swipe-down\:rounded-t-3xl:where([data-swipe-direction=down]){border-top-left-radius:var(--rt-radius-3xl);border-top-right-radius:var(--rt-radius-3xl)}.rt\:swipe-down\:border-x:where([data-swipe-direction=down]){border-inline-style:var(--tw-border-style);border-inline-width:1px}.rt\:swipe-down\:border-t:where([data-swipe-direction=down]){border-top-style:var(--tw-border-style);border-top-width:1px}.rt\:swipe-left\:left-0:where([data-swipe-direction=left]){left:0}.rt\:swipe-left\:rounded-r-3xl:where([data-swipe-direction=left]){border-top-right-radius:var(--rt-radius-3xl);border-bottom-right-radius:var(--rt-radius-3xl)}.rt\:swipe-left\:border-y:where([data-swipe-direction=left]){border-block-style:var(--tw-border-style);border-block-width:1px}.rt\:swipe-left\:border-r:where([data-swipe-direction=left]){border-right-style:var(--tw-border-style);border-right-width:1px}.rt\:swipe-right\:right-0:where([data-swipe-direction=right]){right:0}.rt\:swipe-right\:rounded-l-3xl:where([data-swipe-direction=right]){border-top-left-radius:var(--rt-radius-3xl);border-bottom-left-radius:var(--rt-radius-3xl)}.rt\:swipe-right\:border-y:where([data-swipe-direction=right]){border-block-style:var(--tw-border-style);border-block-width:1px}.rt\:swipe-right\:border-l:where([data-swipe-direction=right]){border-left-style:var(--tw-border-style);border-left-width:1px}.rt\:swipe-x\:inset-y-0:where([data-swipe-direction=left],[data-swipe-direction=right]){inset-block:0}.rt\:swipe-x\:w-3\/4:where([data-swipe-direction=left],[data-swipe-direction=right]){width:75%}.rt\:swipe-x\:flex-row:where([data-swipe-direction=left],[data-swipe-direction=right]){flex-direction:row}@media (min-width:40rem){.rt\:swipe-x\:sm\:w-96:where([data-swipe-direction=left],[data-swipe-direction=right]){width:calc(var(--rt-spacing) * 96)}}.rt\:swipe-y\:inset-x-0:where([data-swipe-direction=up],[data-swipe-direction=down]){inset-inline:0}.rt\:svg\:text-icon svg{color:var(--rt-icon)}@keyframes rt-spin{to{transform:rotate(360deg)}}@keyframes rt-pulse{50%{opacity:.5}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-content{syntax:"*";inherits:false;initial-value:""}
|