@tundralibs/ui 0.7.0 → 0.8.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/README.md +3 -3
- package/dist/icons.svg +1 -1
- package/dist/ui.css +1 -1
- package/dist/ui.js +9 -9
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -16,8 +16,8 @@ that plug straight into `Application.initialize`.
|
|
|
16
16
|
<!-- x-release-please-start-version -->
|
|
17
17
|
|
|
18
18
|
```html
|
|
19
|
-
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@tundralibs/ui@0.
|
|
20
|
-
<script src="https://cdn.jsdelivr.net/npm/@tundralibs/ui@0.
|
|
19
|
+
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@tundralibs/ui@0.8.0/dist/ui.css">
|
|
20
|
+
<script src="https://cdn.jsdelivr.net/npm/@tundralibs/ui@0.8.0/dist/ui.js" defer></script>
|
|
21
21
|
```
|
|
22
22
|
|
|
23
23
|
<!-- x-release-please-end -->
|
|
@@ -58,7 +58,7 @@ Also browsable on the [wiki](https://github.com/TundraSoft/ui/wiki), synced from
|
|
|
58
58
|
|
|
59
59
|
- [Getting started](docs/UI-Getting-Started.md) — install (CDN, self-host, JSR), a first page, how the bundle is built.
|
|
60
60
|
- [Recipes](docs/UI-Recipes.md) — real pages as rAPId routes and as plain HTML: app shell, sign-in, dashboard, invoices
|
|
61
|
-
with bulk actions, uploads with progress, search, notifications.
|
|
61
|
+
with bulk actions, uploads with progress, search, notifications, an international contact form with flags.
|
|
62
62
|
- [Components](docs/UI-Components.md) — a tour of every component with usage.
|
|
63
63
|
- [Layouts](docs/UI-Layouts.md) — the eight page frames and how they respond.
|
|
64
64
|
- [rAPId integration](docs/UI-Rapid.md) — the shell, swaps, forms, history, the example app.
|
package/dist/icons.svg
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
-
<svg xmlns="http://www.w3.org/2000/svg"><symbol id="icon-dashboard" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="7" height="7" rx="1.5"/><rect x="14" y="3" width="7" height="7" rx="1.5"/><rect x="3" y="14" width="7" height="7" rx="1.5"/><rect x="14" y="14" width="7" height="7" rx="1.5"/></symbol><symbol id="icon-user" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="8" r="4"/><path d="M4 21v-1a8 8 0 0 1 16 0v1"/></symbol><symbol id="icon-users" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="9" cy="8" r="3.2"/><circle cx="17" cy="9" r="2.6"/><path d="M2.5 20c0-3.3 2.9-5 6.5-5s6.5 1.7 6.5 5"/><path d="M15 15.2c2.7.4 4 2 4 4.8"/></symbol><symbol id="icon-invoice" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M6 2h12v20l-3-2-3 2-3-2-3 2V2z"/><line x1="9" y1="7" x2="15" y2="7"/><line x1="9" y1="11" x2="15" y2="11"/></symbol><symbol id="icon-table" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="4" width="18" height="16" rx="2"/><line x1="3" y1="9" x2="21" y2="9"/><line x1="3" y1="15" x2="21" y2="15"/><line x1="9" y1="9" x2="9" y2="21"/></symbol><symbol id="icon-edit" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 20h9"/><path d="M16.5 3.5l4 4L7 21l-4 1 1-4z"/></symbol><symbol id="icon-settings" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="4" y1="6" x2="20" y2="6"/><circle cx="9" cy="6" r="2"/><line x1="4" y1="12" x2="20" y2="12"/><circle cx="15" cy="12" r="2"/><line x1="4" y1="18" x2="20" y2="18"/><circle cx="7" cy="18" r="2"/></symbol><symbol id="icon-folder" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 6a1 1 0 0 1 1-1h5l2 2h9a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V6z"/></symbol><symbol id="icon-chevronRight" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="9 6 15 12 9 18"/></symbol><symbol id="icon-chevronLeft" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="15 6 9 12 15 18"/></symbol><symbol id="icon-chevronsLeft" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="13 6 7 12 13 18"/><polyline points="19 6 13 12 19 18"/></symbol><symbol id="icon-chevronsRight" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="11 6 17 12 11 18"/><polyline points="5 6 11 12 5 18"/></symbol><symbol id="icon-search" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="11" cy="11" r="7"/><line x1="21" y1="21" x2="16.65" y2="16.65"/></symbol><symbol id="icon-bell" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M6 8a6 6 0 0 1 12 0c0 5 2 6 2 6H4s2-1 2-6"/><path d="M10 21a2 2 0 0 0 4 0"/></symbol><symbol id="icon-moon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 12.5A9 9 0 1 1 11.5 3a7 7 0 0 0 9.5 9.5z"/></symbol><symbol id="icon-kebab" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="5" r="1.4"/><circle cx="12" cy="12" r="1.4"/><circle cx="12" cy="19" r="1.4"/></symbol><symbol id="icon-coin" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="8.5"/><path d="M12 8v8M9 10.5c0-1.1 1.3-1.5 3-1.5s3 .5 3 1.5-1.3 1.5-3 1.5-3 .4-3 1.5 1.3 1.5 3 1.5 3-.4 3-1.5"/></symbol><symbol id="icon-trendUp" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="3 17 9 11 13 15 21 6"/><polyline points="15 6 21 6 21 12"/></symbol><symbol id="icon-trendDown" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="3 7 9 13 13 9 21 18"/><polyline points="15 18 21 18 21 12"/></symbol><symbol id="icon-mail" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="5" width="18" height="14" rx="2"/><path d="M3 7l9 6 9-6"/></symbol><symbol id="icon-plug" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M9 3v4M15 3v4M7 7h10l-1 6a5 5 0 0 1-10 0z"/><path d="M12 17v4"/></symbol><symbol id="icon-check" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"/></symbol><symbol id="icon-x" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></symbol><symbol id="icon-chevronDown" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"/></symbol><symbol id="icon-chevronUp" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="18 15 12 9 6 15"/></symbol><symbol id="icon-calendar" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="5" width="18" height="16" rx="2"/><line x1="3" y1="10" x2="21" y2="10"/><line x1="8" y1="3" x2="8" y2="6"/><line x1="16" y1="3" x2="16" y2="6"/></symbol><symbol id="icon-upload" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 15v3a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-3"/><polyline points="8 9 12 5 16 9"/><line x1="12" y1="5" x2="12" y2="15"/></symbol><symbol id="icon-filter" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="4" y1="7" x2="20" y2="7"/><line x1="7" y1="12" x2="17" y2="12"/><line x1="10" y1="17" x2="14" y2="17"/></symbol><symbol id="icon-list" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="4" y1="7" x2="20" y2="7"/><line x1="4" y1="12" x2="20" y2="12"/><line x1="4" y1="17" x2="20" y2="17"/></symbol><symbol id="icon-info" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="9"/><line x1="12" y1="11" x2="12" y2="16"/><line x1="12" y1="7.8" x2="12" y2="7.9"/></symbol><symbol id="icon-warning" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="9"/><line x1="12" y1="8" x2="12" y2="13"/><line x1="12" y1="16.4" x2="12" y2="16.5"/></symbol><symbol id="icon-plus" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="12" y1="5" x2="12" y2="19"/><line x1="5" y1="12" x2="19" y2="12"/></symbol><symbol id="icon-terminal" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="4" width="18" height="16" rx="2"/><polyline points="8 9 11 12 8 15"/></symbol></svg>
|
|
2
|
+
<svg xmlns="http://www.w3.org/2000/svg"><symbol id="icon-dashboard" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="7" height="7" rx="1.5"/><rect x="14" y="3" width="7" height="7" rx="1.5"/><rect x="3" y="14" width="7" height="7" rx="1.5"/><rect x="14" y="14" width="7" height="7" rx="1.5"/></symbol><symbol id="icon-user" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="8" r="4"/><path d="M4 21v-1a8 8 0 0 1 16 0v1"/></symbol><symbol id="icon-users" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="9" cy="8" r="3.2"/><circle cx="17" cy="9" r="2.6"/><path d="M2.5 20c0-3.3 2.9-5 6.5-5s6.5 1.7 6.5 5"/><path d="M15 15.2c2.7.4 4 2 4 4.8"/></symbol><symbol id="icon-invoice" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M6 2h12v20l-3-2-3 2-3-2-3 2V2z"/><line x1="9" y1="7" x2="15" y2="7"/><line x1="9" y1="11" x2="15" y2="11"/></symbol><symbol id="icon-table" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="4" width="18" height="16" rx="2"/><line x1="3" y1="9" x2="21" y2="9"/><line x1="3" y1="15" x2="21" y2="15"/><line x1="9" y1="9" x2="9" y2="21"/></symbol><symbol id="icon-edit" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 20h9"/><path d="M16.5 3.5l4 4L7 21l-4 1 1-4z"/></symbol><symbol id="icon-settings" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="4" y1="6" x2="20" y2="6"/><circle cx="9" cy="6" r="2"/><line x1="4" y1="12" x2="20" y2="12"/><circle cx="15" cy="12" r="2"/><line x1="4" y1="18" x2="20" y2="18"/><circle cx="7" cy="18" r="2"/></symbol><symbol id="icon-folder" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 6a1 1 0 0 1 1-1h5l2 2h9a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V6z"/></symbol><symbol id="icon-chevronRight" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="9 6 15 12 9 18"/></symbol><symbol id="icon-chevronLeft" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="15 6 9 12 15 18"/></symbol><symbol id="icon-chevronsLeft" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="13 6 7 12 13 18"/><polyline points="19 6 13 12 19 18"/></symbol><symbol id="icon-chevronsRight" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="11 6 17 12 11 18"/><polyline points="5 6 11 12 5 18"/></symbol><symbol id="icon-search" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="11" cy="11" r="7"/><line x1="21" y1="21" x2="16.65" y2="16.65"/></symbol><symbol id="icon-bell" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M6 8a6 6 0 0 1 12 0c0 5 2 6 2 6H4s2-1 2-6"/><path d="M10 21a2 2 0 0 0 4 0"/></symbol><symbol id="icon-moon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 12.5A9 9 0 1 1 11.5 3a7 7 0 0 0 9.5 9.5z"/></symbol><symbol id="icon-kebab" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="5" r="1.4"/><circle cx="12" cy="12" r="1.4"/><circle cx="12" cy="19" r="1.4"/></symbol><symbol id="icon-coin" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="8.5"/><path d="M12 8v8M9 10.5c0-1.1 1.3-1.5 3-1.5s3 .5 3 1.5-1.3 1.5-3 1.5-3 .4-3 1.5 1.3 1.5 3 1.5 3-.4 3-1.5"/></symbol><symbol id="icon-trendUp" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="3 17 9 11 13 15 21 6"/><polyline points="15 6 21 6 21 12"/></symbol><symbol id="icon-trendDown" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="3 7 9 13 13 9 21 18"/><polyline points="15 18 21 18 21 12"/></symbol><symbol id="icon-mail" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="5" width="18" height="14" rx="2"/><path d="M3 7l9 6 9-6"/></symbol><symbol id="icon-plug" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M9 3v4M15 3v4M7 7h10l-1 6a5 5 0 0 1-10 0z"/><path d="M12 17v4"/></symbol><symbol id="icon-check" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"/></symbol><symbol id="icon-x" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></symbol><symbol id="icon-chevronDown" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"/></symbol><symbol id="icon-chevronUp" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="18 15 12 9 6 15"/></symbol><symbol id="icon-calendar" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="5" width="18" height="16" rx="2"/><line x1="3" y1="10" x2="21" y2="10"/><line x1="8" y1="3" x2="8" y2="6"/><line x1="16" y1="3" x2="16" y2="6"/></symbol><symbol id="icon-upload" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 15v3a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-3"/><polyline points="8 9 12 5 16 9"/><line x1="12" y1="5" x2="12" y2="15"/></symbol><symbol id="icon-filter" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="4" y1="7" x2="20" y2="7"/><line x1="7" y1="12" x2="17" y2="12"/><line x1="10" y1="17" x2="14" y2="17"/></symbol><symbol id="icon-list" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="4" y1="7" x2="20" y2="7"/><line x1="4" y1="12" x2="20" y2="12"/><line x1="4" y1="17" x2="20" y2="17"/></symbol><symbol id="icon-info" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="9"/><line x1="12" y1="11" x2="12" y2="16"/><line x1="12" y1="7.8" x2="12" y2="7.9"/></symbol><symbol id="icon-warning" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="9"/><line x1="12" y1="8" x2="12" y2="13"/><line x1="12" y1="16.4" x2="12" y2="16.5"/></symbol><symbol id="icon-plus" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="12" y1="5" x2="12" y2="19"/><line x1="5" y1="12" x2="19" y2="12"/></symbol><symbol id="icon-terminal" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="4" width="18" height="16" rx="2"/><polyline points="8 9 11 12 8 15"/></symbol><symbol id="icon-eye" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M2 12a11 11 0 0 1 20 0a11 11 0 0 1-20 0z"/><circle cx="12" cy="12" r="3"/></symbol><symbol id="icon-eyeOff" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M2 12a11 11 0 0 1 20 0a11 11 0 0 1-20 0z"/><circle cx="12" cy="12" r="3"/><line x1="4" y1="4" x2="20" y2="20"/></symbol><symbol id="icon-lock" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="4" y="11" width="16" height="10" rx="2"/><path d="M8 11V7a4 4 0 0 1 8 0v4"/></symbol><symbol id="icon-lockOpen" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="4" y="11" width="16" height="10" rx="2"/><path d="M8 11V7a4 4 0 0 1 7.6-1.7"/></symbol><symbol id="icon-creditCard" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="2" y="5" width="20" height="14" rx="2"/><line x1="2" y1="10" x2="22" y2="10"/><line x1="6" y1="15" x2="10" y2="15"/></symbol><symbol id="icon-globe" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="9"/><line x1="3" y1="12" x2="21" y2="12"/><path d="M12 3a14 14 0 0 1 0 18a14 14 0 0 1 0-18z"/></symbol><symbol id="icon-phone" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M5 3h4l2 5-2.5 1.5a11 11 0 0 0 6 6L16 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 5a2 2 0 0 1 2-2z"/></symbol><symbol id="icon-xCircle" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="9"/><line x1="9" y1="9" x2="15" y2="15"/><line x1="15" y1="9" x2="9" y2="15"/></symbol><symbol id="icon-checkCircle" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="9"/><polyline points="8 12 11 15 16 9"/></symbol><symbol id="icon-chevronCircle" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="9"/><polyline points="8 10.5 12 14.5 16 10.5"/></symbol><symbol id="icon-clock" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="9"/><polyline points="12 7 12 12 15 14"/></symbol><symbol id="icon-trash" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="3" y1="6" x2="21" y2="6"/><polyline points="8 6 8 4 16 4 16 6"/><rect x="5" y="6" width="14" height="15" rx="1"/><line x1="10" y1="10" x2="10" y2="17"/><line x1="14" y1="10" x2="14" y2="17"/></symbol><symbol id="icon-copy" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="12" height="12" rx="2"/><path d="M5 15H4a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v1"/></symbol><symbol id="icon-download" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 15v3a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-3"/><polyline points="8 11 12 15 16 11"/><line x1="12" y1="15" x2="12" y2="5"/></symbol><symbol id="icon-externalLink" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v5a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h5"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></symbol><symbol id="icon-home" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="3 11 12 4 21 11"/><polyline points="5 10 5 20 19 20 19 10"/></symbol><symbol id="icon-logout" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4"/><polyline points="16 17 21 12 16 7"/><line x1="21" y1="12" x2="9" y2="12"/></symbol><symbol id="icon-refresh" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M20 12a8 8 0 1 1-2.3-5.7"/><polyline points="20 3 20 8 15 8"/></symbol><symbol id="icon-star" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polygon points="12 3 14.8 9 21 9.6 16.4 14 17.7 20.4 12 17.2 6.3 20.4 7.6 14 3 9.6 9.2 9"/></symbol><symbol id="icon-minus" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"/></symbol><symbol id="icon-menu" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="4" y1="7" x2="20" y2="7"/><line x1="4" y1="12" x2="20" y2="12"/><line x1="4" y1="17" x2="20" y2="17"/></symbol><symbol id="icon-image" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="4" width="18" height="16" rx="2"/><circle cx="9" cy="9" r="2"/><polyline points="21 16 16 11 6 20"/></symbol><symbol id="icon-file" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M14 3H6a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V8z"/><polyline points="14 3 14 8 19 8"/></symbol><symbol id="icon-send" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="21" y1="3" x2="10" y2="14"/><polygon points="21 3 14 21 10 14 3 10"/></symbol><symbol id="icon-help" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="9"/><path d="M9.5 9.5a2.5 2.5 0 1 1 4 2l-1.5 1.2v1.3"/><line x1="12" y1="17" x2="12" y2="17.1"/></symbol><symbol id="icon-shield" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 3l8 3v6a9 9 0 0 1-8 9a9 9 0 0 1-8-9V6z"/></symbol><symbol id="icon-tag" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 12V4h8l10 10-8 8z"/><circle cx="7" cy="8" r="1.4"/></symbol></svg>
|
package/dist/ui.css
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/*! @tundralibs/ui — MIT — https://github.com/TundraSoft/ui */
|
|
2
|
-
@layer tokens,reset,base,layouts,components;@layer tokens{:root{--color-primary: #1a1917;--color-primary-strong: #000000;--color-primary-contrast: #fdfcfb;--color-accent: #a8521f;--color-accent-strong: #8e4419;--color-accent-contrast: #fffdfb;--color-accent-inverse: #e8a87c;--color-secondary: #6e6a64;--color-secondary-strong: #4a4742;--color-secondary-contrast: #fdfcfb;--color-success: #1f7a4d;--color-success-contrast: #fffdfb;--color-warning: #9a6200;--color-warning-contrast: #fffdfb;--color-danger: #b8342a;--color-danger-contrast: #fffdfb;--color-info: #1f6a84;--color-info-contrast: #fffdfb;--color-success-soft: #e4f2e9;--color-success-soft-text: #14543a;--color-warning-soft: #fbf0da;--color-warning-soft-text: #6e4600;--color-danger-soft: #fae7e4;--color-danger-soft-text: #7d2620;--color-info-soft: #e2eff4;--color-info-soft-text: #114a5e;--color-canvas: #faf9f7;--color-surface: #ffffff;--color-surface-alt: #faf9f7;--color-surface-sunken: #f4f2ef;--color-surface-inverse: #1a1917;--color-overlay: rgb(26 25 23 / .45);--color-border-subtle: #f0ede9;--color-border: #e6e3df;--color-border-strong: #d3cfc9;--color-border-control: #8a8580;--color-media-scrim: rgb(0 0 0 / .6);--color-on-media: #ffffff;--color-text: #1a1917;--color-text-muted: #6e6a64;--color-text-subtle: #77726b;--color-text-inverse: #fdfcfb;--color-disabled: #f4f2ef;--color-disabled-text: #6e6a64;--space-0: 0;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-8: 3rem;--space-10: 4rem;--space-12: 5rem;--space-16: 6rem;--radius-sm: 5px;--radius-md: 9px;--radius-lg: 14px;--radius-full: 9999px;--shadow-color: 26 25 23;--shadow-sm: 0 1px 2px rgb(var(--shadow-color) / .05);--shadow-md: 0 1px 2px rgb(var(--shadow-color) / .04), 0 6px 16px -4px rgb(var(--shadow-color) / .1);--shadow-lg: 0 2px 4px rgb(var(--shadow-color) / .04), 0 16px 32px -8px rgb(var(--shadow-color) / .14);--shadow-xl: 0 4px 8px rgb(var(--shadow-color) / .05), 0 28px 64px -12px rgb(var(--shadow-color) / .22);--shadow-inset-top: inset 0 1px 0 rgb(255 255 255 / .12);--font-family-base: "Instrument Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--font-family-display: var(--font-family-base);--font-family-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--font-size-2xs: .6875rem;--font-size-xs: .75rem;--font-size-sm: .8125rem;--font-size-base: .9375rem;--font-size-lg: 1.0625rem;--font-size-xl: 1.1875rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.5rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--letter-spacing-tight: -.015em;--letter-spacing-tighter: -.025em;--letter-spacing-caps: .07em;--line-height-tight: 1.25;--line-height-base: 1.5;--line-height-relaxed: 1.75;--border-width: 1px;--border-width-thick: 2px;--control-height-sm: 30px;--control-height-md: 36px;--control-height-lg: 44px;--ring-color: var(--color-accent, var(--color-primary));--ring-width: 2px;--ring-offset: 2px;--focus-ring-color: var(--ring-color);--focus-ring-width: var(--ring-width);--focus-ring-offset: var(--ring-offset);--container-max-width: 1200px;--scroll-padding-top: 4.5rem;--layout-max-width: 1400px;--layout-measure: 70ch;--layout-focus-width: 40rem;--layout-sidebar-width: 16rem;--layout-rail-width: 4.5rem;--layout-aside-width: 18rem;--layout-pane-width: 22rem;--layout-gutter: clamp(var(--space-4), 3vw, var(--space-8));--transition-fast: .12s ease;--transition-base: .2s ease;--transition-slow: .32s ease;--z-dropdown: 1000;--z-sticky: 1020;--z-overlay: 1030;--z-modal: 1040;--z-popover: 1050;--z-toast: 1060}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--color-primary: #f2efe9;--color-primary-strong: #ffffff;--color-primary-contrast: #14130f;--color-accent: #e8a87c;--color-accent-strong: #f0bd9b;--color-accent-contrast: #1c1b17;--color-accent-inverse: #a8521f;--color-secondary: #8b857c;--color-secondary-strong: #a9a29a;--color-secondary-contrast: #14130f;--color-border-control: #6b665f;--color-canvas: #14130f;--color-surface: #1c1b17;--color-surface-alt: #232118;--color-surface-sunken: #232118;--color-surface-inverse: #f2efe9;--color-overlay: rgb(0 0 0 / .6);--color-border-subtle: #232118;--color-border: #2a2823;--color-border-strong: #3a3730;--color-text: #f2efe9;--color-text-muted: #a9a29a;--color-text-subtle: #969088;--color-text-inverse: #14130f;--color-disabled: #232118;--color-disabled-text: #969088;--color-success: #4eae76;--color-success-contrast: #1c1b17;--color-warning: #c99a3e;--color-warning-contrast: #1c1b17;--color-danger: #d1655a;--color-danger-contrast: #1c1b17;--color-info: #5aa2c4;--color-info-contrast: #1c1b17;--color-success-soft: #16321f;--color-success-soft-text: #8fd4a8;--color-warning-soft: #33260d;--color-warning-soft-text: #e5bf78;--color-danger-soft: #351a16;--color-danger-soft-text: #f0a49b;--color-info-soft: #122a33;--color-info-soft-text: #8fc6d8;--shadow-color: 0 0 0;--shadow-inset-top: inset 0 1px 0 rgb(255 255 255 / .06)}}:root[data-theme=dark]{--color-primary: #f2efe9;--color-primary-strong: #ffffff;--color-primary-contrast: #14130f;--color-accent: #e8a87c;--color-accent-strong: #f0bd9b;--color-accent-contrast: #1c1b17;--color-accent-inverse: #a8521f;--color-secondary: #8b857c;--color-secondary-strong: #a9a29a;--color-secondary-contrast: #14130f;--color-border-control: #6b665f;--color-canvas: #14130f;--color-surface: #1c1b17;--color-surface-alt: #232118;--color-surface-sunken: #232118;--color-surface-inverse: #f2efe9;--color-overlay: rgb(0 0 0 / .6);--color-border-subtle: #232118;--color-border: #2a2823;--color-border-strong: #3a3730;--color-text: #f2efe9;--color-text-muted: #a9a29a;--color-text-subtle: #969088;--color-text-inverse: #14130f;--color-disabled: #232118;--color-disabled-text: #969088;--color-success: #4eae76;--color-success-contrast: #1c1b17;--color-warning: #c99a3e;--color-warning-contrast: #1c1b17;--color-danger: #d1655a;--color-danger-contrast: #1c1b17;--color-info: #5aa2c4;--color-info-contrast: #1c1b17;--color-success-soft: #16321f;--color-success-soft-text: #8fd4a8;--color-warning-soft: #33260d;--color-warning-soft-text: #e5bf78;--color-danger-soft: #351a16;--color-danger-soft-text: #f0a49b;--color-info-soft: #122a33;--color-info-soft-text: #8fc6d8;--shadow-color: 0 0 0;--shadow-inset-top: inset 0 1px 0 rgb(255 255 255 / .06)}}@layer reset{*,*:before,*:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;font-family:var(--font-family-base);line-height:var(--line-height-base);scroll-padding-top:var(--scroll-padding-top)}html:focus-within{scroll-behavior:smooth}body{min-height:100vh;font-size:var(--font-size-base);color:var(--color-text);background:var(--color-canvas)}ul[class],ol[class]{list-style:none;padding:0}img,picture,svg,video{display:block;max-width:100%}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:none;border:none}a{color:inherit;text-decoration:none}table{border-collapse:collapse}fieldset{border:none;padding:0;margin:0;min-width:0}legend{padding:0}hr{border:none;border-top:var(--border-width) solid var(--color-border)}dialog{border:none;padding:0;background:none;color:inherit;max-width:min(100%,calc(100vw - 2 * var(--space-4)));max-height:min(100%,calc(100vh - 2 * var(--space-4)));margin:auto}dialog::backdrop{background:var(--color-overlay)}[hidden]{display:none!important}:disabled,[aria-disabled=true]{cursor:not-allowed}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.spinner,.btn--loading:after{animation-duration:1.5s!important;animation-iteration-count:infinite!important}}}@layer base{.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.container{width:100%;max-width:var(--container-max-width);margin-inline:auto;padding-inline:var(--space-4)}.skip-link{position:absolute;top:-3rem;left:0;z-index:var(--z-toast);background:var(--color-primary);color:var(--color-primary-contrast);padding:var(--space-2) var(--space-4);border-radius:0 0 var(--radius-sm) 0;transition:top var(--transition-fast)}.skip-link:focus{top:0}.js-only{display:none}.js .js-only{display:inline-flex}.mt-1{margin-top:var(--space-1)}.mt-2{margin-top:var(--space-2)}.mt-3{margin-top:var(--space-3)}.mt-4{margin-top:var(--space-4)}@media screen and (max-width:575px){.hide-sm{display:none!important}}.stack{display:flex;flex-direction:column;gap:var(--space-4)}.stack--sm{gap:var(--space-3)}.stack--lg{gap:var(--space-6)}}@layer base{h1,h2,h3,h4,h5,h6{font-family:var(--font-family-display);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-tight);color:var(--color-text);text-wrap:pretty}h1{font-size:var(--font-size-4xl);letter-spacing:var(--letter-spacing-tighter);line-height:1.05}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}h5{font-size:var(--font-size-lg)}h6{font-size:var(--font-size-base)}:where(h1,h2,h3,h4,h5,h6,p,ul,ol,blockquote,pre,table,hr):not([class]){margin-block:0 var(--space-3)}:where(h1,h2,h3,h4):not([class]){margin-block:var(--space-6) var(--space-3)}:where(h1):not([class]){margin-block-end:var(--space-4)}:where(h1,h2,h3,h4,h5,h6,p,ul,ol,blockquote,pre,table,hr):not([class]):first-child{margin-block-start:0}:where(h1,h2,h3,h4,h5,h6,p,ul,ol,blockquote,pre,table,hr):not([class]):last-child{margin-block-end:0}small,.text-sm{font-size:var(--font-size-sm)}.text-xs{font-size:var(--font-size-xs)}.text-2xs{font-size:var(--font-size-2xs)}.text-muted{color:var(--color-text-muted)}.text-subtle{color:var(--color-text-subtle)}.text-mono{font-family:var(--font-family-mono)}.text-caps{font-family:var(--font-family-mono);font-size:var(--font-size-2xs);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-caps);text-transform:uppercase;color:var(--color-text-subtle)}.text-nums{font-variant-numeric:tabular-nums}a:not([class]){color:var(--color-accent, var(--color-primary));text-decoration:underline;text-underline-offset:.2em}a:not([class]):hover{color:var(--color-accent-strong, var(--color-primary-strong))}a:not([class]):focus-visible{outline:var(--ring-width) solid var(--ring-color);outline-offset:var(--ring-offset)}.link{color:var(--color-accent, var(--color-primary));text-decoration:none;cursor:pointer}.link:hover{text-decoration:underline;text-underline-offset:.2em}.link:focus-visible{outline:var(--ring-width) solid var(--ring-color);outline-offset:var(--ring-offset)}.text-medium{font-weight:var(--font-weight-medium)}.text-semibold{font-weight:var(--font-weight-semibold)}.text-bold{font-weight:var(--font-weight-bold)}}@layer layouts{.layout{display:flex;flex-direction:column;min-height:100vh;background:var(--color-canvas)}.layout__header{position:sticky;top:0;z-index:var(--z-sticky);display:flex;align-items:center;background:var(--color-surface)}.layout__header>.navbar{flex:1 1 auto;min-width:0;position:static}.layout--static-header .layout__header{position:static}.layout__body{display:flex;flex:1 1 auto;min-height:0}.layout__content{flex:1 1 auto;min-width:0;padding:var(--layout-gutter)}.layout__footer{padding:var(--space-6) var(--layout-gutter);border-top:var(--border-width) solid var(--color-border);color:var(--color-text-muted);font-size:var(--font-size-sm)}.layout--boxed .layout__content,.layout--boxed .layout__footer{width:100%;max-width:var(--layout-max-width);margin-inline:auto}.layout__backdrop{display:none}@media screen and (max-width:991px){.js .sidebar.is-open~.layout__backdrop{display:block;position:fixed;inset:0;z-index:calc(var(--z-overlay) - 1);background:var(--color-overlay)}}.layout__drawer-toggle{margin-inline-start:var(--space-3)}}@layer layouts{.layout--stacked .layout__content{display:flex;flex-direction:column;gap:var(--space-6)}@media screen and (min-width:1400px){.layout--stacked:not(.layout--boxed) .layout__content{padding-inline:max(var(--layout-gutter),calc((100% - var(--layout-max-width)) / 2))}}}@layer layouts{.layout--sidebar .layout__body>.sidebar{width:var(--layout-sidebar-width)}.layout--sidebar-end .layout__body{flex-direction:row-reverse}.layout__aside{flex:0 0 var(--layout-aside-width);padding:var(--layout-gutter);padding-inline-start:0}@media screen and (max-width:1199px){.layout--sidebar .layout__body{flex-wrap:wrap}.layout__aside{flex:1 1 100%;padding-inline-start:var(--layout-gutter);padding-top:0}}@media screen and (min-width:992px){.layout--sidebar .layout__body>.sidebar{position:sticky;top:var(--scroll-padding-top);align-self:flex-start;height:calc(100vh - var(--scroll-padding-top))}.layout--static-header .layout__body>.sidebar{top:0;height:100vh}}}@layer layouts{.layout--rail .layout__body{flex-direction:row}.layout__rail{flex:0 0 var(--layout-rail-width);position:sticky;top:0;align-self:flex-start;height:100vh;display:flex;flex-direction:column;align-items:center;gap:var(--space-1);padding-block:var(--space-3);background:var(--color-surface);border-inline-end:var(--border-width) solid var(--color-border)}.layout--rail .layout__header~.layout__body .layout__rail{top:var(--scroll-padding-top);height:calc(100vh - var(--scroll-padding-top))}.layout__rail-brand{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;margin-bottom:var(--space-2);border-radius:var(--radius-md);background:var(--color-primary);color:var(--color-primary-contrast);font-weight:var(--font-weight-bold)}.layout__rail-link{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-md);color:var(--color-text-subtle)}.layout__rail-link:hover{color:var(--color-text);background:var(--color-surface-sunken)}.layout__rail-link[aria-current=page]{background:var(--color-surface-sunken);color:var(--color-primary)}.layout__rail-link:focus-visible{outline:var(--ring-width) solid var(--ring-color);outline-offset:var(--ring-offset)}.layout__rail-end{margin-top:auto}@media screen and (max-width:767px){.layout--rail .layout__body{flex-direction:column}.layout__rail{position:fixed;inset-inline:0;bottom:0;top:auto;height:auto;flex-direction:row;justify-content:space-around;padding:var(--space-2) var(--space-3);border-inline-end:none;border-top:var(--border-width) solid var(--color-border);z-index:var(--z-sticky)}.layout__rail-brand,.layout__rail-end{display:none}.layout__rail-link{width:44px;height:44px}.layout--rail .layout__content{padding-bottom:calc(var(--layout-gutter) + 60px)}}}@layer layouts{.layout--split .layout__body{flex-direction:row}.layout__pane{flex:0 0 var(--layout-pane-width);min-width:0;border-inline-end:var(--border-width) solid var(--color-border);background:var(--color-surface);overflow-y:auto}.layout--split .layout__content{flex:1 1 auto;overflow-y:auto}@media screen and (min-width:768px){.layout--split .layout__body{height:calc(100vh - var(--scroll-padding-top));position:sticky;top:var(--scroll-padding-top)}.layout--split.layout--static-header .layout__body,.layout--split:not(:has(.layout__header)) .layout__body{height:100vh;top:0}}@media screen and (min-width:768px)and (max-width:991px){.layout__pane{flex-basis:min(var(--layout-pane-width),40%)}}@media screen and (max-width:767px){.layout__pane{flex:1 1 100%;border-inline-end:none}.layout--split .layout__content,.layout--show-detail .layout__pane{display:none}.layout--show-detail .layout__content{display:block}}}@layer layouts{.layout--article .layout__content{display:grid;grid-template-columns:minmax(0,var(--layout-measure));justify-content:center;gap:var(--space-8)}.layout--article-wide .layout__content{grid-template-columns:minmax(0,var(--layout-max-width))}.layout__article{min-width:0}.layout--article .layout__aside{flex:none;padding:0}@media screen and (min-width:992px){.layout--article.layout--has-aside .layout__content{grid-template-columns:minmax(0,var(--layout-measure)) var(--layout-aside-width)}.layout--article-wide.layout--has-aside .layout__content{grid-template-columns:minmax(0,1fr) var(--layout-aside-width);max-width:var(--layout-max-width);margin-inline:auto}.layout--aside-start .layout__content{direction:rtl}.layout--aside-start .layout__content>*{direction:ltr}.layout--article .layout__aside{position:sticky;top:calc(var(--scroll-padding-top) + var(--space-4));align-self:start}}.layout--article .layout__footer{text-align:center}}@layer layouts{.layout--docs .layout__body>.sidebar{width:var(--layout-sidebar-width)}.layout--docs .layout__content{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-6);max-width:calc(var(--layout-measure) + var(--layout-aside-width) + var(--space-8))}.layout__toc-toggle{display:inline-flex;align-items:center;gap:var(--space-2);min-height:var(--control-height-md);padding-inline:var(--space-3);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer}.layout__toc-toggle:focus-visible{outline:var(--ring-width) solid var(--ring-color);outline-offset:var(--ring-offset)}.layout__toc-title{font-family:var(--font-family-mono);font-size:var(--font-size-2xs);letter-spacing:var(--letter-spacing-caps);text-transform:uppercase;color:var(--color-text-subtle);margin-bottom:var(--space-2)}@media screen and (max-width:1199px){.layout__toc{order:-1}.js .layout__toc-body{display:none;padding:var(--space-3) 0 0}.js .layout__toc-body.is-open{display:block}.layout__toc-title{display:none}}@media screen and (min-width:992px){.layout--docs .layout__body>.sidebar{position:sticky;top:var(--scroll-padding-top);align-self:flex-start;height:calc(100vh - var(--scroll-padding-top))}}@media screen and (min-width:1200px){.layout--docs .layout__content{grid-template-columns:minmax(0,var(--layout-measure)) var(--layout-aside-width)}.layout__toc{position:sticky;top:calc(var(--scroll-padding-top) + var(--space-4));align-self:start}.layout__toc-toggle{display:none}}}@layer layouts{.layout--auth{display:flex;align-items:center;justify-content:center;padding:var(--layout-gutter)}.layout__auth-panel{width:100%;max-width:24rem}.layout__auth-brand{display:flex;align-items:center;justify-content:center;gap:var(--space-2);margin-bottom:var(--space-6);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.layout__auth-narrative{display:none}@media screen and (min-width:992px){.layout--auth-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;padding:0}.layout--auth-split .layout__auth-narrative{display:flex;flex-direction:column;justify-content:center;gap:var(--space-6);padding:var(--space-10) var(--space-8);background:var(--color-surface-inverse);color:var(--color-text-inverse)}.layout--auth-split .layout__auth-form{display:flex;align-items:center;justify-content:center;padding:var(--space-10) var(--space-8)}}@media screen and (min-width:1400px){.layout--auth-split .layout__auth-narrative>*{max-width:32rem;margin-inline:auto;width:100%}}}@layer layouts{.layout--focus .layout__header{justify-content:center;padding:var(--space-4) var(--layout-gutter);background:transparent}.layout--focus .layout__content{width:100%;max-width:var(--layout-focus-width);margin-inline:auto;padding-block:var(--space-8)}.layout--focus-wide .layout__content{max-width:var(--layout-measure)}.layout--focus .layout__footer{border-top:none;text-align:center}}@layer components{.card{position:relative;display:flex;flex-direction:column;background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md)}.card--elevated{border-color:transparent;box-shadow:var(--shadow-md)}.card--flat{border-color:transparent;background:var(--color-surface-alt)}.card--horizontal{flex-direction:row}.card--horizontal>.card__media{flex:0 0 35%;aspect-ratio:auto;align-self:stretch}.card--horizontal>.card__content{min-width:0}.card--clickable{cursor:pointer;text-align:inherit;transition:box-shadow var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast)}.card--clickable:hover,.card--clickable:focus-within{box-shadow:var(--shadow-md);transform:translateY(-2px)}.card--clickable:focus-visible{outline:var(--ring-width) solid var(--ring-color);outline-offset:var(--ring-offset)}.card--selected{border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary)}.card__content{display:flex;flex-direction:column;flex:1 1 auto;min-width:0}.card__media{position:relative;overflow:hidden;aspect-ratio:16 / 9;background:var(--color-surface-alt)}.card__media>img,.card__media>video,.card__media>svg{display:block;width:100%;height:100%;object-fit:cover}.card__media:first-child{border-start-start-radius:inherit;border-start-end-radius:inherit}.card--horizontal>.card__media:first-child{border-start-end-radius:0;border-end-start-radius:inherit}.card__media--square{aspect-ratio:1 / 1}.card__media--tall{aspect-ratio:3 / 4}.card__media--banner{aspect-ratio:21 / 9}.card__media-overlay{position:absolute;inset:0;display:flex;align-items:flex-end;padding:var(--space-4);background:linear-gradient(to top,var(--color-media-scrim),transparent);color:var(--color-on-media)}.card__header{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);border-bottom:var(--border-width) solid var(--color-border)}.card__avatar{flex:0 0 auto;width:2.5rem;height:2.5rem;border-radius:var(--radius-full);overflow:hidden}.card__avatar>img{width:100%;height:100%;object-fit:cover}.card__heading{flex:1 1 auto;min-width:0}.card__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight)}.card__title-link{color:inherit;text-decoration:none}.card__title-link:after{content:"";position:absolute;inset:0;z-index:1}.card__title-link:hover,.card__title-link:focus-visible{text-decoration:underline}.card__stretch-link{position:absolute;inset:0;z-index:1}.card__subtitle{font-size:var(--font-size-sm);color:var(--color-text-muted)}.card__actions{position:relative;z-index:2;display:flex;align-items:center;gap:var(--space-2);margin-inline-start:auto}.card__body{padding:var(--space-4);flex:1 1 auto;color:var(--color-text);font-size:var(--font-size-base)}.card__body>:not(:last-child){margin-bottom:var(--space-3)}.card__footer{position:relative;z-index:2;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-4);border-top:var(--border-width) solid var(--color-border);justify-content:flex-end}.card__footer--split{justify-content:space-between}.card__meta{font-size:var(--font-size-sm);color:var(--color-text-muted)}.card--danger{border-color:var(--color-danger-soft-text)}}@layer components{.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:var(--control-height-md);padding-inline:var(--space-4);border:var(--border-width) solid var(--color-primary);border-radius:var(--radius-md);font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:1;white-space:nowrap;flex-shrink:0;background:var(--color-primary);color:var(--color-primary-contrast);box-shadow:var(--shadow-inset-top),var(--shadow-sm);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast)}.btn:hover{background:var(--color-primary-strong);border-color:var(--color-primary-strong)}.btn:focus-visible{outline:var(--ring-width) solid var(--ring-color);outline-offset:var(--ring-offset)}.btn:disabled,.btn[aria-disabled=true]{background:var(--color-disabled);border-color:transparent;color:var(--color-disabled-text);box-shadow:none;cursor:not-allowed}.btn--secondary{background:var(--color-secondary);border-color:var(--color-secondary);color:var(--color-secondary-contrast)}.btn--secondary:hover{background:var(--color-secondary-strong, var(--color-secondary));border-color:var(--color-secondary-strong, var(--color-secondary))}.btn--outline{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text);box-shadow:var(--shadow-sm)}.btn--outline:hover{background:var(--color-surface-alt);border-color:var(--color-border-strong)}.btn--subtle{background:var(--color-surface-sunken);border-color:transparent;color:var(--color-text);box-shadow:none}.btn--subtle:hover{background:var(--color-border);border-color:transparent}.btn--ghost{background:transparent;border-color:transparent;color:var(--color-text-muted);box-shadow:none}.btn--ghost:hover{background:var(--color-surface-sunken);border-color:transparent;color:var(--color-text)}.btn--accent{background:var(--color-accent, var(--color-primary));border-color:var(--color-accent, var(--color-primary));color:var(--color-accent-contrast, var(--color-primary-contrast))}.btn--accent:hover{background:var(--color-accent-strong, var(--color-primary-strong));border-color:var(--color-accent-strong, var(--color-primary-strong))}.btn--danger{background:var(--color-danger);border-color:var(--color-danger);color:var(--color-danger-contrast)}.btn--danger:hover{filter:brightness(.92)}.btn--sm{height:var(--control-height-sm);padding-inline:var(--space-3);border-radius:var(--radius-sm);font-size:var(--font-size-sm)}.btn--lg{height:var(--control-height-lg);padding-inline:var(--space-5);font-size:var(--font-size-base)}.btn--icon{width:var(--control-height-md);padding-inline:0}.btn--sm.btn--icon{width:var(--control-height-sm)}.btn--lg.btn--icon{width:var(--control-height-lg)}.btn--block{display:flex;width:100%}.btn--loading{position:relative;color:transparent;pointer-events:none}.btn--loading:after{content:"";position:absolute;width:1em;height:1em;border:var(--border-width-thick) solid var(--btn-loading-color, var(--color-primary-contrast));border-inline-end-color:transparent;border-radius:var(--radius-full);animation:btn-spin .6s linear infinite}.btn--outline,.btn--subtle,.btn--ghost{--btn-loading-color: var(--color-text)}.btn--secondary{--btn-loading-color: var(--color-secondary-contrast)}.btn--accent{--btn-loading-color: var(--color-accent-contrast)}.btn--danger{--btn-loading-color: var(--color-danger-contrast)}.btn-group{display:inline-flex;border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.btn-group>.btn{box-shadow:none;border-radius:0}.btn-group>.btn:first-child{border-start-start-radius:var(--radius-md);border-end-start-radius:var(--radius-md)}.btn-group>.btn:last-child{border-start-end-radius:var(--radius-md);border-end-end-radius:var(--radius-md)}.btn-group>.btn+.btn{margin-inline-start:calc(var(--border-width) * -1)}.btn-group>.btn:focus-visible,.btn-group>.dropdown>.btn:focus-visible{position:relative;z-index:1}.btn-group>.dropdown>.btn{box-shadow:none;border-radius:0}.btn-group>.dropdown:last-child>.btn{border-start-end-radius:var(--radius-md);border-end-end-radius:var(--radius-md)}.btn-group>.btn+.dropdown{margin-inline-start:calc(var(--border-width) * -1)}@keyframes btn-spin{to{transform:rotate(360deg)}}}@layer components{.switch{display:inline-flex;align-items:flex-start;gap:var(--space-3);cursor:pointer}.switch__input{position:absolute;opacity:0;width:1px;height:1px}.switch__track{position:relative;flex:0 0 auto;width:38px;height:22px;margin-top:1px;background:var(--color-border-strong);border-radius:var(--radius-full);box-shadow:inset 0 1px 2px rgb(var(--shadow-color) / .18);transition:background var(--transition-fast)}.switch__thumb{position:absolute;top:2px;inset-inline-start:2px;width:18px;height:18px;background:var(--color-surface);border-radius:var(--radius-full);box-shadow:var(--shadow-sm);transition:transform var(--transition-fast)}.switch__input:checked~.switch__track{background:var(--color-primary)}.switch__input:checked~.switch__track .switch__thumb{transform:translate(16px)}.switch__input:focus-visible~.switch__track{outline:var(--ring-width) solid var(--ring-color);outline-offset:var(--ring-offset)}.switch__input:disabled~.switch__track{opacity:.5;cursor:not-allowed}.switch__text{display:flex;flex-direction:column;gap:1px}.switch__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text)}.switch__hint{font-size:var(--font-size-xs);color:var(--color-text-muted)}}@layer components{.choice{display:inline-flex;align-items:center;gap:var(--space-2);cursor:pointer}.choice__input{width:1.125rem;height:1.125rem;accent-color:var(--color-primary);cursor:pointer}.choice__input:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}.choice__input:disabled{cursor:not-allowed}.choice__input:disabled~.choice__label{opacity:.5;cursor:not-allowed}.choice__label{font-size:var(--font-size-base);color:var(--color-text)}.choice-group{display:flex;flex-direction:column;gap:var(--space-2)}.choice-group--inline{flex-direction:row;flex-wrap:wrap;gap:var(--space-4)}}@layer components{.input{display:block;width:100%;height:var(--control-height-md);padding-inline:var(--space-3);border:var(--border-width) solid var(--color-border-control, var(--color-border-strong));border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font-family:inherit;font-size:var(--font-size-base);box-shadow:inset 0 1px 2px rgb(var(--shadow-color) / .04);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.input::placeholder{color:var(--color-text-subtle)}.input:focus-visible{outline:var(--ring-width) solid var(--ring-color);outline-offset:1px;border-color:var(--color-primary)}.input:disabled{background:var(--color-surface-sunken);border-color:var(--color-border);color:var(--color-disabled-text);box-shadow:none;cursor:not-allowed}.input--invalid{border-color:var(--color-danger)}.input--sm{height:var(--control-height-sm);padding-inline:var(--space-2);border-radius:var(--radius-sm);font-size:var(--font-size-sm)}.input--lg{height:var(--control-height-lg);padding-inline:var(--space-4);font-size:var(--font-size-lg)}.input--multiline{height:auto;padding-block:var(--space-2);line-height:var(--line-height-base);resize:vertical}.input-icon{position:relative;display:flex;align-items:center}.input-icon__glyph{position:absolute;inset-inline-start:var(--space-3);display:inline-flex;color:var(--color-text-subtle);pointer-events:none}.input-icon--end .input-icon__glyph{inset-inline-start:auto;inset-inline-end:var(--space-3)}.input-icon .input{padding-inline-start:var(--space-8)}.input-icon--end .input{padding-inline-start:var(--space-3);padding-inline-end:var(--space-8)}.input-float{position:relative}.input-float .input{height:var(--control-height-lg);padding-top:var(--space-4);padding-bottom:0}.input-float__label{position:absolute;inset-inline-start:var(--space-3);top:50%;transform:translateY(-50%);font-size:var(--font-size-base);color:var(--color-text-muted);pointer-events:none;transition:top var(--transition-fast),font-size var(--transition-fast),color var(--transition-fast)}.input-float .input:focus~.input-float__label,.input-float .input:not(:placeholder-shown)~.input-float__label{top:var(--space-3);font-size:var(--font-size-2xs);color:var(--color-text-subtle)}.input-group{display:flex;align-items:stretch;border:var(--border-width) solid var(--color-border-control, var(--color-border-strong));border-radius:var(--radius-md);background:var(--color-surface);box-shadow:inset 0 1px 2px rgb(var(--shadow-color) / .04)}.input-group>:first-child{border-start-start-radius:inherit;border-end-start-radius:inherit}.input-group>:last-child{border-start-end-radius:inherit;border-end-end-radius:inherit}.input-group:focus-within{outline:var(--ring-width) solid var(--ring-color);outline-offset:1px;border-color:var(--color-primary)}.input-group>.input,.input-group .select .select__native,.input-group .select .combobox__field{height:100%;border:none;border-radius:0;background:transparent;box-shadow:none}.input-group>.input{height:auto}.input-group .select{width:auto}.input-group__addon>.select{margin-inline:calc(var(--space-3) * -1)}.input-group .select .combobox__input{width:5ch;flex:0 0 auto;padding-inline-start:var(--space-3)}.input-group .select .combobox__list{inset-inline-end:auto;min-width:12rem;width:max-content;max-width:calc(100vw - 2 * var(--space-4));border-top:var(--border-width) solid var(--ring-color);border-radius:var(--radius-md)}.input-group>.input:focus-visible,.input-group .select .select__native:focus-visible,.input-group .select .combobox__field:focus-within{outline:none}.input-group__control{flex:1 1 auto;min-width:0}.input-group__addon{display:flex;align-items:center;flex:0 0 auto;padding-inline:var(--space-3);background:var(--color-surface-sunken);color:var(--color-text-muted);font-size:var(--font-size-sm);white-space:nowrap}.input-group__addon:first-child{border-inline-end:var(--border-width) solid var(--color-border)}.input-group__addon:last-child{border-inline-start:var(--border-width) solid var(--color-border)}}@layer components{.textarea{resize:vertical;min-height:6rem}}@layer components{.select{position:relative;display:inline-block;width:100%}.select__native{appearance:none;width:100%;height:var(--control-height-md);padding-block:0;padding-inline:var(--space-3) calc(var(--space-3) * 2 + 15px);border:var(--border-width) solid var(--color-border-control, var(--color-border-strong));border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font-size:var(--font-size-base)}.select__native:focus-visible{outline:var(--ring-width) solid var(--ring-color);outline-offset:1px;border-color:var(--color-primary)}.select__native:disabled{background:var(--color-surface-alt);color:var(--color-disabled-text);cursor:not-allowed}.js .select__native{display:none}html:not(.js) .select__ui{display:none}.select__ui .combobox__field{cursor:pointer}.select__ui .combobox__input{cursor:pointer;caret-color:transparent}.select__ui .combobox__input:disabled{cursor:not-allowed}.select--disabled .combobox__field{background:var(--color-surface-alt);color:var(--color-disabled-text)}.select--invalid .select__native,.select--invalid .combobox__field{border-color:var(--color-danger)}.select__ui .combobox__hints{display:none}}@layer components{.alert{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border-inline-start:var(--border-width-thick) solid var(--color-border-strong);background:var(--color-surface-sunken);color:var(--color-text)}.alert__icon{flex:0 0 auto;margin-top:1px}.alert__body{flex:1 1 auto;min-width:0}.alert__title{font-weight:var(--font-weight-semibold)}.alert__text{font-size:var(--font-size-sm);line-height:var(--line-height-base)}.alert__list{margin-top:var(--space-1);padding:0;list-style:none;display:flex;flex-direction:column;gap:3px;font-size:var(--font-size-sm)}.alert__field{display:flex;gap:var(--space-2)}.alert__field-name{font-family:var(--font-family-mono);font-size:var(--font-size-xs);opacity:.85}.alert__close{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-width:24px;min-height:24px;margin:-4px;background:none;border:none;border-radius:var(--radius-sm);padding:0;cursor:pointer;color:inherit;opacity:.55}.alert__close:hover{opacity:1}.alert__close:focus-visible{outline:var(--ring-width) solid currentColor;outline-offset:var(--ring-offset)}.alert--success{background:var(--color-success-soft);border-inline-start-color:var(--color-success);color:var(--color-success-soft-text)}.alert--warning{background:var(--color-warning-soft);border-inline-start-color:var(--color-warning);color:var(--color-warning-soft-text)}.alert--danger{background:var(--color-danger-soft);border-inline-start-color:var(--color-danger);color:var(--color-danger-soft-text)}.alert--info{background:var(--color-info-soft);border-inline-start-color:var(--color-info);color:var(--color-info-soft-text)}}@layer components{.form-field{display:flex;flex-direction:column;gap:var(--space-1)}.form-field__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text)}.form-field__required{color:var(--color-danger);margin-left:var(--space-1)}.form-field__help{font-size:var(--font-size-xs);color:var(--color-text-muted)}.form-field__error{font-size:var(--font-size-xs);color:var(--color-danger)}.form-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--space-4)}.form-grid>*{grid-column:span 12}@media screen and (min-width:768px){.form-grid>.form-grid__col-6{grid-column:span 6}.form-grid>.form-grid__col-4{grid-column:span 4}.form-grid>.form-grid__col-3{grid-column:span 3}}.form-actions{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-2)}}@layer components{.form{display:flex;flex-direction:column;gap:var(--space-4)}}@layer components{.menu__list,.menu__sublist{display:flex;flex-direction:column;gap:var(--space-1);list-style:none}.menu__sublist{padding-inline-start:var(--space-4);margin-top:var(--space-1)}.menu__link{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:none;border:none;color:var(--color-text);font:inherit;text-align:start;cursor:pointer}.menu__link:hover{background:var(--color-surface-alt)}.menu__link:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:-2px}.menu__link--active{background:var(--color-surface-alt);color:var(--color-primary);font-weight:var(--font-weight-medium)}.menu__icon{flex:0 0 auto;width:1.1em;height:1.1em}.menu__caret{margin-inline-start:auto;flex:0 0 auto;transition:transform var(--transition-fast)}.menu__link[aria-expanded=true] .menu__caret{transform:rotate(90deg)}}@layer components{.navbar{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--color-surface);border-bottom:var(--border-width) solid var(--color-border);position:sticky;top:0;z-index:var(--z-sticky)}.navbar__brand{display:flex;align-items:center;gap:var(--space-2);min-width:0;font-weight:var(--font-weight-semibold);font-size:var(--font-size-lg);color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.navbar__nav{display:flex;align-items:center;gap:var(--space-4);margin-inline-start:var(--space-4)}.navbar__link{color:var(--color-text-muted);font-weight:var(--font-weight-medium);padding-block:var(--space-2)}.navbar__link:hover{color:var(--color-primary)}.navbar__link:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}.navbar__link--active{color:var(--color-primary)}.navbar__spacer{flex:1 1 auto}.navbar__actions{display:flex;align-items:center;gap:var(--space-3);margin-inline-start:auto;flex-shrink:0}.navbar__toggle{display:none;align-items:center;justify-content:center;min-width:var(--control-height-md);min-height:var(--control-height-md);background:none;border:none;border-radius:var(--radius-md);cursor:pointer;padding:var(--space-2);color:var(--color-text)}.navbar__toggle:focus-visible{outline:var(--ring-width) solid var(--ring-color);outline-offset:var(--ring-offset)}.navbar__toggle--sidebar{display:inline-flex}@media screen and (min-width:992px){.navbar__toggle--sidebar{display:none}}@media screen and (max-width:767px){.navbar__nav{position:absolute;top:100%;inset-inline:0;flex-direction:column;align-items:stretch;gap:0;margin-inline-start:0;background:var(--color-surface);border-bottom:var(--border-width) solid var(--color-border);padding:var(--space-2) var(--space-4)}.js .navbar__nav{display:none}.js .navbar__nav.is-open{display:flex}.navbar__link{padding-block:var(--space-3)}.navbar__toggle{display:inline-flex}}}@layer components{.sidebar{display:flex;flex-direction:column;gap:var(--space-4);width:16rem;flex:0 0 auto;padding:var(--space-4);background:var(--color-surface);color:var(--color-text);border-inline-end:var(--border-width) solid var(--color-border);overflow-y:auto}.sidebar__brand{display:flex;align-items:center;gap:var(--space-2);font-weight:var(--font-weight-semibold);font-size:var(--font-size-lg);padding:0 var(--space-2)}.sidebar__brand-mark{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:2rem;height:2rem;border-radius:var(--radius-md);background:var(--color-primary);color:var(--color-primary-contrast)}.sidebar__collapse-toggle{margin-top:auto;display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);background:none;color:var(--color-text-muted);cursor:pointer}.sidebar__collapse-toggle:hover{background:var(--color-surface-alt)}.sidebar__collapse-toggle:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:-2px}.sidebar__collapse-icon{transition:transform var(--transition-base)}@media screen and (min-width:992px){.sidebar{transition:width var(--transition-base)}.sidebar--collapsed{width:4.5rem}.sidebar--collapsed .sidebar__brand-label,.sidebar--collapsed .menu__link-label,.sidebar--collapsed .menu__caret,.sidebar--collapsed .menu__sublist,.sidebar--collapsed .sidebar__collapse-label{display:none}.sidebar--collapsed .menu__link{justify-content:center}.sidebar--collapsed .sidebar__collapse-icon{transform:rotate(180deg)}}@media screen and (max-width:991px){.js .sidebar{position:fixed;inset-block:0;inset-inline-start:0;z-index:var(--z-overlay);transform:translate(-100%);visibility:hidden;transition:transform var(--transition-base),visibility 0s var(--transition-base);box-shadow:var(--shadow-xl)}[dir=rtl] .js .sidebar{transform:translate(100%)}.js .sidebar.is-open{transform:translate(0);visibility:visible;transition:transform var(--transition-base)}}}@layer components{.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--space-4)}.grid>*{grid-column:span 12}@media screen and (min-width:768px){.grid>.col-1{grid-column:span 1}.grid>.col-2{grid-column:span 2}.grid>.col-3{grid-column:span 3}.grid>.col-4{grid-column:span 4}.grid>.col-5{grid-column:span 5}.grid>.col-6{grid-column:span 6}.grid>.col-7{grid-column:span 7}.grid>.col-8{grid-column:span 8}.grid>.col-9{grid-column:span 9}.grid>.col-10{grid-column:span 10}.grid>.col-11{grid-column:span 11}.grid>.col-12{grid-column:span 12}}}@layer components{.tabs__list{display:flex;gap:var(--space-1);box-shadow:inset 0 calc(var(--border-width) * -1) 0 var(--color-border);overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}.tabs__tab{padding:var(--space-2) var(--space-4);background:none;border:none;border-bottom:var(--border-width-thick) solid transparent;color:var(--color-text-muted);font-weight:var(--font-weight-medium);white-space:nowrap;cursor:pointer}.tabs__tab:hover{color:var(--color-text)}.tabs__tab:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:-2px}.tabs__tab[aria-selected=true]{color:var(--color-primary);border-bottom-color:var(--color-primary)}.tabs__panel{padding-top:var(--space-4)}}@layer components{.collapsible{border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md)}.collapsible__trigger{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4);background:var(--color-surface);border:none;border-radius:inherit;font:inherit;font-weight:var(--font-weight-medium);text-align:left;cursor:pointer}.collapsible__trigger:hover{background:var(--color-surface-alt)}.collapsible__trigger:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:-2px}.collapsible__icon{flex:0 0 auto;transition:transform var(--transition-fast)}.collapsible__trigger[aria-expanded=true] .collapsible__icon{transform:rotate(180deg)}.collapsible__panel{padding:var(--space-4);border-top:var(--border-width) solid var(--color-border)}.accordion>.collapsible{border-radius:0}.accordion>.collapsible+.collapsible{border-top:none}.accordion>.collapsible:first-child{border-top-left-radius:var(--radius-md);border-top-right-radius:var(--radius-md)}.accordion>.collapsible:last-child{border-bottom-left-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md)}.collapsible__heading{margin:0}}@layer components{.dropdown{position:relative;display:inline-block}.dropdown__trigger{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-width:24px;min-height:24px;border-radius:var(--radius-sm)}.dropdown__trigger:focus-visible{outline:var(--ring-width) solid var(--ring-color);outline-offset:var(--ring-offset)}.dropdown__panel{position:absolute;top:100%;inset-inline-start:0;margin-top:var(--space-1);width:max-content;min-width:10rem;max-width:min(24rem,calc(100vw - 2 * var(--space-4)));background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:var(--z-dropdown);padding:var(--space-2)}.dropdown__panel--end{inset-inline-start:auto;inset-inline-end:0}.dropdown__panel--fixed{position:fixed;inset-inline:auto;margin-top:0}}@layer components{.wizard__steps{display:flex;list-style:none;margin-bottom:var(--space-6)}.wizard__step{flex:1 1 0;display:flex;align-items:center;gap:var(--space-2);color:var(--color-text-muted);font-size:var(--font-size-sm)}.wizard__step:not(:last-child):after{content:"";flex:1 1 auto;height:var(--border-width);background:var(--color-border);margin-inline:var(--space-2)}.wizard__step-index{flex:0 0 auto;width:1.75rem;height:1.75rem;border-radius:var(--radius-full);border:var(--border-width-thick) solid var(--color-border);display:flex;align-items:center;justify-content:center;font-weight:var(--font-weight-semibold)}.wizard__step-label{white-space:nowrap}.wizard__step--active{color:var(--color-text)}.wizard__step--active .wizard__step-index{border-color:var(--color-primary);color:var(--color-primary)}.wizard__step--done .wizard__step-index{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-primary-contrast)}@media screen and (max-width:575px){.wizard__step-label{display:none}}}@layer components{.pagination{display:flex;align-items:center;gap:var(--space-1);list-style:none}.pagination__link{display:inline-flex;align-items:center;justify-content:center;min-width:2rem;height:2rem;padding-inline:var(--space-2);border-radius:var(--radius-sm);color:var(--color-text);font-size:var(--font-size-sm)}.pagination__link:hover{background:var(--color-surface-alt)}.pagination__link:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:-2px}.pagination__link[aria-current=page]{background:var(--color-primary);color:var(--color-primary-contrast)}.pagination__link--disabled{color:var(--color-disabled-text);pointer-events:none}.pagination__ellipsis{padding-inline:var(--space-2);color:var(--color-text-muted)}}@layer components{.modal{border:none;border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);padding:0;width:100%;max-width:32rem;background:var(--color-surface);color:var(--color-text)}.modal::backdrop{background:var(--color-overlay)}.modal__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-4);border-bottom:var(--border-width) solid var(--color-border)}.modal__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.modal__close{background:none;border:none;cursor:pointer;color:var(--color-text-muted);font-size:var(--font-size-xl);line-height:1}.modal__close:hover{color:var(--color-text)}.modal__close:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}.modal__body{padding:var(--space-4)}.modal__footer{display:flex;justify-content:flex-end;gap:var(--space-2);padding:var(--space-4);border-top:var(--border-width) solid var(--color-border)}}@layer components{.toast-region{position:fixed;bottom:var(--space-4);inset-inline-end:var(--space-4);z-index:var(--z-toast);display:flex;flex-direction:column;gap:var(--space-2);max-width:min(24rem,calc(100vw - 2 * var(--space-4)));max-height:50vh;overflow:hidden;pointer-events:none}.toast-region>*{pointer-events:auto}.toast{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);box-shadow:var(--shadow-lg);animation:toast-in var(--transition-base)}.toast__icon{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:var(--radius-full);background:var(--color-surface-sunken);color:var(--color-text-muted)}.toast__body{flex:1 1 auto;min-width:0;font-size:var(--font-size-sm)}.toast__meta{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:1px}.toast__action{flex:0 0 auto;min-height:24px;background:none;border:none;border-radius:var(--radius-sm);padding:0 var(--space-1);font:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-accent, var(--color-primary));cursor:pointer}.toast__close{flex:0 0 auto;align-self:center;display:inline-flex;align-items:center;justify-content:center;min-width:24px;min-height:24px;margin:-4px;background:none;border:none;border-radius:var(--radius-sm);padding:0;color:var(--color-text-subtle);cursor:pointer}.toast__close:hover{color:var(--color-text)}.toast__close:focus-visible{outline:var(--ring-width) solid var(--ring-color);outline-offset:var(--ring-offset)}.toast--ink{align-items:center;background:var(--color-surface-inverse);border-color:transparent;color:var(--color-text-inverse)}.toast--ink .toast__meta,.toast--ink .toast__close{color:var(--color-text-inverse);color:color-mix(in oklab,var(--color-text-inverse) 60%,transparent)}.toast--ink .toast__action{color:var(--color-accent-inverse, var(--color-primary-contrast))}.toast--success .toast__icon{background:var(--color-success-soft);color:var(--color-success)}.toast--warning .toast__icon{background:var(--color-warning-soft);color:var(--color-warning)}.toast--danger .toast__icon{background:var(--color-danger-soft);color:var(--color-danger)}.toast--info .toast__icon{background:var(--color-info-soft);color:var(--color-info)}@keyframes toast-in{0%{transform:translateY(var(--space-2));opacity:0}to{transform:translateY(0);opacity:1}}}@layer components{.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px var(--space-2);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);line-height:var(--line-height-tight);background:var(--color-surface-sunken);color:var(--color-text-muted);border:var(--border-width) solid transparent}.badge__dot{flex:0 0 auto;width:6px;height:6px;border-radius:var(--radius-full);background:currentColor}.badge--primary{background:var(--color-primary);color:var(--color-primary-contrast)}.badge--accent{background:var(--color-accent, var(--color-primary));color:var(--color-accent-contrast, var(--color-primary-contrast))}.badge--neutral{background:var(--color-surface-sunken);border-color:var(--color-border);color:var(--color-text-muted)}.badge--success{background:var(--color-success-soft);color:var(--color-success-soft-text)}.badge--warning{background:var(--color-warning-soft);color:var(--color-warning-soft-text)}.badge--danger{background:var(--color-danger-soft);color:var(--color-danger-soft-text)}.badge--info{background:var(--color-info-soft);color:var(--color-info-soft-text)}.badge--code{border-radius:var(--radius-sm);padding:1px var(--space-2);font-family:var(--font-family-mono);font-size:var(--font-size-2xs);color:var(--color-text-muted)}.chip{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);background:var(--color-surface);border:var(--border-width) solid var(--color-border);font-size:var(--font-size-sm);color:var(--color-text)}.chip--removable{padding-inline-end:var(--space-1)}.chip__remove{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;margin-block:-3px;padding:0;background:var(--color-surface-sunken);border:none;border-radius:var(--radius-full);cursor:pointer;color:var(--color-text-muted)}.chip__remove:hover{background:var(--color-danger-soft);color:var(--color-danger-soft-text)}.chip__remove:focus-visible{outline:var(--ring-width) solid var(--ring-color);outline-offset:1px}}@layer components{.avatar{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:2.5rem;height:2.5rem;border-radius:var(--radius-full);background:var(--color-secondary);color:var(--color-secondary-contrast);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);overflow:hidden}.avatar>img{width:100%;height:100%;object-fit:cover}.avatar--sm{width:2rem;height:2rem;font-size:var(--font-size-xs)}.avatar--lg{width:3.5rem;height:3.5rem;font-size:var(--font-size-xl)}.avatar-group{display:flex}.avatar-group .avatar{margin-left:-.5rem;border:2px solid var(--color-surface)}.avatar-group .avatar:first-child{margin-left:0}}@layer components{.breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-muted);list-style:none}.breadcrumb__item{display:flex;align-items:center;gap:var(--space-2)}.breadcrumb__item:not(:last-child):after{content:"/";color:var(--color-border-strong)}.breadcrumb__link{color:var(--color-text-muted)}.breadcrumb__link:hover{color:var(--color-primary)}.breadcrumb__item[aria-current=page]{color:var(--color-text);font-weight:var(--font-weight-medium)}}@layer components{.tooltip{position:relative;display:inline-block}.tooltip__content{position:absolute;bottom:100%;left:50%;transform:translate(-50%) translateY(-.25rem);background:var(--color-surface-inverse);color:var(--color-text-inverse);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-size:var(--font-size-xs);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--transition-fast);z-index:var(--z-popover)}.tooltip:hover .tooltip__content,.tooltip:focus-within .tooltip__content{opacity:1}}@layer components{.progress{appearance:none;display:block;width:100%;height:.5rem;border:none;border-radius:var(--radius-full);overflow:hidden;background:var(--color-surface-alt)}.progress::-webkit-progress-bar{background:var(--color-surface-alt)}.progress::-webkit-progress-value{background:var(--color-primary);border-radius:var(--radius-full)}.progress::-moz-progress-bar{background:var(--color-primary);border-radius:var(--radius-full)}.spinner{display:inline-block;width:1.5rem;height:1.5rem;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:var(--radius-full);animation:spinner-spin .7s linear infinite}@keyframes spinner-spin{to{transform:rotate(360deg)}}}@layer components{:root{--apx-accent: var(--color-accent, var(--color-primary));--apx-fore: var(--color-text);--apx-grid: var(--color-border);--apx-surface: var(--color-surface);--apx-bg: transparent;--apx-series-1: var(--color-accent, var(--color-primary));--apx-series-2: var(--color-info);--apx-series-3: var(--color-success);--apx-series-4: var(--color-warning);--apx-series-5: var(--color-danger);--apx-series-6: var(--color-secondary, var(--color-text-muted))}.chart{position:relative;width:100%;min-width:0;color:var(--color-text)}.chart .apexcharts-tooltip,.chart .apexcharts-menu{background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);color:var(--color-text);font-family:var(--font-family-base)}.chart .apexcharts-tooltip-title{background:var(--color-surface-sunken, var(--color-surface-alt));border-bottom:var(--border-width) solid var(--color-border)}.chart .apexcharts-xaxistooltip,.chart .apexcharts-yaxistooltip{background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text)}.chart .apexcharts-menu-item:hover{background:var(--color-surface-sunken, var(--color-surface-alt))}}@layer components{.error-page{padding-block:var(--space-16)}.error-page__meta{font-size:var(--font-size-xs);letter-spacing:.05em;color:var(--color-text-muted);text-transform:uppercase}.error-page h1{margin:var(--space-2) 0 var(--space-4)}.error-page__details{margin-top:var(--space-4);border-collapse:collapse;font-size:var(--font-size-sm)}.error-page__details th,.error-page__details td{padding:var(--space-1) var(--space-3);text-align:left;border-bottom:var(--border-width) solid var(--color-border)}.error-page__debug{margin-top:var(--space-4);padding:var(--space-4);border-radius:var(--radius-md);background:var(--color-surface-inverse);color:var(--color-danger-soft);overflow:auto;font-size:var(--font-size-xs);font-family:var(--font-family-mono)}.error-page__actions{margin-top:var(--space-6)}.error-page__request-id{margin-top:var(--space-6);font-size:var(--font-size-xs);color:var(--color-text-muted)}}@layer components{.data-table{--data-table-header-height: 34px;--data-table-select-width: 48px;display:flex;flex-direction:column;border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.data-table>:first-child{border-start-start-radius:inherit;border-start-end-radius:inherit}.data-table>:last-child{border-end-start-radius:inherit;border-end-end-radius:inherit}.data-table__form{display:flex;flex-direction:column;min-height:0}.data-table__form>:first-child{border-start-start-radius:inherit;border-start-end-radius:inherit}.data-table__form>:last-child{border-end-start-radius:inherit;border-end-end-radius:inherit}.data-table__toolbar{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;padding:var(--space-3) var(--space-4);border-bottom:var(--border-width) solid var(--color-border-subtle)}.data-table__title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.data-table__bulk{position:sticky;top:0;inset-inline-start:0;z-index:5;display:flex;align-items:center;gap:var(--space-2);box-sizing:border-box;height:var(--data-table-header-height);margin-block-end:calc(-1 * var(--data-table-header-height));width:100%;padding:0 var(--space-4) 0 calc(var(--data-table-select-width) + var(--space-4));overflow-x:auto;overflow-y:hidden;white-space:nowrap;background:var(--color-surface-inverse);color:var(--color-text-inverse);font-size:var(--font-size-sm)}.data-table__bulk[hidden]{display:none}.data-table__bulk-count{flex:none;font-weight:var(--font-weight-medium)}.data-table__bulk-sep{flex:none;width:var(--border-width);height:16px;background:var(--color-text-muted);background:color-mix(in oklab,var(--color-text-inverse) 20%,transparent)}.data-table__bulk .btn{flex:none;height:26px;padding-inline:var(--space-2);font-size:var(--font-size-xs);background:transparent;border-color:var(--color-text-muted);border-color:color-mix(in oklab,var(--color-text-inverse) 22%,transparent);color:var(--color-text-inverse);box-shadow:none}.data-table__bulk .btn:hover{background:#80808040;background:color-mix(in oklab,var(--color-text-inverse) 10%,transparent)}.data-table__bulk .btn--danger{background:var(--color-danger);border-color:var(--color-danger);color:var(--color-danger-contrast)}.data-table__scroll{position:relative;overflow:auto;max-height:var(--data-table-max-height, none)}.data-table__scroll--sm{--data-table-max-height: 240px}.data-table__scroll--md{--data-table-max-height: 400px}.data-table__scroll--lg{--data-table-max-height: 600px}.data-table__table{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--font-size-sm)}.data-table__table th{position:sticky;top:0;z-index:3;height:var(--data-table-header-height);box-sizing:border-box;padding-inline:var(--space-4);text-align:start;white-space:nowrap;background:var(--color-surface-alt);border-bottom:var(--border-width) solid var(--color-border);font-family:var(--font-family-mono);font-size:var(--font-size-2xs);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-caps);text-transform:uppercase;color:var(--color-text-subtle)}.data-table__table td{height:34px;padding-inline:var(--space-4);white-space:nowrap;border-bottom:var(--border-width) solid var(--color-border-subtle);background:var(--color-surface)}.data-table__table tbody tr:hover td{background:var(--color-surface-alt)}.data-table__row--selected td{background:var(--color-surface-sunken, var(--color-surface-alt));background:color-mix(in oklab,var(--color-accent, var(--color-primary)) 5%,var(--color-surface))}.data-table__select{position:sticky;inset-inline-start:0;z-index:1;box-sizing:border-box;width:var(--data-table-select-width);min-width:var(--data-table-select-width);padding-inline:0 0;padding-inline-start:var(--space-4)}th.data-table__select{z-index:6}.data-table__select+.data-table__cell--pinned{inset-inline-start:var(--data-table-select-width)}.data-table__cell--pinned{position:sticky;inset-inline-start:0;z-index:1;border-inline-end:var(--border-width) solid var(--color-border-subtle)}th.data-table__cell--pinned{z-index:4}.data-table__mono{font-family:var(--font-family-mono);font-size:var(--font-size-xs)}.data-table__num{text-align:end;font-variant-numeric:tabular-nums}.data-table__select input{width:16px;height:16px;margin:0;accent-color:var(--color-accent, var(--color-primary));cursor:pointer}.data-table__select input:focus-visible{outline:var(--ring-width) solid var(--ring-color);outline-offset:var(--ring-offset)}.data-table__actions{width:40px;text-align:center}td.data-table__actions{position:sticky;inset-inline-end:0;background:var(--color-surface)}td.data-table__select,td.data-table__cell--pinned{z-index:2}.data-table__row-actions{position:absolute;inset-block:0;inset-inline-end:0;z-index:1;display:flex;align-items:center;gap:var(--space-2);width:max-content;padding-inline:var(--space-3);overflow-x:auto;overflow-y:hidden;white-space:nowrap;background:var(--color-surface-inverse);color:var(--color-text-inverse);font-size:var(--font-size-sm)}.data-table__row-actions .btn{flex:none;height:26px;padding-inline:var(--space-2);font-size:var(--font-size-xs);background:transparent;border-color:var(--color-text-muted);border-color:color-mix(in oklab,var(--color-text-inverse) 22%,transparent);color:var(--color-text-inverse);box-shadow:none}.data-table__row-actions .btn:hover{background:var(--color-surface-alt);background:color-mix(in oklab,var(--color-text-inverse) 12%,transparent)}.data-table__row-actions .btn--danger{border-color:var(--color-danger);background:var(--color-danger);color:var(--color-danger-contrast)}.data-table__row-actions .btn--icon{border-color:transparent}@keyframes data-table-row-actions-in{0%{clip-path:inset(0 0 0 100%)}to{clip-path:inset(0)}}@keyframes data-table-row-actions-out{0%{clip-path:inset(0)}to{clip-path:inset(0 0 0 100%)}}.data-table__row-actions:not([hidden]){animation:data-table-row-actions-in var(--transition-base)}.data-table__row-actions.is-closing{animation-name:data-table-row-actions-out;animation-fill-mode:forwards;pointer-events:none}@media(prefers-reduced-motion:reduce){.data-table__row-actions:not([hidden]),.data-table__row-actions.is-closing{animation:none}}.data-table__row-actions-sep{flex:none;width:var(--border-width);height:16px;background:var(--color-text-muted);background:color-mix(in oklab,var(--color-text-inverse) 20%,transparent)}.data-table__footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;padding:var(--space-2) var(--space-4);border-top:var(--border-width) solid var(--color-border);background:var(--color-surface-alt);font-size:var(--font-size-xs);color:var(--color-text-muted)}.data-table__sort{display:inline-flex;align-items:center;gap:var(--space-1);min-height:24px;padding:0;border:none;border-radius:var(--radius-sm);background:none;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer}th[aria-sort] .data-table__sort{color:var(--color-text)}.data-table__sort:focus-visible{outline:var(--ring-width) solid var(--ring-color);outline-offset:var(--ring-offset)}.data-table__empty{padding:var(--space-8);text-align:center;color:var(--color-text-muted)}.data-table__empty>.empty{justify-content:center;margin-inline:auto}}@layer components{.combobox,.combobox__anchor{position:relative}.combobox--open>.form-field__help,.combobox[aria-expanded=true]>.form-field__help{visibility:hidden}.combobox__field{display:flex;align-items:center;height:var(--control-height-md);padding-inline:var(--space-2) var(--space-3);border:var(--border-width) solid var(--color-border-control, var(--color-border-strong));border-radius:var(--radius-md);background:var(--color-surface)}.combobox__field:focus-within{outline:var(--ring-width) solid var(--ring-color);outline-offset:1px;border-color:var(--color-primary)}.combobox[aria-expanded=true] .combobox__field,.combobox--open .combobox__field{border-end-start-radius:0;border-end-end-radius:0;border-color:var(--ring-color);box-shadow:0 0 0 1px var(--ring-color)}.combobox--open .combobox__field:focus-within{outline:none;border-color:var(--ring-color)}.combobox--open .combobox__list{border-color:var(--ring-color);box-shadow:0 0 0 1px var(--ring-color),var(--shadow-lg)}.combobox__input{flex:1 1 auto;min-width:0;height:100%;padding-inline-start:var(--space-2);border:none;outline:none;background:transparent;font:inherit;font-size:var(--font-size-base);color:var(--color-text)}.combobox__input::placeholder{color:var(--color-text-subtle)}.combobox__caret{flex:0 0 auto;display:inline-flex;color:var(--color-text-muted);cursor:pointer}.combobox__list{position:absolute;inset-inline:0;top:100%;z-index:var(--z-dropdown);border:var(--border-width) solid var(--color-primary);border-top:none;border-end-start-radius:var(--radius-md);border-end-end-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-lg);overflow:hidden}.combobox__list[hidden]{display:none}.combobox__group{padding:var(--space-2) var(--space-3) var(--space-1);border-top:var(--border-width) solid var(--color-border-subtle);font-family:var(--font-family-mono);font-size:var(--font-size-2xs);letter-spacing:var(--letter-spacing-caps);text-transform:uppercase;color:var(--color-text-subtle)}.combobox__group:first-child{border-top:none}.combobox__option{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);cursor:pointer}.combobox__option:hover,.combobox__option[data-active]{background:var(--color-surface-sunken)}.combobox__option-label{flex:1 1 auto;min-width:0;font-size:var(--font-size-sm)}.combobox__match{font-weight:var(--font-weight-semibold);background:var(--color-warning-soft);background:color-mix(in oklab,var(--color-accent, var(--color-primary)) 22%,var(--color-surface));border-radius:2px}.combobox__option-meta{flex:0 0 auto;font-size:var(--font-size-2xs);color:var(--color-text-subtle)}.combobox__check{flex:0 0 auto;display:inline-flex;color:var(--color-text)}.combobox__empty{padding:var(--space-4) var(--space-3);font-size:var(--font-size-sm);color:var(--color-text-muted)}.combobox__hints{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-top:var(--border-width) solid var(--color-border-subtle);background:var(--color-surface-alt);font-size:var(--font-size-2xs);color:var(--color-text-subtle)}.combobox__count{margin-inline-start:auto;font-family:var(--font-family-mono)}.combobox--multi .combobox__field{height:auto;min-height:var(--control-height-md);flex-wrap:wrap;gap:var(--space-1);padding:var(--space-1) var(--space-2)}.combobox__token{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px var(--space-1) 2px var(--space-2);border-radius:var(--radius-sm);background:var(--color-surface-sunken);font-size:var(--font-size-sm)}.combobox__token-remove{display:inline-flex;align-items:center;justify-content:center;min-width:24px;min-height:24px;margin-block:-6px;padding:0;background:none;border:none;color:var(--color-text-muted);cursor:pointer}.combobox__token-remove:hover{color:var(--color-danger)}.combobox__token-remove:focus-visible{outline:var(--ring-width) solid var(--ring-color);outline-offset:1px}.combobox__option[aria-disabled=true]{color:var(--color-disabled-text);cursor:not-allowed}}@layer components{.datepicker{position:relative;display:flex;flex-direction:column}.datepicker--open:not(.datepicker--inline){z-index:var(--z-popover)}.datepicker--inline .datepicker__panel{position:static;z-index:auto;margin-top:var(--space-3)}.datepicker--end .datepicker__panel{inset-inline-start:auto;inset-inline-end:0}.datepicker__trigger:disabled{color:var(--color-disabled-text);background:var(--color-surface-alt);cursor:not-allowed}.datepicker__trigger{display:inline-flex;align-items:center;gap:var(--space-2);height:var(--control-height-md);padding-inline:var(--space-3);border:var(--border-width) solid var(--color-border-control, var(--color-border-strong));border-radius:var(--radius-md);background:var(--color-surface);font:inherit;font-size:var(--font-size-sm);font-variant-numeric:tabular-nums;color:var(--color-text);cursor:pointer}.datepicker__trigger[aria-expanded=true]{border-color:var(--color-primary)}.datepicker__trigger-icon{display:inline-flex;color:var(--color-text-muted)}.datepicker__panel{position:absolute;top:calc(100% + var(--space-1));inset-inline-start:0;z-index:var(--z-popover);max-width:calc(100vw - 2 * var(--space-4));border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-lg);overflow:hidden;width:max-content}.datepicker__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-bottom:var(--border-width) solid var(--color-border-subtle)}.datepicker__nav-group{display:inline-flex;gap:var(--space-1)}.datepicker__nav{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:var(--border-width) solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-muted);cursor:pointer}.datepicker__nav:hover{background:var(--color-surface-sunken);color:var(--color-text)}.datepicker__nav:focus-visible{outline:var(--ring-width) solid var(--ring-color);outline-offset:1px}.datepicker__month{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.datepicker__grid{padding:var(--space-2) var(--space-3)}.datepicker__weekdays,.datepicker__days{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.datepicker__weekdays{margin-bottom:var(--space-1)}.datepicker__weekday{padding-block:3px;text-align:center;font-family:var(--font-family-mono);font-size:var(--font-size-2xs);color:var(--color-text-subtle)}.datepicker__day{display:flex;align-items:center;justify-content:center;height:30px;border:none;border-radius:var(--radius-sm);background:transparent;font:inherit;font-size:var(--font-size-sm);font-variant-numeric:tabular-nums;color:var(--color-text);cursor:pointer}.datepicker__day:hover{background:var(--color-surface-sunken)}.datepicker__day:focus-visible{outline:var(--ring-width) solid var(--ring-color);outline-offset:-1px}.datepicker__day--outside{color:var(--color-text-subtle)}.datepicker__day--today{box-shadow:inset 0 0 0 1.5px var(--color-accent, var(--color-primary))}.datepicker__day--in-range{background:var(--color-surface-sunken, var(--color-surface-alt));background:color-mix(in oklab,var(--color-accent, var(--color-primary)) 8%,var(--color-surface));border-radius:0}.datepicker__day--start,.datepicker__day--end{background:var(--color-primary);color:var(--color-primary-contrast)}.datepicker__day--start{border-start-end-radius:0;border-end-end-radius:0}.datepicker__day--end{border-start-start-radius:0;border-end-start-radius:0}.datepicker__day--start.datepicker__day--end{border-radius:var(--radius-sm)}.datepicker__day:disabled{color:var(--color-disabled-text);cursor:not-allowed}.datepicker__footer{display:flex;align-items:center;gap:var(--space-1);flex-wrap:wrap;padding:var(--space-2) var(--space-3);border-top:var(--border-width) solid var(--color-border-subtle);background:var(--color-surface-alt)}.datepicker__preset{height:28px;padding-inline:var(--space-2);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);font:inherit;font-size:var(--font-size-2xs);color:var(--color-text-muted);cursor:pointer}.datepicker__preset:hover{border-color:var(--color-primary);color:var(--color-text)}.datepicker__apply{margin-inline-start:auto;height:28px;padding-inline:var(--space-3);border:none;border-radius:var(--radius-sm);background:var(--color-primary);color:var(--color-primary-contrast);font:inherit;font-size:var(--font-size-2xs);font-weight:var(--font-weight-medium);cursor:pointer}}@layer components{.command{position:fixed;inset:0;z-index:var(--z-modal);display:flex;justify-content:center;padding:min(12vh,var(--space-8)) var(--space-4) var(--space-4);background:var(--color-overlay);overflow-y:auto}.command__search:focus-within{box-shadow:inset 0 calc(var(--ring-width) * -1) 0 var(--ring-color)}.command__esc:focus-visible,.command__item:focus-visible{outline:var(--ring-width) solid var(--ring-color);outline-offset:-2px}.command[hidden]{display:none}.command--inline{position:static;inset:auto;padding:0;background:none;display:block}.command__sheet{width:100%;max-width:34rem;align-self:flex-start;border:var(--border-width) solid var(--color-border-strong);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-xl);overflow:hidden}.command--inline .command__sheet{max-width:none}.command__search{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:var(--border-width) solid var(--color-border-subtle)}.command__search-icon{flex:0 0 auto;display:inline-flex;color:var(--color-text-subtle)}.command__input{flex:1 1 auto;min-width:0;border:none;outline:none;background:transparent;font:inherit;font-size:var(--font-size-lg);color:var(--color-text)}.command__input::placeholder{color:var(--color-text-subtle)}.command__list{padding:var(--space-1);max-height:min(22rem,55vh);overflow-y:auto}.command__group{padding:var(--space-2) var(--space-2) var(--space-1);font-family:var(--font-family-mono);font-size:var(--font-size-2xs);letter-spacing:var(--letter-spacing-caps);text-transform:uppercase;color:var(--color-text-subtle)}.command__item{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-2);border:none;border-radius:var(--radius-sm);background:transparent;font:inherit;text-align:left;color:var(--color-text);cursor:pointer}.command__item:hover{background:var(--color-surface-sunken)}.command__item[data-active]{background:var(--color-primary);color:var(--color-primary-contrast)}.command__item-icon{flex:0 0 auto;display:inline-flex;opacity:.75}.command__item-badge{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:var(--radius-sm);background:var(--color-surface-sunken);color:var(--color-text-muted);font-family:var(--font-family-mono);font-size:var(--font-size-2xs)}.command__item-label{flex:1 1 auto;min-width:0;font-size:var(--font-size-sm)}.command__match{font-weight:var(--font-weight-semibold)}.command__item-meta{flex:0 0 auto;font-size:var(--font-size-xs);color:var(--color-text-subtle)}.command__item[data-active] .command__item-meta,.command__item[data-active] .command__item-badge{color:var(--color-primary-contrast);color:color-mix(in oklab,var(--color-primary-contrast) 70%,transparent);background:transparent}.command__kbd{display:inline-flex;align-items:center;padding:1px var(--space-2);border-radius:var(--radius-sm);background:var(--color-surface-sunken);font-family:var(--font-family-mono);font-size:var(--font-size-2xs);color:var(--color-text-muted)}.command__item[data-active] .command__kbd{background:#8080804d;background:color-mix(in oklab,var(--color-primary-contrast) 16%,transparent);color:var(--color-primary-contrast)}.command__esc{flex:0 0 auto;border:var(--border-width) solid transparent;cursor:pointer}.command__esc:hover{border-color:var(--color-border-strong);color:var(--color-text)}.command__empty{padding:var(--space-5) var(--space-2);text-align:center;font-size:var(--font-size-sm);color:var(--color-text-muted)}.command__footer{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-2) var(--space-4);border-top:var(--border-width) solid var(--color-border-subtle);background:var(--color-surface-alt);font-size:var(--font-size-2xs);color:var(--color-text-subtle)}.command__count{margin-inline-start:auto;font-family:var(--font-family-mono)}.command__trigger{color:var(--color-text-muted);font-weight:var(--font-weight-normal)}@media screen and (min-width:576px){.command__trigger{min-width:14rem;justify-content:flex-start}.command__trigger .command__kbd{margin-inline-start:auto}}}@layer components{.dropzone{display:flex;flex-direction:column;gap:var(--space-3)}.dropzone__area{position:relative;display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-6) var(--space-4);border:1.5px dashed var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface-alt);text-align:center;transition:border-color var(--transition-fast),background var(--transition-fast)}.dropzone__area:focus-within,.dropzone__area--over{border-color:var(--color-accent, var(--color-primary));background:var(--color-surface);background:color-mix(in oklab,var(--color-accent, var(--color-primary)) 5%,var(--color-surface))}.dropzone__input{position:absolute;inset:0;opacity:0;cursor:pointer}.dropzone__icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:var(--radius-md);background:var(--color-surface);border:var(--border-width) solid var(--color-border);color:var(--color-text-muted)}.dropzone__area--over .dropzone__icon,.dropzone__area:focus-within .dropzone__icon{color:var(--color-accent, var(--color-primary))}.dropzone__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.dropzone__browse{color:var(--color-accent, var(--color-primary));text-decoration:underline;text-underline-offset:.18em}.dropzone__hint{font-size:var(--font-size-xs);color:var(--color-text-muted)}.dropzone__files{display:flex;flex-direction:column;gap:var(--space-2)}.dropzone__file{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md)}.dropzone__file--error{border-color:var(--color-danger-soft-text);border-color:color-mix(in oklab,var(--color-danger) 25%,var(--color-border));background:var(--color-danger-soft);background:color-mix(in oklab,var(--color-danger) 3%,var(--color-surface))}.dropzone__file-icon{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-sm);background:var(--color-surface-sunken);color:var(--color-text-muted);font-family:var(--font-family-mono);font-size:9px;text-transform:uppercase}.dropzone__file--done .dropzone__file-icon{background:var(--color-success-soft);color:var(--color-success)}.dropzone__file--error .dropzone__file-icon{background:var(--color-danger-soft);color:var(--color-danger)}.dropzone__file-body{display:flex;flex-direction:column;gap:3px;flex:1 1 auto;min-width:0}.dropzone__file-row{display:flex;align-items:baseline;gap:var(--space-2)}.dropzone__file-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropzone__file-size{margin-inline-start:auto;font-size:var(--font-size-2xs);color:var(--color-text-subtle);font-variant-numeric:tabular-nums}.dropzone__file-error{font-size:var(--font-size-2xs);color:var(--color-danger)}.dropzone__bar{appearance:none;display:block;width:100%;height:4px;border:none;border-radius:var(--radius-full);background:var(--color-border-subtle);overflow:hidden}.dropzone__bar::-webkit-progress-bar{background:var(--color-border-subtle)}.dropzone__bar::-webkit-progress-value{background:var(--color-primary);border-radius:var(--radius-full)}.dropzone__bar::-moz-progress-bar{background:var(--color-primary);border-radius:var(--radius-full)}.dropzone__remove{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-width:24px;min-height:24px;border-radius:var(--radius-sm);padding:0;background:none;border:none;color:var(--color-text-subtle);cursor:pointer}.dropzone__remove:hover{color:var(--color-danger)}.dropzone__remove:focus-visible{outline:var(--ring-width) solid var(--ring-color);outline-offset:2px}}@layer components{.slider{display:flex;flex-direction:column;gap:var(--space-2)}.slider__track,.slider__fill,.slider__ticks,.slider__thumb{display:none}.js .slider__track,.js .slider__fill,.js .slider__ticks,.js .slider__thumb{display:block}.js .slider__input{opacity:0}.slider__head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3)}.slider__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.slider__value{font-family:var(--font-family-mono);font-size:var(--font-size-sm);font-variant-numeric:tabular-nums;color:var(--color-text-muted)}.slider__control{position:relative;height:20px;display:flex;align-items:center}.slider__input{position:absolute;inset:0;width:100%;height:100%;margin:0;cursor:pointer}.slider__track{position:absolute;inset-inline:0;height:5px;border-radius:var(--radius-full);background:var(--color-border-subtle);pointer-events:none}.slider__fill{position:absolute;inset-inline-start:0;width:var(--slider-pct, 0%);height:5px;border-radius:var(--radius-full);background:var(--color-primary);pointer-events:none}.slider__thumb{position:absolute;inset-inline-start:var(--slider-pct, 0%);margin-inline-start:-8.5px;width:17px;height:17px;border-radius:var(--radius-full);background:var(--color-surface);border:1.5px solid var(--color-primary);box-shadow:var(--shadow-sm);pointer-events:none}.slider__input:focus-visible~.slider__thumb{outline:var(--ring-width) solid var(--ring-color);outline-offset:var(--ring-offset)}.slider__scale{display:flex;justify-content:space-between;font-family:var(--font-family-mono);font-size:var(--font-size-2xs);color:var(--color-text-subtle)}.slider--range .slider__fill{inset-inline-start:var(--slider-from, 0%);width:calc(var(--slider-to, 100%) - var(--slider-from, 0%));border-radius:0}.slider__thumb--from{inset-inline-start:var(--slider-from, 0%)}.slider__thumb--to{inset-inline-start:var(--slider-to, 100%)}.slider--stepped .slider__fill{background:var(--color-accent, var(--color-primary))}.slider--stepped .slider__thumb{background:var(--color-accent, var(--color-primary));border-color:var(--color-accent, var(--color-primary))}.slider__ticks{position:absolute;inset-inline:0;display:flex;justify-content:space-between;align-items:center;pointer-events:none}.slider__tick{width:3px;height:3px;border-radius:var(--radius-full);background:var(--color-surface)}.slider__scale-item--active{color:var(--color-accent, var(--color-primary));font-weight:var(--font-weight-medium)}}@layer components{.segmented{position:relative;display:inline-flex;gap:2px;padding:3px;border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-sunken)}.js .segmented:before{content:"";position:absolute;top:3px;bottom:3px;inset-inline-start:3px;width:var(--segmented-w, 0px);border-radius:var(--radius-sm);background:var(--color-surface);box-shadow:var(--shadow-sm);transform:translate(var(--segmented-x, 0px));transition:transform var(--transition-base),width var(--transition-base);pointer-events:none}.js .segmented:not([data-segmented-ready]):before{display:none}@media(prefers-reduced-motion:reduce){.js .segmented:before{transition:none}}.segmented__item{position:relative;display:inline-flex}.segmented__input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}.segmented__label{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:28px;padding-inline:var(--space-4);border-radius:var(--radius-sm);background:transparent;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-muted);white-space:nowrap;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.segmented__input:checked+.segmented__label{background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-sm)}.js .segmented[data-segmented-ready] .segmented__input:checked+.segmented__label{background:transparent;box-shadow:none}.segmented__item{z-index:1}.segmented__input:focus-visible+.segmented__label{outline:var(--ring-width) solid var(--ring-color);outline-offset:1px}.segmented__input:disabled+.segmented__label{color:var(--color-disabled-text);cursor:not-allowed}.segmented--sm .segmented__label{height:24px;padding-inline:var(--space-3);font-size:var(--font-size-2xs)}.segmented--icon .segmented__label{width:28px;padding-inline:0}.segmented--block{display:flex}.segmented--block .segmented__item,.segmented--block .segmented__label{flex:1 1 0}}@layer components{.popover{position:relative;display:inline-block}.popover__panel{position:absolute;top:calc(100% + var(--space-2));inset-inline-start:50%;transform:translate(-50%);z-index:var(--z-popover);width:max-content;max-width:min(18rem,calc(100vw - 2 * var(--space-4)));border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-lg)}.popover__panel[hidden]{display:none}.popover__arrow{position:absolute;top:-5px;inset-inline-start:50%;transform:translate(-50%) rotate(45deg);width:9px;height:9px;background:var(--color-surface);border-inline-start:var(--border-width) solid var(--color-border);border-top:var(--border-width) solid var(--color-border)}.popover--start .popover__panel{inset-inline-start:0;transform:none}.popover--start .popover__arrow{inset-inline-start:var(--space-4);transform:rotate(45deg)}.popover--end .popover__panel{inset-inline-start:auto;inset-inline-end:0;transform:none}.popover--end .popover__arrow{inset-inline-start:auto;inset-inline-end:var(--space-4);transform:rotate(45deg)}.popover__header{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-3) var(--space-2)}.popover__title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.popover__subtitle{font-size:var(--font-size-xs);color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.popover__body{padding:0 var(--space-3) var(--space-3);font-size:var(--font-size-sm);line-height:var(--line-height-base)}.popover__stats{display:flex;gap:var(--space-4);padding:0 var(--space-3) var(--space-3)}.popover__stat{display:flex;flex-direction:column}.popover__stat-value{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);font-variant-numeric:tabular-nums}.popover__stat-label{font-size:var(--font-size-2xs);color:var(--color-text-subtle)}.popover__footer{display:flex;gap:var(--space-2);padding:var(--space-3);border-top:var(--border-width) solid var(--color-border-subtle)}.popover__footer .btn{flex:1 1 0}}@layer components{.timeline{display:flex;flex-direction:column;list-style:none;margin:0;padding:0}.timeline__item{display:flex;gap:var(--space-3)}.timeline__rail{display:flex;flex-direction:column;align-items:center;flex:0 0 auto}.timeline__marker{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:var(--radius-full);background:var(--color-surface-sunken);color:var(--color-text-muted)}.timeline__line{flex:1 1 auto;width:1.5px;margin-block:var(--space-1);background:var(--color-border)}.timeline__item:last-child .timeline__line{display:none}.timeline__body{display:flex;flex-direction:column;gap:1px;padding-bottom:var(--space-4)}.timeline__item:last-child .timeline__body{padding-bottom:0}.timeline__title{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.timeline__meta{font-size:var(--font-size-xs);color:var(--color-text-muted)}.timeline__item--done .timeline__marker{background:var(--color-success-soft);color:var(--color-success)}.timeline__item--current .timeline__marker{background:var(--color-warning-soft);color:var(--color-warning)}.timeline__item--pending .timeline__marker{background:var(--color-surface-sunken);border:1.5px dashed var(--color-border-strong)}.timeline__item--pending .timeline__line{background:none;border-inline-start:1.5px dashed var(--color-border)}.timeline__item--pending .timeline__title{color:var(--color-text-subtle)}}@layer components{.empty{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-8) var(--space-5);border:var(--border-width) solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-surface-alt);text-align:center}.empty__icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--radius-md);background:var(--color-surface);border:var(--border-width) solid var(--color-border);box-shadow:var(--shadow-sm);color:var(--color-text-muted)}.empty__title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-tight)}.empty__text{max-width:34ch;font-size:var(--font-size-sm);line-height:var(--line-height-base);color:var(--color-text-muted);text-wrap:pretty}.empty__actions{display:flex;gap:var(--space-2);margin-top:var(--space-1)}.empty--inline{flex-direction:row;align-items:center;gap:var(--space-3);padding:var(--space-4);border-style:dashed;border-color:var(--color-border);background:var(--color-surface);text-align:start}.empty--inline .empty__icon{width:30px;height:30px;border:none;border-radius:var(--radius-sm);background:var(--color-surface-sunken);box-shadow:none;color:var(--color-text-subtle)}.empty--inline .empty__body{display:flex;flex-direction:column;gap:1px;flex:1 1 auto;min-width:0}.empty--inline .empty__title{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.empty--inline .empty__text{max-width:none;font-size:var(--font-size-xs)}.empty--inline .empty__actions{margin-top:0}.empty--error{border-style:solid;border-color:var(--color-danger-soft-text);border-color:color-mix(in oklab,var(--color-danger) 25%,var(--color-border));background:var(--color-danger-soft);background:color-mix(in oklab,var(--color-danger) 3%,var(--color-surface))}.empty--error .empty__icon{background:var(--color-danger-soft);color:var(--color-danger)}.empty__code{font-family:var(--font-family-mono);font-size:var(--font-size-xs);color:var(--color-text-muted)}.empty--page{min-height:60vh;justify-content:center;border:none;background:none}.empty--page .empty__title{font-size:var(--font-size-2xl)}}@layer components{.skeleton{position:relative;display:block;overflow:hidden;border-radius:var(--radius-full);background:var(--color-border-subtle)}.skeleton:after{content:"";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,var(--color-surface-alt),transparent);background:linear-gradient(90deg,transparent,color-mix(in oklab,var(--color-border-subtle) 45%,var(--color-surface)),transparent);animation:skeleton-shimmer 1.3s linear infinite}.skeleton--w-xs{width:48px}.skeleton--w-sm{width:72px}.skeleton--w-md{width:104px}.skeleton--w-lg{width:144px}.skeleton--w-xl{width:200px}.skeleton--w-half{width:50%}.skeleton--w-full{width:100%}.skeleton--text{height:10px}.skeleton--title{height:12px;width:60%}.skeleton--block{height:104px;border-radius:var(--radius-sm)}.skeleton--avatar{width:40px;height:40px;flex:0 0 auto}.skeleton--circle{border-radius:var(--radius-full);aspect-ratio:1}.skeleton-stack{display:flex;flex-direction:column;gap:var(--space-2)}.skeleton-row{display:flex;align-items:center;gap:var(--space-3)}.skeleton-card{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4);border:var(--border-width) solid var(--color-border-subtle);border-radius:var(--radius-md)}.skeleton-table{border:var(--border-width) solid var(--color-border-subtle);border-radius:var(--radius-md);overflow:hidden}.skeleton-table__head,.skeleton-table__row{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4)}.skeleton-table__head{background:var(--color-surface-alt);border-bottom:var(--border-width) solid var(--color-border-subtle)}.skeleton-table__head .skeleton{background:var(--color-border);height:8px}.skeleton-table__head .skeleton:after{display:none}.skeleton-table__row+.skeleton-table__row{border-top:var(--border-width) solid var(--color-border-subtle)}.skeleton[aria-hidden=true]{pointer-events:none}@keyframes skeleton-shimmer{to{transform:translate(100%)}}@media(prefers-reduced-motion:reduce){.skeleton:after{display:none}}[data-busy]{position:relative;pointer-events:none}[data-busy]:after{content:"";position:absolute;inset:0;z-index:1;border-radius:inherit;background:var(--color-surface);opacity:.55}[data-busy]:before{content:"";position:absolute;inset:0;z-index:2;transform:translate(-100%);background:linear-gradient(90deg,transparent,var(--color-surface-alt),transparent);background:linear-gradient(90deg,transparent,color-mix(in oklab,var(--color-border-subtle) 45%,var(--color-surface)),transparent);animation:skeleton-shimmer 1.3s linear infinite}@media(prefers-reduced-motion:reduce){[data-busy]:before{display:none}}}@layer components{.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;margin-bottom:var(--space-6)}.page-header__heading{min-width:0}.page-header__title{font-size:var(--font-size-3xl);letter-spacing:var(--letter-spacing-tighter);line-height:var(--line-height-tight)}.page-header__subtitle{margin-top:var(--space-1);color:var(--color-text-muted)}.page-header__actions{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}}@layer components{.stat{display:flex;flex-direction:column;gap:var(--space-1)}.stat__icon{display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;margin-bottom:var(--space-2);border-radius:var(--radius-md);background:var(--color-surface-sunken);color:var(--color-text-muted)}.stat--primary .stat__icon{background:var(--color-surface-sunken);color:var(--color-accent, var(--color-primary))}.stat--success .stat__icon{background:var(--color-success-soft);color:var(--color-success-soft-text)}.stat--warning .stat__icon{background:var(--color-warning-soft);color:var(--color-warning-soft-text)}.stat--danger .stat__icon{background:var(--color-danger-soft);color:var(--color-danger-soft-text)}.stat--info .stat__icon{background:var(--color-info-soft);color:var(--color-info-soft-text)}.stat__label{font-size:var(--font-size-sm);color:var(--color-text-muted)}.stat__value{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-tight);line-height:var(--line-height-tight);font-variant-numeric:tabular-nums}.stat__trend{margin-top:var(--space-1)}}@layer components{.toolbar{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;margin-bottom:var(--space-4)}.toolbar__end{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;margin-inline-start:auto}.toolbar .input-icon{flex:1 1 12rem;max-width:20rem}.toolbar .select{width:auto;min-width:11rem}.toolbar .datepicker{width:auto}.toolbar .datepicker__trigger{width:auto;min-width:15rem}.data-table__toolbar>.toolbar{display:contents}@media screen and (max-width:575px){.toolbar .input-icon,.toolbar .datepicker__trigger,.toolbar .select{flex-basis:100%;max-width:none;min-width:0;width:100%}.toolbar__end{margin-inline-start:0;width:100%}}}@layer components{.otp{display:flex;flex-direction:column;gap:var(--space-2)}.otp__value{height:var(--control-height-lg);padding-inline:var(--space-3);border:var(--border-width) solid var(--color-border-control, var(--color-border-strong));border-radius:var(--radius-md);background:var(--color-surface);font-family:var(--font-family-mono);font-size:var(--font-size-xl);letter-spacing:.3em;color:var(--color-text)}.otp__value:focus-visible{outline:var(--ring-width) solid var(--ring-color);outline-offset:1px;border-color:var(--color-primary)}.otp__cells{display:none;align-items:center;gap:var(--space-2)}.js .otp__cells{display:flex}.js .otp__value{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.otp__cell{width:var(--control-height-lg);height:calc(var(--control-height-lg) + 4px);padding:0;border:var(--border-width) solid var(--color-border-control, var(--color-border-strong));border-radius:var(--radius-md);background:var(--color-surface);text-align:center;font-family:var(--font-family-mono);font-size:var(--font-size-xl);font-weight:var(--font-weight-medium);color:var(--color-text);caret-color:var(--color-accent, var(--color-primary));transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.otp__cell:focus{outline:none;border-color:var(--color-accent, var(--color-primary));box-shadow:0 0 0 var(--ring-width) var(--ring-color)}.otp__cell[data-filled]{border-color:var(--color-border-strong);background:var(--color-surface-alt)}.otp__cell:disabled{background:var(--color-disabled);color:var(--color-disabled-text);cursor:not-allowed}.otp__sep{width:8px;height:var(--border-width-thick);border-radius:var(--radius-full);background:var(--color-border-strong)}.otp--invalid .otp__cell,.otp--invalid .otp__value{border-color:var(--color-danger)}.otp--invalid .otp__cell:focus{box-shadow:0 0 0 var(--ring-width) var(--color-danger)}@media screen and (max-width:575px){.otp__cells{gap:var(--space-1)}.otp__cell{width:clamp(2rem,10vw,var(--control-height-lg));font-size:var(--font-size-lg)}}}@layer components{.password{display:flex;flex-direction:column;gap:var(--space-2)}.password__field{position:relative}html.js .password__field .password__input{padding-inline-end:calc(var(--space-4) + 3.5em)}.password__reveal{position:absolute;inset-block:0;inset-inline-end:var(--space-2);margin-block:auto;height:26px;padding-inline:var(--space-2);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);font:inherit;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);cursor:pointer}.password__reveal:hover{background:var(--color-surface-alt);color:var(--color-text)}.password__reveal:focus-visible{outline:var(--ring-width) solid var(--ring-color);outline-offset:var(--ring-offset)}.password__strength{display:flex;flex-direction:column;gap:var(--space-1)}.password__bar{display:flex;gap:var(--space-1)}.password__bar i{flex:1;height:4px;border-radius:var(--radius-full, 999px);background:var(--color-border);transition:background var(--transition-fast)}.password__strength-label{margin:0;font-size:var(--font-size-xs);color:var(--color-text-muted)}[data-strength-level="1"] .password__bar i:nth-child(-n+1){background:var(--color-danger)}[data-strength-level="2"] .password__bar i:nth-child(-n+2){background:var(--color-warning)}[data-strength-level="3"] .password__bar i:nth-child(-n+3){background:var(--color-accent, var(--color-primary))}[data-strength-level="4"] .password__bar i{background:var(--color-success)}[data-strength-level="1"] .password__strength-label{color:var(--color-danger)}[data-strength-level="4"] .password__strength-label{color:var(--color-success)}@media(prefers-reduced-motion:reduce){.password__bar i{transition:none}}}@layer components{.editor{display:flex;flex-direction:column;border:var(--border-width) solid var(--color-border-control, var(--color-border-strong));border-radius:var(--radius-md);background:var(--color-surface);overflow:hidden}.editor:focus-within{outline:var(--ring-width) solid var(--ring-color);outline-offset:1px;border-color:var(--color-primary)}.editor--invalid{border-color:var(--color-danger)}.editor--disabled{background:var(--color-surface-alt)}.editor__toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:2px;padding:var(--space-1) var(--space-2);border-bottom:var(--border-width) solid var(--color-border-subtle);background:var(--color-surface-sunken, var(--color-surface-alt))}.editor__tool,.editor__view{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;padding-inline:var(--space-2);border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);font:inherit;font-size:var(--font-size-sm);cursor:pointer}.editor__tool:hover,.editor__view:hover{background:var(--color-surface);color:var(--color-text)}.editor__tool[aria-pressed=true],.editor__view[aria-pressed=true]{background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-sm)}.editor__tool:focus-visible,.editor__view:focus-visible{outline:var(--ring-width) solid var(--ring-color);outline-offset:-2px}.editor__tool:disabled{color:var(--color-disabled-text);cursor:not-allowed}.editor__spacer{flex:1 1 auto}.editor__views{display:inline-flex;gap:2px}.editor .editor__source,.editor .editor__surface{border:none;border-radius:0;box-shadow:none;outline:none;resize:vertical}.editor__surface{min-height:8rem;padding:var(--space-3);overflow:auto}.editor__surface:empty:before{content:attr(data-placeholder);color:var(--color-text-subtle);pointer-events:none}.editor__preview{min-height:8rem;padding:var(--space-3)}.editor__preview[hidden]{display:none}html:not(.js) .editor__toolbar,html:not(.js) .editor__surface{display:none}.js .editor--html .editor__source,.js .editor[data-editor-view=preview] .editor__source,.js .editor[data-editor-view=preview] .editor__surface{display:none}.editor__preview-note{margin:0 0 var(--space-2);font-size:var(--font-size-xs);color:var(--color-text-muted)}.editor__preview-raw{margin:0;white-space:pre-wrap;font-family:var(--font-family-mono);font-size:var(--font-size-sm)}}
|
|
2
|
+
@layer tokens,reset,base,layouts,components;@layer tokens{:root{--color-primary: #1a1917;--color-primary-strong: #000000;--color-primary-contrast: #fdfcfb;--color-accent: #a8521f;--color-accent-strong: #8e4419;--color-accent-contrast: #fffdfb;--color-accent-inverse: #e8a87c;--color-secondary: #6e6a64;--color-secondary-strong: #4a4742;--color-secondary-contrast: #fdfcfb;--color-success: #1f7a4d;--color-success-contrast: #fffdfb;--color-warning: #9a6200;--color-warning-contrast: #fffdfb;--color-danger: #b8342a;--color-danger-contrast: #fffdfb;--color-info: #1f6a84;--color-info-contrast: #fffdfb;--color-success-soft: #e4f2e9;--color-success-soft-text: #14543a;--color-warning-soft: #fbf0da;--color-warning-soft-text: #6e4600;--color-danger-soft: #fae7e4;--color-danger-soft-text: #7d2620;--color-info-soft: #e2eff4;--color-info-soft-text: #114a5e;--color-canvas: #faf9f7;--color-surface: #ffffff;--color-surface-alt: #faf9f7;--color-surface-sunken: #f4f2ef;--color-surface-inverse: #1a1917;--color-overlay: rgb(26 25 23 / .45);--color-border-subtle: #f0ede9;--color-border: #e6e3df;--color-border-strong: #d3cfc9;--color-border-control: #8a8580;--color-media-scrim: rgb(0 0 0 / .6);--color-on-media: #ffffff;--color-text: #1a1917;--color-text-muted: #6e6a64;--color-text-subtle: #77726b;--color-text-inverse: #fdfcfb;--color-disabled: #f4f2ef;--color-disabled-text: #6e6a64;--space-0: 0;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-8: 3rem;--space-10: 4rem;--space-12: 5rem;--space-16: 6rem;--radius-sm: 5px;--radius-md: 9px;--radius-lg: 14px;--radius-full: 9999px;--shadow-color: 26 25 23;--shadow-sm: 0 1px 2px rgb(var(--shadow-color) / .05);--shadow-md: 0 1px 2px rgb(var(--shadow-color) / .04), 0 6px 16px -4px rgb(var(--shadow-color) / .1);--shadow-lg: 0 2px 4px rgb(var(--shadow-color) / .04), 0 16px 32px -8px rgb(var(--shadow-color) / .14);--shadow-xl: 0 4px 8px rgb(var(--shadow-color) / .05), 0 28px 64px -12px rgb(var(--shadow-color) / .22);--shadow-inset-top: inset 0 1px 0 rgb(255 255 255 / .12);--font-family-base: "Instrument Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--font-family-display: var(--font-family-base);--font-family-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--font-size-2xs: .6875rem;--font-size-xs: .75rem;--font-size-sm: .8125rem;--font-size-base: .9375rem;--font-size-lg: 1.0625rem;--font-size-xl: 1.1875rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.5rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--letter-spacing-tight: -.015em;--letter-spacing-tighter: -.025em;--letter-spacing-caps: .07em;--line-height-tight: 1.25;--line-height-base: 1.5;--line-height-relaxed: 1.75;--border-width: 1px;--border-width-thick: 2px;--control-height-sm: 30px;--control-height-md: 36px;--control-height-lg: 44px;--ring-color: var(--color-accent, var(--color-primary));--ring-width: 2px;--ring-offset: 2px;--focus-ring-color: var(--ring-color);--focus-ring-width: var(--ring-width);--focus-ring-offset: var(--ring-offset);--container-max-width: 1200px;--scroll-padding-top: 4.5rem;--layout-max-width: 1400px;--layout-measure: 70ch;--layout-focus-width: 40rem;--layout-sidebar-width: 16rem;--layout-rail-width: 4.5rem;--layout-aside-width: 18rem;--layout-pane-width: 22rem;--layout-gutter: clamp(var(--space-4), 3vw, var(--space-8));--transition-fast: .12s ease;--transition-base: .2s ease;--transition-slow: .32s ease;--z-dropdown: 1000;--z-sticky: 1020;--z-overlay: 1030;--z-modal: 1040;--z-popover: 1050;--z-toast: 1060}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--color-primary: #f2efe9;--color-primary-strong: #ffffff;--color-primary-contrast: #14130f;--color-accent: #e8a87c;--color-accent-strong: #f0bd9b;--color-accent-contrast: #1c1b17;--color-accent-inverse: #a8521f;--color-secondary: #8b857c;--color-secondary-strong: #a9a29a;--color-secondary-contrast: #14130f;--color-border-control: #6b665f;--color-canvas: #14130f;--color-surface: #1c1b17;--color-surface-alt: #232118;--color-surface-sunken: #232118;--color-surface-inverse: #f2efe9;--color-overlay: rgb(0 0 0 / .6);--color-border-subtle: #232118;--color-border: #2a2823;--color-border-strong: #3a3730;--color-text: #f2efe9;--color-text-muted: #a9a29a;--color-text-subtle: #969088;--color-text-inverse: #14130f;--color-disabled: #232118;--color-disabled-text: #969088;--color-success: #4eae76;--color-success-contrast: #1c1b17;--color-warning: #c99a3e;--color-warning-contrast: #1c1b17;--color-danger: #d1655a;--color-danger-contrast: #1c1b17;--color-info: #5aa2c4;--color-info-contrast: #1c1b17;--color-success-soft: #16321f;--color-success-soft-text: #8fd4a8;--color-warning-soft: #33260d;--color-warning-soft-text: #e5bf78;--color-danger-soft: #351a16;--color-danger-soft-text: #f0a49b;--color-info-soft: #122a33;--color-info-soft-text: #8fc6d8;--shadow-color: 0 0 0;--shadow-inset-top: inset 0 1px 0 rgb(255 255 255 / .06)}}:root[data-theme=dark]{--color-primary: #f2efe9;--color-primary-strong: #ffffff;--color-primary-contrast: #14130f;--color-accent: #e8a87c;--color-accent-strong: #f0bd9b;--color-accent-contrast: #1c1b17;--color-accent-inverse: #a8521f;--color-secondary: #8b857c;--color-secondary-strong: #a9a29a;--color-secondary-contrast: #14130f;--color-border-control: #6b665f;--color-canvas: #14130f;--color-surface: #1c1b17;--color-surface-alt: #232118;--color-surface-sunken: #232118;--color-surface-inverse: #f2efe9;--color-overlay: rgb(0 0 0 / .6);--color-border-subtle: #232118;--color-border: #2a2823;--color-border-strong: #3a3730;--color-text: #f2efe9;--color-text-muted: #a9a29a;--color-text-subtle: #969088;--color-text-inverse: #14130f;--color-disabled: #232118;--color-disabled-text: #969088;--color-success: #4eae76;--color-success-contrast: #1c1b17;--color-warning: #c99a3e;--color-warning-contrast: #1c1b17;--color-danger: #d1655a;--color-danger-contrast: #1c1b17;--color-info: #5aa2c4;--color-info-contrast: #1c1b17;--color-success-soft: #16321f;--color-success-soft-text: #8fd4a8;--color-warning-soft: #33260d;--color-warning-soft-text: #e5bf78;--color-danger-soft: #351a16;--color-danger-soft-text: #f0a49b;--color-info-soft: #122a33;--color-info-soft-text: #8fc6d8;--shadow-color: 0 0 0;--shadow-inset-top: inset 0 1px 0 rgb(255 255 255 / .06)}}@layer reset{*,*:before,*:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;font-family:var(--font-family-base);line-height:var(--line-height-base);scroll-padding-top:var(--scroll-padding-top)}html:focus-within{scroll-behavior:smooth}body{min-height:100vh;font-size:var(--font-size-base);color:var(--color-text);background:var(--color-canvas)}ul[class],ol[class]{list-style:none;padding:0}img,picture,svg,video{display:block;max-width:100%}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:none;border:none}a{color:inherit;text-decoration:none}table{border-collapse:collapse}fieldset{border:none;padding:0;margin:0;min-width:0}legend{padding:0}hr{border:none;border-top:var(--border-width) solid var(--color-border)}dialog{border:none;padding:0;background:none;color:inherit;max-width:min(100%,calc(100vw - 2 * var(--space-4)));max-height:min(100%,calc(100vh - 2 * var(--space-4)));margin:auto}dialog::backdrop{background:var(--color-overlay)}[hidden]{display:none!important}:disabled,[aria-disabled=true]{cursor:not-allowed}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.spinner,.btn--loading:after{animation-duration:1.5s!important;animation-iteration-count:infinite!important}}}@layer base{.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.container{width:100%;max-width:var(--container-max-width);margin-inline:auto;padding-inline:var(--space-4)}.skip-link{position:absolute;top:-3rem;left:0;z-index:var(--z-toast);background:var(--color-primary);color:var(--color-primary-contrast);padding:var(--space-2) var(--space-4);border-radius:0 0 var(--radius-sm) 0;transition:top var(--transition-fast)}.skip-link:focus{top:0}.js-only{display:none}.js .js-only{display:inline-flex}.mt-1{margin-top:var(--space-1)}.mt-2{margin-top:var(--space-2)}.mt-3{margin-top:var(--space-3)}.mt-4{margin-top:var(--space-4)}@media screen and (max-width:575px){.hide-sm{display:none!important}}.stack{display:flex;flex-direction:column;gap:var(--space-4)}.stack--sm{gap:var(--space-3)}.stack--lg{gap:var(--space-6)}}@layer base{h1,h2,h3,h4,h5,h6{font-family:var(--font-family-display);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-tight);color:var(--color-text);text-wrap:pretty}h1{font-size:var(--font-size-4xl);letter-spacing:var(--letter-spacing-tighter);line-height:1.05}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}h5{font-size:var(--font-size-lg)}h6{font-size:var(--font-size-base)}:where(h1,h2,h3,h4,h5,h6,p,ul,ol,blockquote,pre,table,hr):not([class]){margin-block:0 var(--space-3)}:where(h1,h2,h3,h4):not([class]){margin-block:var(--space-6) var(--space-3)}:where(h1):not([class]){margin-block-end:var(--space-4)}:where(h1,h2,h3,h4,h5,h6,p,ul,ol,blockquote,pre,table,hr):not([class]):first-child{margin-block-start:0}:where(h1,h2,h3,h4,h5,h6,p,ul,ol,blockquote,pre,table,hr):not([class]):last-child{margin-block-end:0}small,.text-sm{font-size:var(--font-size-sm)}.text-xs{font-size:var(--font-size-xs)}.text-2xs{font-size:var(--font-size-2xs)}.text-muted{color:var(--color-text-muted)}.text-subtle{color:var(--color-text-subtle)}.text-mono{font-family:var(--font-family-mono)}.text-caps{font-family:var(--font-family-mono);font-size:var(--font-size-2xs);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-caps);text-transform:uppercase;color:var(--color-text-subtle)}.text-nums{font-variant-numeric:tabular-nums}a:not([class]){color:var(--color-accent, var(--color-primary));text-decoration:underline;text-underline-offset:.2em}a:not([class]):hover{color:var(--color-accent-strong, var(--color-primary-strong))}a:not([class]):focus-visible{outline:var(--ring-width) solid var(--ring-color);outline-offset:var(--ring-offset)}.link{color:var(--color-accent, var(--color-primary));text-decoration:none;cursor:pointer}.link:hover{text-decoration:underline;text-underline-offset:.2em}.link:focus-visible{outline:var(--ring-width) solid var(--ring-color);outline-offset:var(--ring-offset)}.text-medium{font-weight:var(--font-weight-medium)}.text-semibold{font-weight:var(--font-weight-semibold)}.text-bold{font-weight:var(--font-weight-bold)}}@layer layouts{.layout{display:flex;flex-direction:column;min-height:100vh;background:var(--color-canvas)}.layout__header{position:sticky;top:0;z-index:var(--z-sticky);display:flex;align-items:center;background:var(--color-surface)}.layout__header>.navbar{flex:1 1 auto;min-width:0;position:static}.layout--static-header .layout__header{position:static}.layout__body{display:flex;flex:1 1 auto;min-height:0}.layout__content{flex:1 1 auto;min-width:0;padding:var(--layout-gutter)}.layout__footer{padding:var(--space-6) var(--layout-gutter);border-top:var(--border-width) solid var(--color-border);color:var(--color-text-muted);font-size:var(--font-size-sm)}.layout--boxed .layout__content,.layout--boxed .layout__footer{width:100%;max-width:var(--layout-max-width);margin-inline:auto}.layout__backdrop{display:none}@media screen and (max-width:991px){.js .sidebar.is-open~.layout__backdrop{display:block;position:fixed;inset:0;z-index:calc(var(--z-overlay) - 1);background:var(--color-overlay)}}.layout__drawer-toggle{margin-inline-start:var(--space-3)}}@layer layouts{.layout--stacked .layout__content{display:flex;flex-direction:column;gap:var(--space-6)}@media screen and (min-width:1400px){.layout--stacked:not(.layout--boxed) .layout__content{padding-inline:max(var(--layout-gutter),calc((100% - var(--layout-max-width)) / 2))}}}@layer layouts{.layout--sidebar .layout__body>.sidebar{width:var(--layout-sidebar-width)}.layout--sidebar-end .layout__body{flex-direction:row-reverse}.layout__aside{flex:0 0 var(--layout-aside-width);padding:var(--layout-gutter);padding-inline-start:0}@media screen and (max-width:1199px){.layout--sidebar .layout__body{flex-wrap:wrap}.layout__aside{flex:1 1 100%;padding-inline-start:var(--layout-gutter);padding-top:0}}@media screen and (min-width:992px){.layout--sidebar .layout__body>.sidebar{position:sticky;top:var(--scroll-padding-top);align-self:flex-start;height:calc(100vh - var(--scroll-padding-top))}.layout--static-header .layout__body>.sidebar{top:0;height:100vh}}}@layer layouts{.layout--rail .layout__body{flex-direction:row}.layout__rail{flex:0 0 var(--layout-rail-width);position:sticky;top:0;align-self:flex-start;height:100vh;display:flex;flex-direction:column;align-items:center;gap:var(--space-1);padding-block:var(--space-3);background:var(--color-surface);border-inline-end:var(--border-width) solid var(--color-border)}.layout--rail .layout__header~.layout__body .layout__rail{top:var(--scroll-padding-top);height:calc(100vh - var(--scroll-padding-top))}.layout__rail-brand{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;margin-bottom:var(--space-2);border-radius:var(--radius-md);background:var(--color-primary);color:var(--color-primary-contrast);font-weight:var(--font-weight-bold)}.layout__rail-link{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-md);color:var(--color-text-subtle)}.layout__rail-link:hover{color:var(--color-text);background:var(--color-surface-sunken)}.layout__rail-link[aria-current=page]{background:var(--color-surface-sunken);color:var(--color-primary)}.layout__rail-link:focus-visible{outline:var(--ring-width) solid var(--ring-color);outline-offset:var(--ring-offset)}.layout__rail-end{margin-top:auto}@media screen and (max-width:767px){.layout--rail .layout__body{flex-direction:column}.layout__rail{position:fixed;inset-inline:0;bottom:0;top:auto;height:auto;flex-direction:row;justify-content:space-around;padding:var(--space-2) var(--space-3);border-inline-end:none;border-top:var(--border-width) solid var(--color-border);z-index:var(--z-sticky)}.layout__rail-brand,.layout__rail-end{display:none}.layout__rail-link{width:44px;height:44px}.layout--rail .layout__content{padding-bottom:calc(var(--layout-gutter) + 60px)}}}@layer layouts{.layout--split .layout__body{flex-direction:row}.layout__pane{flex:0 0 var(--layout-pane-width);min-width:0;border-inline-end:var(--border-width) solid var(--color-border);background:var(--color-surface);overflow-y:auto}.layout--split .layout__content{flex:1 1 auto;overflow-y:auto}@media screen and (min-width:768px){.layout--split .layout__body{height:calc(100vh - var(--scroll-padding-top));position:sticky;top:var(--scroll-padding-top)}.layout--split.layout--static-header .layout__body,.layout--split:not(:has(.layout__header)) .layout__body{height:100vh;top:0}}@media screen and (min-width:768px)and (max-width:991px){.layout__pane{flex-basis:min(var(--layout-pane-width),40%)}}@media screen and (max-width:767px){.layout__pane{flex:1 1 100%;border-inline-end:none}.layout--split .layout__content,.layout--show-detail .layout__pane{display:none}.layout--show-detail .layout__content{display:block}}}@layer layouts{.layout--article .layout__content{display:grid;grid-template-columns:minmax(0,var(--layout-measure));justify-content:center;gap:var(--space-8)}.layout--article-wide .layout__content{grid-template-columns:minmax(0,var(--layout-max-width))}.layout__article{min-width:0}.layout--article .layout__aside{flex:none;padding:0}@media screen and (min-width:992px){.layout--article.layout--has-aside .layout__content{grid-template-columns:minmax(0,var(--layout-measure)) var(--layout-aside-width)}.layout--article-wide.layout--has-aside .layout__content{grid-template-columns:minmax(0,1fr) var(--layout-aside-width);max-width:var(--layout-max-width);margin-inline:auto}.layout--aside-start .layout__content{direction:rtl}.layout--aside-start .layout__content>*{direction:ltr}.layout--article .layout__aside{position:sticky;top:calc(var(--scroll-padding-top) + var(--space-4));align-self:start}}.layout--article .layout__footer{text-align:center}}@layer layouts{.layout--docs .layout__body>.sidebar{width:var(--layout-sidebar-width)}.layout--docs .layout__content{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-6);max-width:calc(var(--layout-measure) + var(--layout-aside-width) + var(--space-8))}.layout__toc-toggle{display:inline-flex;align-items:center;gap:var(--space-2);min-height:var(--control-height-md);padding-inline:var(--space-3);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer}.layout__toc-toggle:focus-visible{outline:var(--ring-width) solid var(--ring-color);outline-offset:var(--ring-offset)}.layout__toc-title{font-family:var(--font-family-mono);font-size:var(--font-size-2xs);letter-spacing:var(--letter-spacing-caps);text-transform:uppercase;color:var(--color-text-subtle);margin-bottom:var(--space-2)}@media screen and (max-width:1199px){.layout__toc{order:-1}.js .layout__toc-body{display:none;padding:var(--space-3) 0 0}.js .layout__toc-body.is-open{display:block}.layout__toc-title{display:none}}@media screen and (min-width:992px){.layout--docs .layout__body>.sidebar{position:sticky;top:var(--scroll-padding-top);align-self:flex-start;height:calc(100vh - var(--scroll-padding-top))}}@media screen and (min-width:1200px){.layout--docs .layout__content{grid-template-columns:minmax(0,var(--layout-measure)) var(--layout-aside-width)}.layout__toc{position:sticky;top:calc(var(--scroll-padding-top) + var(--space-4));align-self:start}.layout__toc-toggle{display:none}}}@layer layouts{.layout--auth{display:flex;align-items:center;justify-content:center;padding:var(--layout-gutter)}.layout__auth-panel{width:100%;max-width:24rem}.layout__auth-brand{display:flex;align-items:center;justify-content:center;gap:var(--space-2);margin-bottom:var(--space-6);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.layout__auth-narrative{display:none}@media screen and (min-width:992px){.layout--auth-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;padding:0}.layout--auth-split .layout__auth-narrative{display:flex;flex-direction:column;justify-content:center;gap:var(--space-6);padding:var(--space-10) var(--space-8);background:var(--color-surface-inverse);color:var(--color-text-inverse)}.layout--auth-split .layout__auth-form{display:flex;align-items:center;justify-content:center;padding:var(--space-10) var(--space-8)}}@media screen and (min-width:1400px){.layout--auth-split .layout__auth-narrative>*{max-width:32rem;margin-inline:auto;width:100%}}}@layer layouts{.layout--focus .layout__header{justify-content:center;padding:var(--space-4) var(--layout-gutter);background:transparent}.layout--focus .layout__content{width:100%;max-width:var(--layout-focus-width);margin-inline:auto;padding-block:var(--space-8)}.layout--focus-wide .layout__content{max-width:var(--layout-measure)}.layout--focus .layout__footer{border-top:none;text-align:center}}@layer components{.card{position:relative;display:flex;flex-direction:column;background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md)}.card--elevated{border-color:transparent;box-shadow:var(--shadow-md)}.card--flat{border-color:transparent;background:var(--color-surface-alt)}.card--horizontal{flex-direction:row}.card--horizontal>.card__media{flex:0 0 35%;aspect-ratio:auto;align-self:stretch}.card--horizontal>.card__content{min-width:0}.card--clickable{cursor:pointer;text-align:inherit;transition:box-shadow var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast)}.card--clickable:hover,.card--clickable:focus-within{box-shadow:var(--shadow-md);transform:translateY(-2px)}.card--clickable:focus-visible{outline:var(--ring-width) solid var(--ring-color);outline-offset:var(--ring-offset)}.card--selected{border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary)}.card__content{display:flex;flex-direction:column;flex:1 1 auto;min-width:0}.card__media{position:relative;overflow:hidden;aspect-ratio:16 / 9;background:var(--color-surface-alt)}.card__media>img,.card__media>video,.card__media>svg{display:block;width:100%;height:100%;object-fit:cover}.card__media:first-child{border-start-start-radius:inherit;border-start-end-radius:inherit}.card--horizontal>.card__media:first-child{border-start-end-radius:0;border-end-start-radius:inherit}.card__media--square{aspect-ratio:1 / 1}.card__media--tall{aspect-ratio:3 / 4}.card__media--banner{aspect-ratio:21 / 9}.card__media-overlay{position:absolute;inset:0;display:flex;align-items:flex-end;padding:var(--space-4);background:linear-gradient(to top,var(--color-media-scrim),transparent);color:var(--color-on-media)}.card__header{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);border-bottom:var(--border-width) solid var(--color-border)}.card__avatar{flex:0 0 auto;width:2.5rem;height:2.5rem;border-radius:var(--radius-full);overflow:hidden}.card__avatar>img{width:100%;height:100%;object-fit:cover}.card__heading{flex:1 1 auto;min-width:0}.card__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight)}.card__title-link{color:inherit;text-decoration:none}.card__title-link:after{content:"";position:absolute;inset:0;z-index:1}.card__title-link:hover,.card__title-link:focus-visible{text-decoration:underline}.card__stretch-link{position:absolute;inset:0;z-index:1}.card__subtitle{font-size:var(--font-size-sm);color:var(--color-text-muted)}.card__actions{position:relative;z-index:2;display:flex;align-items:center;gap:var(--space-2);margin-inline-start:auto}.card__body{padding:var(--space-4);flex:1 1 auto;color:var(--color-text);font-size:var(--font-size-base)}.card__body>:not(:last-child){margin-bottom:var(--space-3)}.card__footer{position:relative;z-index:2;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-4);border-top:var(--border-width) solid var(--color-border);justify-content:flex-end}.card__footer--split{justify-content:space-between}.card__meta{font-size:var(--font-size-sm);color:var(--color-text-muted)}.card--danger{border-color:var(--color-danger-soft-text)}}@layer components{.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:var(--control-height-md);padding-inline:var(--space-4);border:var(--border-width) solid var(--color-primary);border-radius:var(--radius-md);font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:1;white-space:nowrap;flex-shrink:0;background:var(--color-primary);color:var(--color-primary-contrast);box-shadow:var(--shadow-inset-top),var(--shadow-sm);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast)}.btn:hover{background:var(--color-primary-strong);border-color:var(--color-primary-strong)}.btn:focus-visible{outline:var(--ring-width) solid var(--ring-color);outline-offset:var(--ring-offset)}.btn:disabled,.btn[aria-disabled=true]{background:var(--color-disabled);border-color:transparent;color:var(--color-disabled-text);box-shadow:none;cursor:not-allowed}.btn--secondary{background:var(--color-secondary);border-color:var(--color-secondary);color:var(--color-secondary-contrast)}.btn--secondary:hover{background:var(--color-secondary-strong, var(--color-secondary));border-color:var(--color-secondary-strong, var(--color-secondary))}.btn--outline{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text);box-shadow:var(--shadow-sm)}.btn--outline:hover{background:var(--color-surface-alt);border-color:var(--color-border-strong)}.btn--subtle{background:var(--color-surface-sunken);border-color:transparent;color:var(--color-text);box-shadow:none}.btn--subtle:hover{background:var(--color-border);border-color:transparent}.btn--ghost{background:transparent;border-color:transparent;color:var(--color-text-muted);box-shadow:none}.btn--ghost:hover{background:var(--color-surface-sunken);border-color:transparent;color:var(--color-text)}.btn--accent{background:var(--color-accent, var(--color-primary));border-color:var(--color-accent, var(--color-primary));color:var(--color-accent-contrast, var(--color-primary-contrast))}.btn--accent:hover{background:var(--color-accent-strong, var(--color-primary-strong));border-color:var(--color-accent-strong, var(--color-primary-strong))}.btn--danger{background:var(--color-danger);border-color:var(--color-danger);color:var(--color-danger-contrast)}.btn--danger:hover{filter:brightness(.92)}.btn--sm{height:var(--control-height-sm);padding-inline:var(--space-3);border-radius:var(--radius-sm);font-size:var(--font-size-sm)}.btn--lg{height:var(--control-height-lg);padding-inline:var(--space-5);font-size:var(--font-size-base)}.btn--icon{width:var(--control-height-md);padding-inline:0}.btn--sm.btn--icon{width:var(--control-height-sm)}.btn--lg.btn--icon{width:var(--control-height-lg)}.btn--block{display:flex;width:100%}.btn--loading{position:relative;color:transparent;pointer-events:none}.btn--loading:after{content:"";position:absolute;width:1em;height:1em;border:var(--border-width-thick) solid var(--btn-loading-color, var(--color-primary-contrast));border-inline-end-color:transparent;border-radius:var(--radius-full);animation:btn-spin .6s linear infinite}.btn--outline,.btn--subtle,.btn--ghost{--btn-loading-color: var(--color-text)}.btn--secondary{--btn-loading-color: var(--color-secondary-contrast)}.btn--accent{--btn-loading-color: var(--color-accent-contrast)}.btn--danger{--btn-loading-color: var(--color-danger-contrast)}.btn-group{display:inline-flex;border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.btn-group>.btn{box-shadow:none;border-radius:0}.btn-group>.btn:first-child{border-start-start-radius:var(--radius-md);border-end-start-radius:var(--radius-md)}.btn-group>.btn:last-child{border-start-end-radius:var(--radius-md);border-end-end-radius:var(--radius-md)}.btn-group>.btn+.btn{margin-inline-start:calc(var(--border-width) * -1)}.btn-group>.btn:focus-visible,.btn-group>.dropdown>.btn:focus-visible{position:relative;z-index:1}.btn-group>.dropdown>.btn{box-shadow:none;border-radius:0}.btn-group>.dropdown:last-child>.btn{border-start-end-radius:var(--radius-md);border-end-end-radius:var(--radius-md)}.btn-group>.btn+.dropdown{margin-inline-start:calc(var(--border-width) * -1)}@keyframes btn-spin{to{transform:rotate(360deg)}}}@layer components{.switch{display:inline-flex;align-items:flex-start;gap:var(--space-3);cursor:pointer}.switch__input{position:absolute;opacity:0;width:1px;height:1px}.switch__track{position:relative;flex:0 0 auto;width:38px;height:22px;margin-top:1px;background:var(--color-border-strong);border-radius:var(--radius-full);box-shadow:inset 0 1px 2px rgb(var(--shadow-color) / .18);transition:background var(--transition-fast)}.switch__thumb{position:absolute;top:2px;inset-inline-start:2px;width:18px;height:18px;background:var(--color-surface);border-radius:var(--radius-full);box-shadow:var(--shadow-sm);transition:transform var(--transition-fast)}.switch__input:checked~.switch__track{background:var(--color-primary)}.switch__input:checked~.switch__track .switch__thumb{transform:translate(16px)}.switch__input:focus-visible~.switch__track{outline:var(--ring-width) solid var(--ring-color);outline-offset:var(--ring-offset)}.switch__input:disabled~.switch__track{opacity:.5;cursor:not-allowed}.switch__text{display:flex;flex-direction:column;gap:1px}.switch__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text)}.switch__hint{font-size:var(--font-size-xs);color:var(--color-text-muted)}}@layer components{.choice{display:inline-flex;align-items:center;gap:var(--space-2);cursor:pointer}.choice__input{width:1.125rem;height:1.125rem;accent-color:var(--color-primary);cursor:pointer}.choice__input:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}.choice__input:disabled{cursor:not-allowed}.choice__input:disabled~.choice__label{opacity:.5;cursor:not-allowed}.choice__label{font-size:var(--font-size-base);color:var(--color-text)}.choice-group{display:flex;flex-direction:column;gap:var(--space-2)}.choice-group--inline{flex-direction:row;flex-wrap:wrap;gap:var(--space-4)}}@layer components{.input{display:block;width:100%;height:var(--control-height-md);padding-inline:var(--space-3);border:var(--border-width) solid var(--color-border-control, var(--color-border-strong));border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font-family:inherit;font-size:var(--font-size-base);box-shadow:inset 0 1px 2px rgb(var(--shadow-color) / .04);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.input::placeholder{color:var(--color-text-subtle)}.input:focus-visible{outline:var(--ring-width) solid var(--ring-color);outline-offset:1px;border-color:var(--color-primary)}.input:disabled{background:var(--color-surface-sunken);border-color:var(--color-border);color:var(--color-disabled-text);box-shadow:none;cursor:not-allowed}.input--invalid{border-color:var(--color-danger)}.input--sm{height:var(--control-height-sm);padding-inline:var(--space-2);border-radius:var(--radius-sm);font-size:var(--font-size-sm)}.input--lg{height:var(--control-height-lg);padding-inline:var(--space-4);font-size:var(--font-size-lg)}.input--multiline{height:auto;padding-block:var(--space-2);line-height:var(--line-height-base);resize:vertical}.input-icon{position:relative;display:flex;align-items:center}.input-icon__glyph{position:absolute;inset-inline-start:var(--space-3);display:inline-flex;color:var(--color-text-subtle);pointer-events:none}.input-icon--end .input-icon__glyph{inset-inline-start:auto;inset-inline-end:var(--space-3)}.input-icon .input{padding-inline-start:var(--space-8)}.input-icon--end .input{padding-inline-start:var(--space-3);padding-inline-end:var(--space-8)}.input-float{position:relative}.input-float .input{height:var(--control-height-lg);padding-top:var(--space-4);padding-bottom:0}.input-float__label{position:absolute;inset-inline-start:var(--space-3);top:50%;transform:translateY(-50%);font-size:var(--font-size-base);color:var(--color-text-muted);pointer-events:none;transition:top var(--transition-fast),font-size var(--transition-fast),color var(--transition-fast)}.input-float .input:focus~.input-float__label,.input-float .input:not(:placeholder-shown)~.input-float__label{top:var(--space-3);font-size:var(--font-size-2xs);color:var(--color-text-subtle)}.input-group{display:flex;align-items:stretch;border:var(--border-width) solid var(--color-border-control, var(--color-border-strong));border-radius:var(--radius-md);background:var(--color-surface);box-shadow:inset 0 1px 2px rgb(var(--shadow-color) / .04)}.input-group>:first-child{border-start-start-radius:inherit;border-end-start-radius:inherit}.input-group>:last-child{border-start-end-radius:inherit;border-end-end-radius:inherit}.input-group:focus-within{outline:var(--ring-width) solid var(--ring-color);outline-offset:1px;border-color:var(--color-primary)}.input-group>.input,.input-group .select .select__native,.input-group .select .combobox__field{height:100%;border:none;border-radius:0;background:transparent;box-shadow:none}.input-group>.input{height:calc(var(--control-height-md) - 2 * var(--border-width))}.input-group>.input--sm{height:calc(var(--control-height-sm) - 2 * var(--border-width))}.input-group>.input--lg{height:calc(var(--control-height-lg) - 2 * var(--border-width))}.input-group .select{width:auto}.input-group__addon>.select{margin-inline:calc(var(--space-3) * -1)}.input-group .select .combobox__input{width:5ch;flex:0 0 auto;padding-inline-start:var(--space-3)}.input-group .select .combobox__list{inset-inline-end:auto;min-width:12rem;width:max-content;max-width:calc(100vw - 2 * var(--space-4));border-top:var(--border-width) solid var(--ring-color);border-radius:var(--radius-md)}.input-group>.input:focus-visible,.input-group .select .select__native:focus-visible,.input-group .select .combobox__field:focus-within{outline:none}.input-group__control{flex:1 1 auto;min-width:0}.input-group__addon{display:flex;align-items:center;flex:0 0 auto;padding-inline:var(--space-3);background:var(--color-surface-sunken);color:var(--color-text-muted);font-size:var(--font-size-sm);white-space:nowrap}.input-group__addon:first-child{border-inline-end:var(--border-width) solid var(--color-border)}.input-group__addon:last-child{border-inline-start:var(--border-width) solid var(--color-border)}.password{display:flex;flex-direction:column;gap:var(--space-2)}.password__field{position:relative}html.js .password__field .password__input{padding-inline-end:calc(var(--space-4) + 2em)}.password__reveal-icon{display:inline-flex}.password__reveal{position:absolute;inset-block:0;inset-inline-end:var(--space-2);margin-block:auto;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);font:inherit;cursor:pointer}.password__reveal:hover{background:var(--color-surface-alt);color:var(--color-text)}.password__reveal:focus-visible{outline:var(--ring-width) solid var(--ring-color);outline-offset:var(--ring-offset)}.password__strength{display:flex;flex-direction:column;gap:var(--space-1)}.password__bar{display:flex;gap:var(--space-1)}.password__bar i{flex:1;height:4px;border-radius:var(--radius-full, 999px);background:var(--color-border);transition:background var(--transition-fast)}.password__strength-label{margin:0;font-size:var(--font-size-xs);color:var(--color-text-muted)}[data-strength-level="1"] .password__bar i:nth-child(-n+1){background:var(--color-danger)}[data-strength-level="2"] .password__bar i:nth-child(-n+2){background:var(--color-warning)}[data-strength-level="3"] .password__bar i:nth-child(-n+3){background:var(--color-accent, var(--color-primary))}[data-strength-level="4"] .password__bar i{background:var(--color-success)}[data-strength-level="1"] .password__strength-label{color:var(--color-danger)}[data-strength-level="4"] .password__strength-label{color:var(--color-success)}@media(prefers-reduced-motion:reduce){.password__bar i{transition:none}}.password__caps{margin:0;font-size:var(--font-size-xs);color:var(--color-warning)}.input__counter{display:block;margin-block-start:var(--space-1);font-size:var(--font-size-xs);font-variant-numeric:tabular-nums;color:var(--color-text-muted);text-align:end}.input__counter--near{color:var(--color-warning)}.input-clear{position:relative;display:block}.input-clear>input[type=search]::-webkit-search-cancel-button,.input-clear>input[type=search]::-webkit-search-decoration{-webkit-appearance:none;appearance:none}html.js .input-clear>.input{padding-inline-end:calc(var(--space-4) + 1.5em)}.input-clear__button{position:absolute;inset-block:0;inset-inline-end:var(--space-2);margin-block:auto;width:24px;height:24px;border:0;border-radius:var(--radius-full, 999px);background:transparent;color:var(--color-text-muted);font:inherit;font-size:var(--font-size-md);line-height:1;cursor:pointer}.input-clear__button:hover{background:var(--color-surface-alt);color:var(--color-text)}.input-clear__button:focus-visible{outline:var(--ring-width) solid var(--ring-color);outline-offset:var(--ring-offset)}.input-group--email>.input,.input-group--tel>.input,.input-group--url>.input{flex:1 1 auto;min-width:6ch}.input-group--email .select .combobox__input{width:var(--input-group-domain-width, 12ch)}.input-group--tel .select .combobox__input{width:var(--input-group-country-width, 8ch)}.input-group__at{padding-inline:var(--space-2)}.input.textarea--autosize{field-sizing:content;height:auto;min-height:0;resize:none;overflow:hidden}}@layer components{.textarea{resize:vertical;min-height:6rem}}@layer components{.select{position:relative;display:inline-block;width:100%}.select__native{appearance:none;width:100%;height:var(--control-height-md);padding-block:0;padding-inline:var(--space-3) calc(var(--space-3) * 2 + 15px);border:var(--border-width) solid var(--color-border-control, var(--color-border-strong));border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font-size:var(--font-size-base)}.select__native:focus-visible{outline:var(--ring-width) solid var(--ring-color);outline-offset:1px;border-color:var(--color-primary)}.select__native:disabled{background:var(--color-surface-alt);color:var(--color-disabled-text);cursor:not-allowed}.js .select__native{display:none}html:not(.js) .select__ui{display:none}.select__ui .combobox__field{cursor:pointer}.select__ui .combobox__input{cursor:pointer;caret-color:transparent}.select__ui .combobox__input:disabled{cursor:not-allowed}.select--disabled .combobox__field{background:var(--color-surface-alt);color:var(--color-disabled-text)}.select--invalid .select__native,.select--invalid .combobox__field{border-color:var(--color-danger)}.select__ui .combobox__hints{display:none}.select__lead{flex:0 0 auto;display:inline-flex;align-items:center;margin-inline-end:var(--space-2)}.select__lead:empty{display:none}}@layer components{.alert{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border-inline-start:var(--border-width-thick) solid var(--color-border-strong);background:var(--color-surface-sunken);color:var(--color-text)}.alert__icon{flex:0 0 auto;margin-top:1px}.alert__body{flex:1 1 auto;min-width:0}.alert__title{font-weight:var(--font-weight-semibold)}.alert__text{font-size:var(--font-size-sm);line-height:var(--line-height-base)}.alert__list{margin-top:var(--space-1);padding:0;list-style:none;display:flex;flex-direction:column;gap:3px;font-size:var(--font-size-sm)}.alert__field{display:flex;gap:var(--space-2)}.alert__field-name{font-family:var(--font-family-mono);font-size:var(--font-size-xs);opacity:.85}.alert__close{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-width:24px;min-height:24px;margin:-4px;background:none;border:none;border-radius:var(--radius-sm);padding:0;cursor:pointer;color:inherit;opacity:.55}.alert__close:hover{opacity:1}.alert__close:focus-visible{outline:var(--ring-width) solid currentColor;outline-offset:var(--ring-offset)}.alert--success{background:var(--color-success-soft);border-inline-start-color:var(--color-success);color:var(--color-success-soft-text)}.alert--warning{background:var(--color-warning-soft);border-inline-start-color:var(--color-warning);color:var(--color-warning-soft-text)}.alert--danger{background:var(--color-danger-soft);border-inline-start-color:var(--color-danger);color:var(--color-danger-soft-text)}.alert--info{background:var(--color-info-soft);border-inline-start-color:var(--color-info);color:var(--color-info-soft-text)}}@layer components{.form-field{display:flex;flex-direction:column;gap:var(--space-1)}.form-field__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text)}.form-field__required{color:var(--color-danger);margin-left:var(--space-1)}.form-field__help{font-size:var(--font-size-xs);color:var(--color-text-muted)}.form-field__error{font-size:var(--font-size-xs);color:var(--color-danger)}.form-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--space-4)}.form-grid>*{grid-column:span 12}@media screen and (min-width:768px){.form-grid>.form-grid__col-6{grid-column:span 6}.form-grid>.form-grid__col-4{grid-column:span 4}.form-grid>.form-grid__col-3{grid-column:span 3}}.form-actions{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-2)}}@layer components{.form{display:flex;flex-direction:column;gap:var(--space-4)}}@layer components{.menu__list,.menu__sublist{display:flex;flex-direction:column;gap:var(--space-1);list-style:none}.menu__sublist{padding-inline-start:var(--space-4);margin-top:var(--space-1)}.menu__link{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:none;border:none;color:var(--color-text);font:inherit;text-align:start;cursor:pointer}.menu__link:hover{background:var(--color-surface-alt)}.menu__link:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:-2px}.menu__link--active{background:var(--color-surface-alt);color:var(--color-primary);font-weight:var(--font-weight-medium)}.menu__icon{flex:0 0 auto;width:1.1em;height:1.1em}.menu__caret{margin-inline-start:auto;flex:0 0 auto;transition:transform var(--transition-fast)}.menu__link[aria-expanded=true] .menu__caret{transform:rotate(90deg)}}@layer components{.navbar{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--color-surface);border-bottom:var(--border-width) solid var(--color-border);position:sticky;top:0;z-index:var(--z-sticky)}.navbar__brand{display:flex;align-items:center;gap:var(--space-2);min-width:0;font-weight:var(--font-weight-semibold);font-size:var(--font-size-lg);color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.navbar__nav{display:flex;align-items:center;gap:var(--space-4);margin-inline-start:var(--space-4)}.navbar__link{color:var(--color-text-muted);font-weight:var(--font-weight-medium);padding-block:var(--space-2)}.navbar__link:hover{color:var(--color-primary)}.navbar__link:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}.navbar__link--active{color:var(--color-primary)}.navbar__spacer{flex:1 1 auto}.navbar__actions{display:flex;align-items:center;gap:var(--space-3);margin-inline-start:auto;flex-shrink:0}.navbar__toggle{display:none;align-items:center;justify-content:center;min-width:var(--control-height-md);min-height:var(--control-height-md);background:none;border:none;border-radius:var(--radius-md);cursor:pointer;padding:var(--space-2);color:var(--color-text)}.navbar__toggle:focus-visible{outline:var(--ring-width) solid var(--ring-color);outline-offset:var(--ring-offset)}.navbar__toggle--sidebar{display:inline-flex}@media screen and (min-width:992px){.navbar__toggle--sidebar{display:none}}@media screen and (max-width:767px){.navbar__nav{position:absolute;top:100%;inset-inline:0;flex-direction:column;align-items:stretch;gap:0;margin-inline-start:0;background:var(--color-surface);border-bottom:var(--border-width) solid var(--color-border);padding:var(--space-2) var(--space-4)}.js .navbar__nav{display:none}.js .navbar__nav.is-open{display:flex}.navbar__link{padding-block:var(--space-3)}.navbar__toggle{display:inline-flex}}}@layer components{.sidebar{display:flex;flex-direction:column;gap:var(--space-4);width:16rem;flex:0 0 auto;padding:var(--space-4);background:var(--color-surface);color:var(--color-text);border-inline-end:var(--border-width) solid var(--color-border);overflow-y:auto}.sidebar__brand{display:flex;align-items:center;gap:var(--space-2);font-weight:var(--font-weight-semibold);font-size:var(--font-size-lg);padding:0 var(--space-2)}.sidebar__brand-mark{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:2rem;height:2rem;border-radius:var(--radius-md);background:var(--color-primary);color:var(--color-primary-contrast)}.sidebar__collapse-toggle{margin-top:auto;display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);background:none;color:var(--color-text-muted);cursor:pointer}.sidebar__collapse-toggle:hover{background:var(--color-surface-alt)}.sidebar__collapse-toggle:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:-2px}.sidebar__collapse-icon{transition:transform var(--transition-base)}@media screen and (min-width:992px){.sidebar{transition:width var(--transition-base)}.sidebar--collapsed{width:4.5rem}.sidebar--collapsed .sidebar__brand-label,.sidebar--collapsed .menu__link-label,.sidebar--collapsed .menu__caret,.sidebar--collapsed .menu__sublist,.sidebar--collapsed .sidebar__collapse-label{display:none}.sidebar--collapsed .menu__link{justify-content:center}.sidebar--collapsed .sidebar__collapse-icon{transform:rotate(180deg)}.sidebar--collapsed .menu__sublist.menu__sublist--flyout{display:flex;position:fixed;z-index:var(--z-popover);min-width:12rem;max-width:calc(100vw - 2 * var(--space-4));margin:0;padding:var(--space-2);background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.sidebar--collapsed .menu__sublist--flyout .menu__link-label{display:inline}.sidebar--collapsed .menu__sublist--flyout .menu__link{justify-content:flex-start}.menu__flyout-title{padding:var(--space-1) var(--space-3) var(--space-2);font-size:var(--font-size-2xs);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-caps);text-transform:uppercase;color:var(--color-text-subtle)}}@media screen and (max-width:991px){.js .sidebar{position:fixed;inset-block:0;inset-inline-start:0;z-index:var(--z-overlay);transform:translate(-100%);visibility:hidden;transition:transform var(--transition-base),visibility 0s var(--transition-base);box-shadow:var(--shadow-xl)}[dir=rtl] .js .sidebar{transform:translate(100%)}.js .sidebar.is-open{transform:translate(0);visibility:visible;transition:transform var(--transition-base)}}}@layer components{.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--space-4)}.grid>*{grid-column:span 12}@media screen and (min-width:768px){.grid>.col-1{grid-column:span 1}.grid>.col-2{grid-column:span 2}.grid>.col-3{grid-column:span 3}.grid>.col-4{grid-column:span 4}.grid>.col-5{grid-column:span 5}.grid>.col-6{grid-column:span 6}.grid>.col-7{grid-column:span 7}.grid>.col-8{grid-column:span 8}.grid>.col-9{grid-column:span 9}.grid>.col-10{grid-column:span 10}.grid>.col-11{grid-column:span 11}.grid>.col-12{grid-column:span 12}}}@layer components{.tabs__list{display:flex;gap:var(--space-1);box-shadow:inset 0 calc(var(--border-width) * -1) 0 var(--color-border);overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}.tabs__tab{padding:var(--space-2) var(--space-4);background:none;border:none;border-bottom:var(--border-width-thick) solid transparent;color:var(--color-text-muted);font-weight:var(--font-weight-medium);white-space:nowrap;cursor:pointer}.tabs__tab:hover{color:var(--color-text)}.tabs__tab:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:-2px}.tabs__tab[aria-selected=true]{color:var(--color-primary);border-bottom-color:var(--color-primary)}.tabs__panel{padding-top:var(--space-4)}}@layer components{.collapsible{border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md)}.collapsible__trigger{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4);background:var(--color-surface);border:none;border-radius:inherit;font:inherit;font-weight:var(--font-weight-medium);text-align:left;cursor:pointer}.collapsible__trigger:hover{background:var(--color-surface-alt)}.collapsible__trigger:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:-2px}.collapsible__icon{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:var(--radius-full, 999px);background:var(--color-surface-alt);color:var(--color-text-muted);transition:transform var(--transition-fast),background var(--transition-fast)}.collapsible__trigger:hover .collapsible__icon{background:var(--color-surface-sunken, var(--color-border));color:var(--color-text)}.collapsible__trigger[aria-expanded=true] .collapsible__icon{transform:rotate(180deg)}.collapsible__panel{padding:var(--space-4);border-top:var(--border-width) solid var(--color-border)}.accordion>.collapsible{border-radius:0}.accordion>.collapsible+.collapsible{border-top:none}.accordion>.collapsible:first-child{border-top-left-radius:var(--radius-md);border-top-right-radius:var(--radius-md)}.accordion>.collapsible:last-child{border-bottom-left-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md)}.collapsible__heading{margin:0}}@layer components{.dropdown{position:relative;display:inline-block}.dropdown__trigger{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-width:24px;min-height:24px;border-radius:var(--radius-sm)}.dropdown__trigger:focus-visible{outline:var(--ring-width) solid var(--ring-color);outline-offset:var(--ring-offset)}.dropdown__panel{position:absolute;top:100%;inset-inline-start:0;margin-top:var(--space-1);width:max-content;min-width:10rem;max-width:min(24rem,calc(100vw - 2 * var(--space-4)));background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:var(--z-dropdown);padding:var(--space-2)}.dropdown__panel--end{inset-inline-start:auto;inset-inline-end:0}.dropdown__panel--fixed{position:fixed;inset-inline:auto;margin-top:0}}@layer components{.wizard__steps{display:flex;list-style:none;margin-bottom:var(--space-6)}.wizard__step{flex:1 1 0;display:flex;align-items:center;gap:var(--space-2);color:var(--color-text-muted);font-size:var(--font-size-sm)}.wizard__step:not(:last-child):after{content:"";flex:1 1 auto;height:var(--border-width);background:var(--color-border);margin-inline:var(--space-2)}.wizard__step-index{flex:0 0 auto;width:1.75rem;height:1.75rem;border-radius:var(--radius-full);border:var(--border-width-thick) solid var(--color-border);display:flex;align-items:center;justify-content:center;font-weight:var(--font-weight-semibold)}.wizard__step-label{white-space:nowrap}.wizard__step--active{color:var(--color-text)}.wizard__step--active .wizard__step-index{border-color:var(--color-primary);color:var(--color-primary)}.wizard__step--done .wizard__step-index{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-primary-contrast)}@media screen and (max-width:575px){.wizard__step-label{display:none}}}@layer components{.pagination{display:flex;align-items:center;gap:var(--space-1);list-style:none}.pagination__link{display:inline-flex;align-items:center;justify-content:center;min-width:2rem;height:2rem;padding-inline:var(--space-2);border-radius:var(--radius-sm);color:var(--color-text);font-size:var(--font-size-sm)}.pagination__link:hover{background:var(--color-surface-alt)}.pagination__link:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:-2px}.pagination__link[aria-current=page]{background:var(--color-primary);color:var(--color-primary-contrast)}.pagination__link--disabled{color:var(--color-disabled-text);pointer-events:none}.pagination__ellipsis{padding-inline:var(--space-2);color:var(--color-text-muted)}}@layer components{.modal{border:none;border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);padding:0;width:100%;max-width:32rem;background:var(--color-surface);color:var(--color-text)}.modal::backdrop{background:var(--color-overlay)}.modal__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-4);border-bottom:var(--border-width) solid var(--color-border)}.modal__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.modal__close{background:none;border:none;cursor:pointer;color:var(--color-text-muted);font-size:var(--font-size-xl);line-height:1}.modal__close:hover{color:var(--color-text)}.modal__close:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}.modal__body{padding:var(--space-4)}.modal__footer{display:flex;justify-content:flex-end;gap:var(--space-2);padding:var(--space-4);border-top:var(--border-width) solid var(--color-border)}}@layer components{.toast-region{position:fixed;bottom:var(--space-4);inset-inline-end:var(--space-4);z-index:var(--z-toast);display:flex;flex-direction:column;gap:var(--space-2);max-width:min(24rem,calc(100vw - 2 * var(--space-4)));max-height:50vh;overflow:hidden;pointer-events:none}.toast-region>*{pointer-events:auto}.toast{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);box-shadow:var(--shadow-lg);animation:toast-in var(--transition-base)}.toast__icon{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:var(--radius-full);background:var(--color-surface-sunken);color:var(--color-text-muted)}.toast__body{flex:1 1 auto;min-width:0;font-size:var(--font-size-sm)}.toast__meta{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:1px}.toast__action{flex:0 0 auto;min-height:24px;background:none;border:none;border-radius:var(--radius-sm);padding:0 var(--space-1);font:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-accent, var(--color-primary));cursor:pointer}.toast__close{flex:0 0 auto;align-self:center;display:inline-flex;align-items:center;justify-content:center;min-width:24px;min-height:24px;margin:-4px;background:none;border:none;border-radius:var(--radius-sm);padding:0;color:var(--color-text-subtle);cursor:pointer}.toast__close:hover{color:var(--color-text)}.toast__close:focus-visible{outline:var(--ring-width) solid var(--ring-color);outline-offset:var(--ring-offset)}.toast--ink{align-items:center;background:var(--color-surface-inverse);border-color:transparent;color:var(--color-text-inverse)}.toast--ink .toast__meta,.toast--ink .toast__close{color:var(--color-text-inverse);color:color-mix(in oklab,var(--color-text-inverse) 60%,transparent)}.toast--ink .toast__action{color:var(--color-accent-inverse, var(--color-primary-contrast))}.toast--success .toast__icon{background:var(--color-success-soft);color:var(--color-success)}.toast--warning .toast__icon{background:var(--color-warning-soft);color:var(--color-warning)}.toast--danger .toast__icon{background:var(--color-danger-soft);color:var(--color-danger)}.toast--info .toast__icon{background:var(--color-info-soft);color:var(--color-info)}@keyframes toast-in{0%{transform:translateY(var(--space-2));opacity:0}to{transform:translateY(0);opacity:1}}}@layer components{.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px var(--space-2);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);line-height:var(--line-height-tight);background:var(--color-surface-sunken);color:var(--color-text-muted);border:var(--border-width) solid transparent}.badge__dot{flex:0 0 auto;width:6px;height:6px;border-radius:var(--radius-full);background:currentColor}.badge--primary{background:var(--color-primary);color:var(--color-primary-contrast)}.badge--accent{background:var(--color-accent, var(--color-primary));color:var(--color-accent-contrast, var(--color-primary-contrast))}.badge--neutral{background:var(--color-surface-sunken);border-color:var(--color-border);color:var(--color-text-muted)}.badge--success{background:var(--color-success-soft);color:var(--color-success-soft-text)}.badge--warning{background:var(--color-warning-soft);color:var(--color-warning-soft-text)}.badge--danger{background:var(--color-danger-soft);color:var(--color-danger-soft-text)}.badge--info{background:var(--color-info-soft);color:var(--color-info-soft-text)}.badge--code{border-radius:var(--radius-sm);padding:1px var(--space-2);font-family:var(--font-family-mono);font-size:var(--font-size-2xs);color:var(--color-text-muted)}.chip{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);background:var(--color-surface);border:var(--border-width) solid var(--color-border);font-size:var(--font-size-sm);color:var(--color-text)}.chip--removable{padding-inline-end:var(--space-1)}.chip__remove{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;margin-block:-3px;padding:0;background:var(--color-surface-sunken);border:none;border-radius:var(--radius-full);cursor:pointer;color:var(--color-text-muted)}.chip__remove:hover{background:var(--color-danger-soft);color:var(--color-danger-soft-text)}.chip__remove:focus-visible{outline:var(--ring-width) solid var(--ring-color);outline-offset:1px}}@layer components{.avatar{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:2.5rem;height:2.5rem;border-radius:var(--radius-full);background:var(--color-secondary);color:var(--color-secondary-contrast);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);overflow:hidden}.avatar>img{width:100%;height:100%;object-fit:cover}.avatar--sm{width:2rem;height:2rem;font-size:var(--font-size-xs)}.avatar--lg{width:3.5rem;height:3.5rem;font-size:var(--font-size-xl)}.avatar-group{display:flex}.avatar-group .avatar{margin-left:-.5rem;border:2px solid var(--color-surface)}.avatar-group .avatar:first-child{margin-left:0}}@layer components{.breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-muted);list-style:none}.breadcrumb__item{display:flex;align-items:center;gap:var(--space-2)}.breadcrumb__item:not(:last-child):after{content:"/";color:var(--color-border-strong)}.breadcrumb__link{color:var(--color-text-muted)}.breadcrumb__link:hover{color:var(--color-primary)}.breadcrumb__item[aria-current=page]{color:var(--color-text);font-weight:var(--font-weight-medium)}}@layer components{.tooltip{position:relative;display:inline-block}.tooltip__content{position:absolute;bottom:100%;left:50%;transform:translate(-50%) translateY(-.25rem);background:var(--color-surface-inverse);color:var(--color-text-inverse);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-size:var(--font-size-xs);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--transition-fast);z-index:var(--z-popover)}.tooltip:hover .tooltip__content,.tooltip:focus-within .tooltip__content{opacity:1}}@layer components{.progress{appearance:none;display:block;width:100%;height:.5rem;border:none;border-radius:var(--radius-full);overflow:hidden;background:var(--color-surface-alt)}.progress::-webkit-progress-bar{background:var(--color-surface-alt)}.progress::-webkit-progress-value{background:var(--color-primary);border-radius:var(--radius-full)}.progress::-moz-progress-bar{background:var(--color-primary);border-radius:var(--radius-full)}.spinner{display:inline-block;width:1.5rem;height:1.5rem;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:var(--radius-full);animation:spinner-spin .7s linear infinite}@keyframes spinner-spin{to{transform:rotate(360deg)}}}@layer components{:root{--apx-accent: var(--color-accent, var(--color-primary));--apx-fore: var(--color-text);--apx-grid: var(--color-border);--apx-surface: var(--color-surface);--apx-bg: transparent;--apx-series-1: var(--color-accent, var(--color-primary));--apx-series-2: var(--color-info);--apx-series-3: var(--color-success);--apx-series-4: var(--color-warning);--apx-series-5: var(--color-danger);--apx-series-6: var(--color-secondary, var(--color-text-muted))}.chart{position:relative;width:100%;min-width:0;color:var(--color-text)}.chart .apexcharts-tooltip,.chart .apexcharts-menu{background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);color:var(--color-text);font-family:var(--font-family-base)}.chart .apexcharts-tooltip-title{background:var(--color-surface-sunken, var(--color-surface-alt));border-bottom:var(--border-width) solid var(--color-border)}.chart .apexcharts-xaxistooltip,.chart .apexcharts-yaxistooltip{background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text)}.chart .apexcharts-menu-item:hover{background:var(--color-surface-sunken, var(--color-surface-alt))}}@layer components{.error-page{padding-block:var(--space-16)}.error-page__meta{font-size:var(--font-size-xs);letter-spacing:.05em;color:var(--color-text-muted);text-transform:uppercase}.error-page h1{margin:var(--space-2) 0 var(--space-4)}.error-page__details{margin-top:var(--space-4);border-collapse:collapse;font-size:var(--font-size-sm)}.error-page__details th,.error-page__details td{padding:var(--space-1) var(--space-3);text-align:left;border-bottom:var(--border-width) solid var(--color-border)}.error-page__debug{margin-top:var(--space-4);padding:var(--space-4);border-radius:var(--radius-md);background:var(--color-surface-inverse);color:var(--color-danger-soft);overflow:auto;font-size:var(--font-size-xs);font-family:var(--font-family-mono)}.error-page__actions{margin-top:var(--space-6)}.error-page__request-id{margin-top:var(--space-6);font-size:var(--font-size-xs);color:var(--color-text-muted)}}@layer components{.data-table{--data-table-header-height: 34px;--data-table-select-width: 48px;display:flex;flex-direction:column;border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.data-table>:first-child{border-start-start-radius:inherit;border-start-end-radius:inherit}.data-table>:last-child{border-end-start-radius:inherit;border-end-end-radius:inherit}.data-table__form{display:flex;flex-direction:column;min-height:0}.data-table__form>:first-child{border-start-start-radius:inherit;border-start-end-radius:inherit}.data-table__form>:last-child{border-end-start-radius:inherit;border-end-end-radius:inherit}.data-table__toolbar{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;padding:var(--space-3) var(--space-4);border-bottom:var(--border-width) solid var(--color-border-subtle)}.data-table__title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.data-table__bulk{position:sticky;top:0;inset-inline-start:0;z-index:5;display:flex;align-items:center;gap:var(--space-2);box-sizing:border-box;height:var(--data-table-header-height);margin-block-end:calc(-1 * var(--data-table-header-height));width:100%;padding:0 var(--space-4) 0 calc(var(--data-table-select-width) + var(--space-4));overflow-x:auto;overflow-y:hidden;white-space:nowrap;background:var(--color-surface-inverse);color:var(--color-text-inverse);font-size:var(--font-size-sm)}.data-table__bulk[hidden]{display:none}.data-table__bulk-count{flex:none;font-weight:var(--font-weight-medium)}.data-table__bulk-sep{flex:none;width:var(--border-width);height:16px;background:var(--color-text-muted);background:color-mix(in oklab,var(--color-text-inverse) 20%,transparent)}.data-table__bulk .btn{flex:none;height:26px;padding-inline:var(--space-2);font-size:var(--font-size-xs);background:transparent;border-color:var(--color-text-muted);border-color:color-mix(in oklab,var(--color-text-inverse) 22%,transparent);color:var(--color-text-inverse);box-shadow:none}.data-table__bulk .btn:hover{background:#80808040;background:color-mix(in oklab,var(--color-text-inverse) 10%,transparent)}.data-table__bulk .btn--danger{background:var(--color-danger);border-color:var(--color-danger);color:var(--color-danger-contrast)}.data-table__scroll{position:relative;overflow:auto;max-height:var(--data-table-max-height, none)}.data-table__scroll--sm{--data-table-max-height: 240px}.data-table__scroll--md{--data-table-max-height: 400px}.data-table__scroll--lg{--data-table-max-height: 600px}.data-table__table{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--font-size-sm)}.data-table__table th{position:sticky;top:0;z-index:3;height:var(--data-table-header-height);box-sizing:border-box;padding-inline:var(--space-4);text-align:start;white-space:nowrap;background:var(--color-surface-alt);border-bottom:var(--border-width) solid var(--color-border);font-family:var(--font-family-mono);font-size:var(--font-size-2xs);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-caps);text-transform:uppercase;color:var(--color-text-subtle)}.data-table__table td{height:34px;padding-inline:var(--space-4);white-space:nowrap;border-bottom:var(--border-width) solid var(--color-border-subtle);background:var(--color-surface)}.data-table__table tbody tr:hover td{background:var(--color-surface-alt)}.data-table__row--selected td{background:var(--color-surface-sunken, var(--color-surface-alt));background:color-mix(in oklab,var(--color-accent, var(--color-primary)) 5%,var(--color-surface))}.data-table__select{position:sticky;inset-inline-start:0;z-index:1;box-sizing:border-box;width:var(--data-table-select-width);min-width:var(--data-table-select-width);padding-inline:0 0;padding-inline-start:var(--space-4)}th.data-table__select{z-index:6}.data-table__select+.data-table__cell--pinned{inset-inline-start:var(--data-table-select-width)}.data-table__cell--pinned{position:sticky;inset-inline-start:0;z-index:1;border-inline-end:var(--border-width) solid var(--color-border-subtle)}th.data-table__cell--pinned{z-index:4}.data-table__mono{font-family:var(--font-family-mono);font-size:var(--font-size-xs)}.data-table__num{text-align:end;font-variant-numeric:tabular-nums}.data-table__select input{width:16px;height:16px;margin:0;accent-color:var(--color-accent, var(--color-primary));cursor:pointer}.data-table__select input:focus-visible{outline:var(--ring-width) solid var(--ring-color);outline-offset:var(--ring-offset)}.data-table__actions{width:40px;text-align:center}td.data-table__actions{position:sticky;inset-inline-end:0;background:var(--color-surface)}td.data-table__select,td.data-table__cell--pinned{z-index:2}.data-table__row-actions{position:absolute;inset-block:0;inset-inline-end:0;z-index:1;display:flex;align-items:center;gap:var(--space-2);width:max-content;padding-inline:var(--space-3);overflow-x:auto;overflow-y:hidden;white-space:nowrap;background:var(--color-surface-inverse);color:var(--color-text-inverse);font-size:var(--font-size-sm)}.data-table__row-actions .btn{flex:none;height:26px;padding-inline:var(--space-2);font-size:var(--font-size-xs);background:transparent;border-color:var(--color-text-muted);border-color:color-mix(in oklab,var(--color-text-inverse) 22%,transparent);color:var(--color-text-inverse);box-shadow:none}.data-table__row-actions .btn:hover{background:var(--color-surface-alt);background:color-mix(in oklab,var(--color-text-inverse) 12%,transparent)}.data-table__row-actions .btn--danger{border-color:var(--color-danger);background:var(--color-danger);color:var(--color-danger-contrast)}.data-table__row-actions .btn--icon{border-color:transparent}@keyframes data-table-row-actions-in{0%{clip-path:inset(0 0 0 100%)}to{clip-path:inset(0)}}@keyframes data-table-row-actions-out{0%{clip-path:inset(0)}to{clip-path:inset(0 0 0 100%)}}.data-table__row-actions:not([hidden]){animation:data-table-row-actions-in var(--transition-base)}.data-table__row-actions.is-closing{animation-name:data-table-row-actions-out;animation-fill-mode:forwards;pointer-events:none}@media(prefers-reduced-motion:reduce){.data-table__row-actions:not([hidden]),.data-table__row-actions.is-closing{animation:none}}.data-table__row-actions-sep{flex:none;width:var(--border-width);height:16px;background:var(--color-text-muted);background:color-mix(in oklab,var(--color-text-inverse) 20%,transparent)}.data-table__footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;padding:var(--space-2) var(--space-4);border-top:var(--border-width) solid var(--color-border);background:var(--color-surface-alt);font-size:var(--font-size-xs);color:var(--color-text-muted)}.data-table__sort{display:inline-flex;align-items:center;gap:var(--space-1);min-height:24px;padding:0;border:none;border-radius:var(--radius-sm);background:none;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer}th[aria-sort] .data-table__sort{color:var(--color-text)}.data-table__sort:focus-visible{outline:var(--ring-width) solid var(--ring-color);outline-offset:var(--ring-offset)}.data-table__empty{padding:var(--space-8);text-align:center;color:var(--color-text-muted)}.data-table__empty>.empty{justify-content:center;margin-inline:auto}}@layer components{.combobox,.combobox__anchor{position:relative}.combobox--open>.form-field__help,.combobox[aria-expanded=true]>.form-field__help{visibility:hidden}.combobox__field{display:flex;align-items:center;height:var(--control-height-md);padding-inline:var(--space-2) var(--space-3);border:var(--border-width) solid var(--color-border-control, var(--color-border-strong));border-radius:var(--radius-md);background:var(--color-surface)}.combobox__field:focus-within{outline:var(--ring-width) solid var(--ring-color);outline-offset:1px;border-color:var(--color-primary)}.combobox[aria-expanded=true] .combobox__field,.combobox--open .combobox__field{border-end-start-radius:0;border-end-end-radius:0;border-color:var(--ring-color);box-shadow:0 0 0 1px var(--ring-color)}.combobox--open .combobox__field:focus-within{outline:none;border-color:var(--ring-color)}.combobox--open .combobox__list{border-color:var(--ring-color);box-shadow:0 0 0 1px var(--ring-color),var(--shadow-lg)}.combobox__input{flex:1 1 auto;min-width:0;height:100%;padding-inline-start:var(--space-2);border:none;outline:none;background:transparent;font:inherit;font-size:var(--font-size-base);color:var(--color-text)}.combobox__input::placeholder{color:var(--color-text-subtle)}.combobox__caret{flex:0 0 auto;display:inline-flex;color:var(--color-text-muted);cursor:pointer}.combobox__list{position:absolute;inset-inline:0;top:100%;z-index:var(--z-dropdown);border:var(--border-width) solid var(--color-primary);border-top:none;border-end-start-radius:var(--radius-md);border-end-end-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-lg);overflow:hidden}.combobox__list[hidden]{display:none}.combobox__group{padding:var(--space-2) var(--space-3) var(--space-1);border-top:var(--border-width) solid var(--color-border-subtle);font-family:var(--font-family-mono);font-size:var(--font-size-2xs);letter-spacing:var(--letter-spacing-caps);text-transform:uppercase;color:var(--color-text-subtle)}.combobox__group:first-child{border-top:none}.combobox__option{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);cursor:pointer}.combobox__option:hover,.combobox__option[data-active]{background:var(--color-surface-sunken)}.combobox__option-lead{flex:0 0 auto;display:inline-flex;align-items:center}.combobox__option-label{flex:1 1 auto;min-width:0;font-size:var(--font-size-sm)}.combobox__match{font-weight:var(--font-weight-semibold);background:var(--color-warning-soft);background:color-mix(in oklab,var(--color-accent, var(--color-primary)) 22%,var(--color-surface));border-radius:2px}.combobox__option-meta{flex:0 0 auto;font-size:var(--font-size-2xs);color:var(--color-text-subtle)}.combobox__check{flex:0 0 auto;display:inline-flex;color:var(--color-text)}.combobox__empty{padding:var(--space-4) var(--space-3);font-size:var(--font-size-sm);color:var(--color-text-muted)}.combobox__hints{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-top:var(--border-width) solid var(--color-border-subtle);background:var(--color-surface-alt);font-size:var(--font-size-2xs);color:var(--color-text-subtle)}.combobox__count{margin-inline-start:auto;font-family:var(--font-family-mono)}.combobox--multi .combobox__field{height:auto;min-height:var(--control-height-md);flex-wrap:wrap;gap:var(--space-1);padding:var(--space-1) var(--space-2)}.combobox__token{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px var(--space-1) 2px var(--space-2);border-radius:var(--radius-sm);background:var(--color-surface-sunken);font-size:var(--font-size-sm)}.combobox__token-remove{display:inline-flex;align-items:center;justify-content:center;min-width:24px;min-height:24px;margin-block:-6px;padding:0;background:none;border:none;color:var(--color-text-muted);cursor:pointer}.combobox__token-remove:hover{color:var(--color-danger)}.combobox__token-remove:focus-visible{outline:var(--ring-width) solid var(--ring-color);outline-offset:1px}.combobox__option[aria-disabled=true]{color:var(--color-disabled-text);cursor:not-allowed}}@layer components{.datepicker{position:relative;display:flex;flex-direction:column}.datepicker--open:not(.datepicker--inline){z-index:var(--z-popover)}.datepicker--inline .datepicker__panel{position:static;z-index:auto;margin-top:var(--space-3)}.datepicker--end .datepicker__panel{inset-inline-start:auto;inset-inline-end:0}.datepicker__trigger:disabled{color:var(--color-disabled-text);background:var(--color-surface-alt);cursor:not-allowed}.datepicker__trigger{display:inline-flex;align-items:center;gap:var(--space-2);height:var(--control-height-md);padding-inline:var(--space-3);border:var(--border-width) solid var(--color-border-control, var(--color-border-strong));border-radius:var(--radius-md);background:var(--color-surface);font:inherit;font-size:var(--font-size-sm);font-variant-numeric:tabular-nums;color:var(--color-text);cursor:pointer}.datepicker__trigger[aria-expanded=true]{border-color:var(--color-primary)}.datepicker__trigger-icon{display:inline-flex;color:var(--color-text-muted)}.datepicker__panel{position:absolute;top:calc(100% + var(--space-1));inset-inline-start:0;z-index:var(--z-popover);max-width:calc(100vw - 2 * var(--space-4));border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-lg);overflow:hidden;width:max-content}.datepicker__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-bottom:var(--border-width) solid var(--color-border-subtle)}.datepicker__nav-group{display:inline-flex;gap:var(--space-1)}.datepicker__nav{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:var(--border-width) solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-muted);cursor:pointer}.datepicker__nav:hover{background:var(--color-surface-sunken);color:var(--color-text)}.datepicker__nav:focus-visible{outline:var(--ring-width) solid var(--ring-color);outline-offset:1px}.datepicker__month{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.datepicker__grid{padding:var(--space-2) var(--space-3)}.datepicker__weekdays,.datepicker__days{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.datepicker__weekdays{margin-bottom:var(--space-1)}.datepicker__weekday{padding-block:3px;text-align:center;font-family:var(--font-family-mono);font-size:var(--font-size-2xs);color:var(--color-text-subtle)}.datepicker__day{display:flex;align-items:center;justify-content:center;height:30px;border:none;border-radius:var(--radius-sm);background:transparent;font:inherit;font-size:var(--font-size-sm);font-variant-numeric:tabular-nums;color:var(--color-text);cursor:pointer}.datepicker__day:hover{background:var(--color-surface-sunken)}.datepicker__day:focus-visible{outline:var(--ring-width) solid var(--ring-color);outline-offset:-1px}.datepicker__day--outside{color:var(--color-text-subtle)}.datepicker__day--today{box-shadow:inset 0 0 0 1.5px var(--color-accent, var(--color-primary))}.datepicker__day--in-range{background:var(--color-surface-sunken, var(--color-surface-alt));background:color-mix(in oklab,var(--color-accent, var(--color-primary)) 8%,var(--color-surface));border-radius:0}.datepicker__day--start,.datepicker__day--end{background:var(--color-primary);color:var(--color-primary-contrast)}.datepicker__day--start{border-start-end-radius:0;border-end-end-radius:0}.datepicker__day--end{border-start-start-radius:0;border-end-start-radius:0}.datepicker__day--start.datepicker__day--end{border-radius:var(--radius-sm)}.datepicker__day:disabled{color:var(--color-disabled-text);cursor:not-allowed}.datepicker__footer{display:flex;align-items:center;gap:var(--space-1);flex-wrap:wrap;padding:var(--space-2) var(--space-3);border-top:var(--border-width) solid var(--color-border-subtle);background:var(--color-surface-alt)}.datepicker__preset{height:28px;padding-inline:var(--space-2);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);font:inherit;font-size:var(--font-size-2xs);color:var(--color-text-muted);cursor:pointer}.datepicker__preset:hover{border-color:var(--color-primary);color:var(--color-text)}.datepicker__apply{margin-inline-start:auto;height:28px;padding-inline:var(--space-3);border:none;border-radius:var(--radius-sm);background:var(--color-primary);color:var(--color-primary-contrast);font:inherit;font-size:var(--font-size-2xs);font-weight:var(--font-weight-medium);cursor:pointer}}@layer components{.command{position:fixed;inset:0;z-index:var(--z-modal);display:flex;justify-content:center;padding:min(12vh,var(--space-8)) var(--space-4) var(--space-4);background:var(--color-overlay);overflow-y:auto}.command__search:focus-within{box-shadow:inset 0 calc(var(--ring-width) * -1) 0 var(--ring-color)}.command__esc:focus-visible,.command__item:focus-visible{outline:var(--ring-width) solid var(--ring-color);outline-offset:-2px}.command[hidden]{display:none}.command--inline{position:static;inset:auto;padding:0;background:none;display:block}.command__sheet{width:100%;max-width:34rem;align-self:flex-start;border:var(--border-width) solid var(--color-border-strong);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-xl);overflow:hidden}.command--inline .command__sheet{max-width:none}.command__search{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:var(--border-width) solid var(--color-border-subtle)}.command__search-icon{flex:0 0 auto;display:inline-flex;color:var(--color-text-subtle)}.command__input{flex:1 1 auto;min-width:0;border:none;outline:none;background:transparent;font:inherit;font-size:var(--font-size-lg);color:var(--color-text)}.command__input::placeholder{color:var(--color-text-subtle)}.command__list{padding:var(--space-1);max-height:min(22rem,55vh);overflow-y:auto}.command__group{padding:var(--space-2) var(--space-2) var(--space-1);font-family:var(--font-family-mono);font-size:var(--font-size-2xs);letter-spacing:var(--letter-spacing-caps);text-transform:uppercase;color:var(--color-text-subtle)}.command__item{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-2);border:none;border-radius:var(--radius-sm);background:transparent;font:inherit;text-align:left;color:var(--color-text);cursor:pointer}.command__item:hover{background:var(--color-surface-sunken)}.command__item[data-active]{background:var(--color-primary);color:var(--color-primary-contrast)}.command__item-icon{flex:0 0 auto;display:inline-flex;opacity:.75}.command__item-badge{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:var(--radius-sm);background:var(--color-surface-sunken);color:var(--color-text-muted);font-family:var(--font-family-mono);font-size:var(--font-size-2xs)}.command__item-label{flex:1 1 auto;min-width:0;font-size:var(--font-size-sm)}.command__match{font-weight:var(--font-weight-semibold)}.command__item-meta{flex:0 0 auto;font-size:var(--font-size-xs);color:var(--color-text-subtle)}.command__item[data-active] .command__item-meta,.command__item[data-active] .command__item-badge{color:var(--color-primary-contrast);color:color-mix(in oklab,var(--color-primary-contrast) 70%,transparent);background:transparent}.command__kbd{display:inline-flex;align-items:center;padding:1px var(--space-2);border-radius:var(--radius-sm);background:var(--color-surface-sunken);font-family:var(--font-family-mono);font-size:var(--font-size-2xs);color:var(--color-text-muted)}.command__item[data-active] .command__kbd{background:#8080804d;background:color-mix(in oklab,var(--color-primary-contrast) 16%,transparent);color:var(--color-primary-contrast)}.command__esc{flex:0 0 auto;border:var(--border-width) solid transparent;cursor:pointer}.command__esc:hover{border-color:var(--color-border-strong);color:var(--color-text)}.command__empty{padding:var(--space-5) var(--space-2);text-align:center;font-size:var(--font-size-sm);color:var(--color-text-muted)}.command__footer{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-2) var(--space-4);border-top:var(--border-width) solid var(--color-border-subtle);background:var(--color-surface-alt);font-size:var(--font-size-2xs);color:var(--color-text-subtle)}.command__count{margin-inline-start:auto;font-family:var(--font-family-mono)}.command__trigger{color:var(--color-text-muted);font-weight:var(--font-weight-normal)}@media screen and (min-width:576px){.command__trigger{min-width:14rem;justify-content:flex-start}.command__trigger .command__kbd{margin-inline-start:auto}}}@layer components{.dropzone{display:flex;flex-direction:column;gap:var(--space-3)}.dropzone__area{position:relative;display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-6) var(--space-4);border:1.5px dashed var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface-alt);text-align:center;transition:border-color var(--transition-fast),background var(--transition-fast)}.dropzone__area:focus-within,.dropzone__area--over{border-color:var(--color-accent, var(--color-primary));background:var(--color-surface);background:color-mix(in oklab,var(--color-accent, var(--color-primary)) 5%,var(--color-surface))}.dropzone__input{position:absolute;inset:0;opacity:0;cursor:pointer}.dropzone__icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:var(--radius-md);background:var(--color-surface);border:var(--border-width) solid var(--color-border);color:var(--color-text-muted)}.dropzone__area--over .dropzone__icon,.dropzone__area:focus-within .dropzone__icon{color:var(--color-accent, var(--color-primary))}.dropzone__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.dropzone__browse{color:var(--color-accent, var(--color-primary));text-decoration:underline;text-underline-offset:.18em}.dropzone__hint{font-size:var(--font-size-xs);color:var(--color-text-muted)}.dropzone__files{display:flex;flex-direction:column;gap:var(--space-2)}.dropzone__file{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md)}.dropzone__file--error{border-color:var(--color-danger-soft-text);border-color:color-mix(in oklab,var(--color-danger) 25%,var(--color-border));background:var(--color-danger-soft);background:color-mix(in oklab,var(--color-danger) 3%,var(--color-surface))}.dropzone__file-icon{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-sm);background:var(--color-surface-sunken);color:var(--color-text-muted);font-family:var(--font-family-mono);font-size:9px;text-transform:uppercase}.dropzone__file--done .dropzone__file-icon{background:var(--color-success-soft);color:var(--color-success)}.dropzone__file--error .dropzone__file-icon{background:var(--color-danger-soft);color:var(--color-danger)}.dropzone__file-body{display:flex;flex-direction:column;gap:3px;flex:1 1 auto;min-width:0}.dropzone__file-row{display:flex;align-items:baseline;gap:var(--space-2)}.dropzone__file-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropzone__file-size{margin-inline-start:auto;font-size:var(--font-size-2xs);color:var(--color-text-subtle);font-variant-numeric:tabular-nums}.dropzone__file-error{font-size:var(--font-size-2xs);color:var(--color-danger)}.dropzone__bar{appearance:none;display:block;width:100%;height:4px;border:none;border-radius:var(--radius-full);background:var(--color-border-subtle);overflow:hidden}.dropzone__bar::-webkit-progress-bar{background:var(--color-border-subtle)}.dropzone__bar::-webkit-progress-value{background:var(--color-primary);border-radius:var(--radius-full)}.dropzone__bar::-moz-progress-bar{background:var(--color-primary);border-radius:var(--radius-full)}.dropzone__remove{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-width:24px;min-height:24px;border-radius:var(--radius-sm);padding:0;background:none;border:none;color:var(--color-text-subtle);cursor:pointer}.dropzone__remove:hover{color:var(--color-danger)}.dropzone__remove:focus-visible{outline:var(--ring-width) solid var(--ring-color);outline-offset:2px}}@layer components{.slider{display:flex;flex-direction:column;gap:var(--space-2)}.slider__track,.slider__fill,.slider__ticks,.slider__thumb{display:none}.js .slider__track,.js .slider__fill,.js .slider__ticks,.js .slider__thumb{display:block}.js .slider__input{opacity:0}.slider__head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3)}.slider__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.slider__value{font-family:var(--font-family-mono);font-size:var(--font-size-sm);font-variant-numeric:tabular-nums;color:var(--color-text-muted)}.slider__control{position:relative;height:20px;display:flex;align-items:center}.slider__input{position:absolute;inset:0;width:100%;height:100%;margin:0;cursor:pointer}.slider__track{position:absolute;inset-inline:0;height:5px;border-radius:var(--radius-full);background:var(--color-border-subtle);pointer-events:none}.slider__fill{position:absolute;inset-inline-start:0;width:var(--slider-pct, 0%);height:5px;border-radius:var(--radius-full);background:var(--color-primary);pointer-events:none}.slider__thumb{position:absolute;inset-inline-start:var(--slider-pct, 0%);margin-inline-start:-8.5px;width:17px;height:17px;border-radius:var(--radius-full);background:var(--color-surface);border:1.5px solid var(--color-primary);box-shadow:var(--shadow-sm);pointer-events:none}.slider__input:focus-visible~.slider__thumb{outline:var(--ring-width) solid var(--ring-color);outline-offset:var(--ring-offset)}.slider__scale{display:flex;justify-content:space-between;font-family:var(--font-family-mono);font-size:var(--font-size-2xs);color:var(--color-text-subtle)}.slider--range .slider__fill{inset-inline-start:var(--slider-from, 0%);width:calc(var(--slider-to, 100%) - var(--slider-from, 0%));border-radius:0}.slider__thumb--from{inset-inline-start:var(--slider-from, 0%)}.slider__thumb--to{inset-inline-start:var(--slider-to, 100%)}.slider--stepped .slider__fill{background:var(--color-accent, var(--color-primary))}.slider--stepped .slider__thumb{background:var(--color-accent, var(--color-primary));border-color:var(--color-accent, var(--color-primary))}.slider__ticks{position:absolute;inset-inline:0;display:flex;justify-content:space-between;align-items:center;pointer-events:none}.slider__tick{width:3px;height:3px;border-radius:var(--radius-full);background:var(--color-surface)}.slider__scale-item--active{color:var(--color-accent, var(--color-primary));font-weight:var(--font-weight-medium)}}@layer components{.segmented{position:relative;display:inline-flex;gap:2px;padding:3px;border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-sunken)}.js .segmented:before{content:"";position:absolute;top:3px;bottom:3px;inset-inline-start:3px;width:var(--segmented-w, 0px);border-radius:var(--radius-sm);background:var(--color-surface);box-shadow:var(--shadow-sm);transform:translate(var(--segmented-x, 0px));transition:transform var(--transition-base),width var(--transition-base);pointer-events:none}.js .segmented:not([data-segmented-ready]):before{display:none}@media(prefers-reduced-motion:reduce){.js .segmented:before{transition:none}}.segmented__item{position:relative;display:inline-flex}.segmented__input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}.segmented__label{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:28px;padding-inline:var(--space-4);border-radius:var(--radius-sm);background:transparent;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-muted);white-space:nowrap;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.segmented__input:checked+.segmented__label{background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-sm)}.js .segmented[data-segmented-ready] .segmented__input:checked+.segmented__label{background:transparent;box-shadow:none}.segmented__item{z-index:1}.segmented__input:focus-visible+.segmented__label{outline:var(--ring-width) solid var(--ring-color);outline-offset:1px}.segmented__input:disabled+.segmented__label{color:var(--color-disabled-text);cursor:not-allowed}.segmented--sm .segmented__label{height:24px;padding-inline:var(--space-3);font-size:var(--font-size-2xs)}.segmented--icon .segmented__label{width:28px;padding-inline:0}.segmented--block{display:flex}.segmented--block .segmented__item,.segmented--block .segmented__label{flex:1 1 0}}@layer components{.popover{position:relative;display:inline-block}.popover__panel{position:absolute;top:calc(100% + var(--space-2));inset-inline-start:50%;transform:translate(-50%);z-index:var(--z-popover);width:max-content;max-width:min(18rem,calc(100vw - 2 * var(--space-4)));border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-lg)}.popover__panel[hidden]{display:none}.popover__arrow{position:absolute;top:-5px;inset-inline-start:50%;transform:translate(-50%) rotate(45deg);width:9px;height:9px;background:var(--color-surface);border-inline-start:var(--border-width) solid var(--color-border);border-top:var(--border-width) solid var(--color-border)}.popover--start .popover__panel{inset-inline-start:0;transform:none}.popover--start .popover__arrow{inset-inline-start:var(--space-4);transform:rotate(45deg)}.popover--end .popover__panel{inset-inline-start:auto;inset-inline-end:0;transform:none}.popover--end .popover__arrow{inset-inline-start:auto;inset-inline-end:var(--space-4);transform:rotate(45deg)}.popover__header{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-3) var(--space-2)}.popover__title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.popover__subtitle{font-size:var(--font-size-xs);color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.popover__body{padding:0 var(--space-3) var(--space-3);font-size:var(--font-size-sm);line-height:var(--line-height-base)}.popover__stats{display:flex;gap:var(--space-4);padding:0 var(--space-3) var(--space-3)}.popover__stat{display:flex;flex-direction:column}.popover__stat-value{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);font-variant-numeric:tabular-nums}.popover__stat-label{font-size:var(--font-size-2xs);color:var(--color-text-subtle)}.popover__footer{display:flex;gap:var(--space-2);padding:var(--space-3);border-top:var(--border-width) solid var(--color-border-subtle)}.popover__footer .btn{flex:1 1 0}}@layer components{.timeline{display:flex;flex-direction:column;list-style:none;margin:0;padding:0}.timeline__item{display:flex;gap:var(--space-3)}.timeline__rail{display:flex;flex-direction:column;align-items:center;flex:0 0 auto}.timeline__marker{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:var(--radius-full);background:var(--color-surface-sunken);color:var(--color-text-muted)}.timeline__line{flex:1 1 auto;width:1.5px;margin-block:var(--space-1);background:var(--color-border)}.timeline__item:last-child .timeline__line{display:none}.timeline__body{display:flex;flex-direction:column;gap:1px;padding-bottom:var(--space-4)}.timeline__item:last-child .timeline__body{padding-bottom:0}.timeline__title{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.timeline__meta{font-size:var(--font-size-xs);color:var(--color-text-muted)}.timeline__item--done .timeline__marker{background:var(--color-success-soft);color:var(--color-success)}.timeline__item--current .timeline__marker{background:var(--color-warning-soft);color:var(--color-warning)}.timeline__item--pending .timeline__marker{background:var(--color-surface-sunken);border:1.5px dashed var(--color-border-strong)}.timeline__item--pending .timeline__line{background:none;border-inline-start:1.5px dashed var(--color-border)}.timeline__item--pending .timeline__title{color:var(--color-text-subtle)}}@layer components{.empty{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-8) var(--space-5);border:var(--border-width) solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-surface-alt);text-align:center}.empty__icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--radius-md);background:var(--color-surface);border:var(--border-width) solid var(--color-border);box-shadow:var(--shadow-sm);color:var(--color-text-muted)}.empty__title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-tight)}.empty__text{max-width:34ch;font-size:var(--font-size-sm);line-height:var(--line-height-base);color:var(--color-text-muted);text-wrap:pretty}.empty__actions{display:flex;gap:var(--space-2);margin-top:var(--space-1)}.empty--inline{flex-direction:row;align-items:center;gap:var(--space-3);padding:var(--space-4);border-style:dashed;border-color:var(--color-border);background:var(--color-surface);text-align:start}.empty--inline .empty__icon{width:30px;height:30px;border:none;border-radius:var(--radius-sm);background:var(--color-surface-sunken);box-shadow:none;color:var(--color-text-subtle)}.empty--inline .empty__body{display:flex;flex-direction:column;gap:1px;flex:1 1 auto;min-width:0}.empty--inline .empty__title{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.empty--inline .empty__text{max-width:none;font-size:var(--font-size-xs)}.empty--inline .empty__actions{margin-top:0}.empty--error{border-style:solid;border-color:var(--color-danger-soft-text);border-color:color-mix(in oklab,var(--color-danger) 25%,var(--color-border));background:var(--color-danger-soft);background:color-mix(in oklab,var(--color-danger) 3%,var(--color-surface))}.empty--error .empty__icon{background:var(--color-danger-soft);color:var(--color-danger)}.empty__code{font-family:var(--font-family-mono);font-size:var(--font-size-xs);color:var(--color-text-muted)}.empty--page{min-height:60vh;justify-content:center;border:none;background:none}.empty--page .empty__title{font-size:var(--font-size-2xl)}}@layer components{.skeleton{position:relative;display:block;overflow:hidden;border-radius:var(--radius-full);background:var(--color-border-subtle)}.skeleton:after{content:"";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,var(--color-surface-alt),transparent);background:linear-gradient(90deg,transparent,color-mix(in oklab,var(--color-border-subtle) 45%,var(--color-surface)),transparent);animation:skeleton-shimmer 1.3s linear infinite}.skeleton--w-xs{width:48px}.skeleton--w-sm{width:72px}.skeleton--w-md{width:104px}.skeleton--w-lg{width:144px}.skeleton--w-xl{width:200px}.skeleton--w-half{width:50%}.skeleton--w-full{width:100%}.skeleton--text{height:10px}.skeleton--title{height:12px;width:60%}.skeleton--block{height:104px;border-radius:var(--radius-sm)}.skeleton--avatar{width:40px;height:40px;flex:0 0 auto}.skeleton--circle{border-radius:var(--radius-full);aspect-ratio:1}.skeleton-stack{display:flex;flex-direction:column;gap:var(--space-2)}.skeleton-row{display:flex;align-items:center;gap:var(--space-3)}.skeleton-card{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4);border:var(--border-width) solid var(--color-border-subtle);border-radius:var(--radius-md)}.skeleton-table{border:var(--border-width) solid var(--color-border-subtle);border-radius:var(--radius-md);overflow:hidden}.skeleton-table__head,.skeleton-table__row{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4)}.skeleton-table__head{background:var(--color-surface-alt);border-bottom:var(--border-width) solid var(--color-border-subtle)}.skeleton-table__head .skeleton{background:var(--color-border);height:8px}.skeleton-table__head .skeleton:after{display:none}.skeleton-table__row+.skeleton-table__row{border-top:var(--border-width) solid var(--color-border-subtle)}.skeleton[aria-hidden=true]{pointer-events:none}@keyframes skeleton-shimmer{to{transform:translate(100%)}}@media(prefers-reduced-motion:reduce){.skeleton:after{display:none}}[data-busy]{position:relative;pointer-events:none}[data-busy]:after{content:"";position:absolute;inset:0;z-index:1;border-radius:inherit;background:var(--color-surface);opacity:.55}[data-busy]:before{content:"";position:absolute;inset:0;z-index:2;transform:translate(-100%);background:linear-gradient(90deg,transparent,var(--color-surface-alt),transparent);background:linear-gradient(90deg,transparent,color-mix(in oklab,var(--color-border-subtle) 45%,var(--color-surface)),transparent);animation:skeleton-shimmer 1.3s linear infinite}@media(prefers-reduced-motion:reduce){[data-busy]:before{display:none}}}@layer components{.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;margin-bottom:var(--space-6)}.page-header__heading{min-width:0}.page-header__title{font-size:var(--font-size-3xl);letter-spacing:var(--letter-spacing-tighter);line-height:var(--line-height-tight)}.page-header__subtitle{margin-top:var(--space-1);color:var(--color-text-muted)}.page-header__actions{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}}@layer components{.stat{display:flex;flex-direction:column;gap:var(--space-1)}.stat__icon{display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;margin-bottom:var(--space-2);border-radius:var(--radius-md);background:var(--color-surface-sunken);color:var(--color-text-muted)}.stat--primary .stat__icon{background:var(--color-surface-sunken);color:var(--color-accent, var(--color-primary))}.stat--success .stat__icon{background:var(--color-success-soft);color:var(--color-success-soft-text)}.stat--warning .stat__icon{background:var(--color-warning-soft);color:var(--color-warning-soft-text)}.stat--danger .stat__icon{background:var(--color-danger-soft);color:var(--color-danger-soft-text)}.stat--info .stat__icon{background:var(--color-info-soft);color:var(--color-info-soft-text)}.stat__label{font-size:var(--font-size-sm);color:var(--color-text-muted)}.stat__value{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-tight);line-height:var(--line-height-tight);font-variant-numeric:tabular-nums}.stat__trend{margin-top:var(--space-1)}}@layer components{.toolbar{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;margin-bottom:var(--space-4)}.toolbar__end{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;margin-inline-start:auto}.toolbar .input-icon{flex:1 1 12rem;max-width:20rem}.toolbar .select{width:auto;min-width:11rem}.toolbar .datepicker{width:auto}.toolbar .datepicker__trigger{width:auto;min-width:15rem}.data-table__toolbar>.toolbar{display:contents}@media screen and (max-width:575px){.toolbar .input-icon,.toolbar .datepicker__trigger,.toolbar .select{flex-basis:100%;max-width:none;min-width:0;width:100%}.toolbar__end{margin-inline-start:0;width:100%}}}@layer components{.otp{display:flex;flex-direction:column;gap:var(--space-2)}.otp__value{height:var(--control-height-lg);padding-inline:var(--space-3);border:var(--border-width) solid var(--color-border-control, var(--color-border-strong));border-radius:var(--radius-md);background:var(--color-surface);font-family:var(--font-family-mono);font-size:var(--font-size-xl);letter-spacing:.3em;color:var(--color-text)}.otp__value:focus-visible{outline:var(--ring-width) solid var(--ring-color);outline-offset:1px;border-color:var(--color-primary)}.otp__cells{display:none;align-items:center;gap:var(--space-2)}.js .otp__cells{display:flex}.js .otp__value{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.otp__cell{width:var(--control-height-lg);height:calc(var(--control-height-lg) + 4px);padding:0;border:var(--border-width) solid var(--color-border-control, var(--color-border-strong));border-radius:var(--radius-md);background:var(--color-surface);text-align:center;font-family:var(--font-family-mono);font-size:var(--font-size-xl);font-weight:var(--font-weight-medium);color:var(--color-text);caret-color:var(--color-accent, var(--color-primary));transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.otp__cell:focus{outline:none;border-color:var(--color-accent, var(--color-primary));box-shadow:0 0 0 var(--ring-width) var(--ring-color)}.otp__cell[data-filled]{border-color:var(--color-border-strong);background:var(--color-surface-alt)}.otp__cell:disabled{background:var(--color-disabled);color:var(--color-disabled-text);cursor:not-allowed}.otp__sep{width:8px;height:var(--border-width-thick);border-radius:var(--radius-full);background:var(--color-border-strong)}.otp--invalid .otp__cell,.otp--invalid .otp__value{border-color:var(--color-danger)}.otp--invalid .otp__cell:focus{box-shadow:0 0 0 var(--ring-width) var(--color-danger)}@media screen and (max-width:575px){.otp__cells{gap:var(--space-1)}.otp__cell{width:clamp(2rem,10vw,var(--control-height-lg));font-size:var(--font-size-lg)}}}@layer components{.card-fields__number{font-variant-numeric:tabular-nums;letter-spacing:.04em}.card-fields__brand{min-width:4.5em;justify-content:center;font-size:var(--font-size-2xs);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-caps);text-transform:uppercase;color:var(--color-text-subtle)}.card-fields__brand:empty{display:none}.card-fields[data-brand=visa] .card-fields__brand,.card-fields[data-brand=mastercard] .card-fields__brand,.card-fields[data-brand=amex] .card-fields__brand,.card-fields[data-brand=discover] .card-fields__brand{color:var(--color-text)}}@layer components{.editor{display:flex;flex-direction:column;border:var(--border-width) solid var(--color-border-control, var(--color-border-strong));border-radius:var(--radius-md);background:var(--color-surface);overflow:hidden}.editor:focus-within{outline:var(--ring-width) solid var(--ring-color);outline-offset:1px;border-color:var(--color-primary)}.editor--invalid{border-color:var(--color-danger)}.editor--disabled{background:var(--color-surface-alt)}.editor__toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:2px;padding:var(--space-1) var(--space-2);border-bottom:var(--border-width) solid var(--color-border-subtle);background:var(--color-surface-sunken, var(--color-surface-alt))}.editor__tool,.editor__view{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;padding-inline:var(--space-2);border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);font:inherit;font-size:var(--font-size-sm);cursor:pointer}.editor__tool:hover,.editor__view:hover{background:var(--color-surface);color:var(--color-text)}.editor__tool[aria-pressed=true],.editor__view[aria-pressed=true]{background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-sm)}.editor__tool:focus-visible,.editor__view:focus-visible{outline:var(--ring-width) solid var(--ring-color);outline-offset:-2px}.editor__tool:disabled{color:var(--color-disabled-text);cursor:not-allowed}.editor__spacer{flex:1 1 auto}.editor__views{display:inline-flex;gap:2px}.editor .editor__source,.editor .editor__surface{border:none;border-radius:0;box-shadow:none;outline:none;resize:vertical}.editor__surface{min-height:8rem;padding:var(--space-3);overflow:auto}.editor__surface:empty:before{content:attr(data-placeholder);color:var(--color-text-subtle);pointer-events:none}.editor__preview{min-height:8rem;padding:var(--space-3)}.editor__preview[hidden]{display:none}html:not(.js) .editor__toolbar,html:not(.js) .editor__surface{display:none}.js .editor--html .editor__source,.js .editor[data-editor-view=preview] .editor__source,.js .editor[data-editor-view=preview] .editor__surface{display:none}.editor__preview-note{margin:0 0 var(--space-2);font-size:var(--font-size-xs);color:var(--color-text-muted)}.editor__preview-raw{margin:0;white-space:pre-wrap;font-family:var(--font-family-mono);font-size:var(--font-size-sm)}}
|
package/dist/ui.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
/*! @tundralibs/ui — MIT — https://github.com/TundraSoft/ui */
|
|
2
|
-
(()=>{const h=new WeakMap;function a(e){const t=e.getAttribute("data-target");if(!t)return e;try{return document.querySelector(t)}catch{return null}}function i(e){if(!e||e.nodeType!==1)return;e.removeAttribute("aria-busy"),delete e.dataset.busy;const t=h.get(e);t&&clearTimeout(t)}function o(e){const t=a(e);!t||t.hasAttribute("data-load")||(t.setAttribute("aria-busy","true"),t.dataset.busy="",h.set(t,setTimeout(()=>i(t),15e3)))}document.addEventListener("click",e=>{if(e.button!==0||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey)return;const t=e.target.closest?.("[data-action]");if(!t||t.tagName==="FORM")return;const c=e.target.closest("a[href]");c&&c!==t&&t.contains(c)||o(t)}),document.addEventListener("submit",e=>{const t=e.target;t?.matches?.("form[data-action]")&&o(t)}),document.addEventListener("rapid:swapped",e=>i(e.target)),document.addEventListener("rapid:error",e=>{i(e.target),document.querySelectorAll("[data-busy]").forEach(i)})})(),(()=>{const v="ui-sidebar-collapsed";try{localStorage.getItem(v)==="1"&&document.querySelectorAll(".sidebar").forEach(h=>{h.classList.add("sidebar--collapsed")})}catch{}document.addEventListener("click",h=>{const a=h.target.closest?.("[data-collapse]");if(!a)return;const i=a.getAttribute("data-collapse");if(!i||i==="#")return;const o=document.querySelector(i);if(!o)return;const e=o.classList.toggle("sidebar--collapsed");a.setAttribute("aria-expanded",String(!e));try{localStorage.setItem(v,e?"1":"0")}catch{}})})(),document.addEventListener("click",v=>{const h=v.target.closest("[data-dismiss]");h&&h.closest("[data-dismissible]")?.remove()}),document.documentElement.classList.add("js"),(()=>{function v(a){const i=a.querySelector("table");return i?[...i.querySelectorAll("tbody tr")]:[...a.querySelectorAll("[data-filter-item]")]}function h(a){const o=(a.querySelector("[data-table-search]")?.value||"").trim().toLowerCase(),e=[...a.querySelectorAll("[data-table-filter]")].filter(u=>!(u.type==="radio"||u.type==="checkbox")||u.checked).map(u=>u.value).filter(Boolean).map(u=>u.toLowerCase());let t=0;v(a).forEach(u=>{const n=u.textContent.toLowerCase(),l=(!o||n.includes(o))&&e.every(s=>n.includes(s));u.hidden=!l,l&&t++});const c=a.querySelector("[data-filter-empty]");c&&(c.hidden=t>0)}document.addEventListener("input",a=>{if(!a.target.matches("[data-table-search]"))return;const i=a.target.closest("[data-filter-scope]");i&&h(i)}),document.addEventListener("change",a=>{if(!a.target.matches("[data-table-filter]"))return;const i=a.target.closest("[data-filter-scope]");i&&h(i)})})(),(()=>{const v="ui-theme",h=document.documentElement;try{const a=localStorage.getItem(v);(a==="dark"||a==="light")&&(h.dataset.theme=a)}catch{}document.addEventListener("click",a=>{if(!a.target.closest("[data-theme-toggle]"))return;const o=matchMedia("(prefers-color-scheme: dark)").matches,t=(h.dataset.theme==="dark"||h.dataset.theme!=="light"&&o?"dark":"light")==="dark"?"light":"dark";h.dataset.theme=t;try{localStorage.setItem(v,t)}catch{}})})(),(()=>{const v=a=>a.hasAttribute("data-toggle-class");document.addEventListener("click",a=>{const i=a.target.closest?.("[data-toggle]");if(!i)return;const o=i.getAttribute("data-toggle"),e=o&&o!=="#"&&document.querySelector(o);if(!e)return;const t=i.getAttribute("aria-expanded")==="true";i.setAttribute("aria-expanded",String(!t)),v(i)||e.toggleAttribute("hidden",t),e.classList.toggle("is-open",!t)}),document.addEventListener("click",a=>{const i=a.target.closest?.("[data-toggle-close]");if(!i)return;const o=i.getAttribute("data-toggle-close"),e=o?document.querySelector(o):i.closest("[data-toggle-panel]");e&&h(e)}),document.addEventListener("keydown",a=>{a.key!=="Escape"||a.defaultPrevented||document.querySelectorAll("[data-toggle-class][aria-expanded='true']").forEach(i=>{const o=document.querySelector(i.getAttribute("data-toggle")??"");o&&(h(o),i.focus(),a.preventDefault())})});function h(a){a.classList.remove("is-open"),document.querySelectorAll('[data-toggle][aria-expanded="true"]').forEach(i=>{const o=i.getAttribute("data-toggle");o&&document.querySelector(o)===a&&(i.setAttribute("aria-expanded","false"),v(i)||a.setAttribute("hidden",""))})}})(),document.addEventListener("change",v=>{const h=v.target.closest?.("[data-view-target]");if(!h||h.type==="radio"&&!h.checked)return;const a=document.querySelector(h.getAttribute("data-view-target")??"");a&&a.setAttribute("data-view",h.value)}),(()=>{const v="[data-chart]",h=new Set,a=globalThis.matchMedia?.("(prefers-color-scheme: dark)");function i(){const n=document.documentElement.dataset.theme;return n==="dark"||n==="light"?n:a?.matches?"dark":"light"}function o(){const n=getComputedStyle(document.documentElement).getPropertyValue("--font-family-base").trim();return{theme:{mode:i(),tokens:!0},chart:n?{fontFamily:n,background:"transparent"}:{background:"transparent"}}}function e(n){if(n.dataset.chartInitialized||typeof globalThis.ApexCharts>"u")return;const l=JSON.parse(n.dataset.chart||"{}"),s=o(),p={...l,theme:{...s.theme,...l.theme||{}},chart:{...s.chart,...l.chart||{}}},b=new globalThis.ApexCharts(n,p);n.dataset.chartInitialized="true",n.chart=b,h.add(n),b.render()}function t(n){n.chart&&(n.chart.destroy(),delete n.chart,delete n.dataset.chartInitialized,h.delete(n))}function c(){for(const n of h){if(!n.isConnected){t(n);continue}n.chart.refreshTokens?.(),n.chart.updateOptions(o(),!1,!0)}}const u=()=>document.querySelectorAll(v).forEach(e);u(),addEventListener("load",u),document.addEventListener("rapid:swapped",u),new MutationObserver(n=>{for(const l of n){for(const s of l.addedNodes)s.nodeType===1&&(s.matches?.(v)&&e(s),s.querySelectorAll?.(v).forEach(e));for(const s of l.removedNodes)s.nodeType===1&&(s.matches?.(v)&&t(s),s.querySelectorAll?.(v).forEach(t))}}).observe(document.documentElement,{childList:!0,subtree:!0}),new MutationObserver(c).observe(document.documentElement,{attributes:!0,attributeFilter:["data-theme"]}),a?.addEventListener?.("change",c)})(),document.addEventListener("click",v=>{const h=v.target.closest("[data-toggle]");if(!h)return;const a=h.closest("[data-accordion-group]");a&&a.querySelectorAll('[data-toggle][aria-expanded="true"]').forEach(i=>{if(i===h)return;const o=i.getAttribute("data-toggle"),e=o&&document.querySelector(o);i.setAttribute("aria-expanded","false"),e?.setAttribute("hidden",""),e?.classList.remove("is-open")})}),(()=>{const v="data-active",h='<svg width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg>',a=r=>r.querySelector("input[role='combobox']"),i=r=>Array.from(r.querySelectorAll('[role="option"]')).filter(m=>!m.hidden);function o(r){return i(r).findIndex(m=>m.hasAttribute(v))}function e(r){r.querySelectorAll(`[${v}]`).forEach(m=>m.removeAttribute(v)),a(r)?.removeAttribute("aria-activedescendant")}function t(r,m){const y=i(r);if(!y.length)return;const E=(m+y.length)%y.length;e(r),y[E].setAttribute(v,"");const d=a(r);d&&y[E].id&&d.setAttribute("aria-activedescendant",y[E].id);const g=y[E].closest(".combobox__list");if(!g)return;const _=y[E].offsetTop;_<g.scrollTop&&(g.scrollTop=_);const A=_+y[E].offsetHeight;A>g.scrollTop+g.clientHeight&&(g.scrollTop=A-g.clientHeight)}const c=r=>r.classList.contains("combobox--open");function u(r,m){const y=r.querySelector(".combobox__list"),E=a(r);y&&(y.hidden=!m),E&&E.setAttribute("aria-expanded",m?"true":"false"),r.classList.toggle("combobox--open",!!m),m||e(r)}function n(r){const m=a(r),y=r.querySelector(".combobox__list");if(!m||!y)return;const E=m.value.trim().toLowerCase();let d=0;r.querySelectorAll('[role="option"]').forEach(A=>{const S=A.querySelector(".combobox__option-label")?.textContent??A.textContent,w=!E||S.toLowerCase().includes(E);A.hidden=!w,w&&d++}),e(r),r.querySelectorAll(".combobox__group").forEach(A=>{let S=A.nextElementSibling,w=!1;for(;S&&!S.classList.contains("combobox__group")&&!S.classList.contains("combobox__hints");){if(S.matches('[role="option"]')&&!S.hidden){w=!0;break}S=S.nextElementSibling}A.hidden=!w});const g=r.querySelector(".combobox__count");g&&(g.textContent=d===1?"1 match":`${d} matches`);let _=y.querySelector(".combobox__empty");_||(_=document.createElement("div"),_.className="combobox__empty",_.textContent="No matches.",y.insertBefore(_,y.querySelector(".combobox__hints"))),_.hidden=d>0}const l=new WeakMap;function s(r){const m=a(r),y=m?.getAttribute("data-combobox-action"),E=m?.getAttribute("data-combobox-target");if(y&&E&&globalThis.rapid?.swap){clearTimeout(l.get(r)),l.set(r,setTimeout(()=>{const d=`${y}${y.includes("?")?"&":"?"}q=${encodeURIComponent(m.value.trim())}`;globalThis.rapid.swap(d,E).then(()=>e(r))},150));return}n(r)}function p(r,m){const y=a(r),E=r.querySelector("[data-combobox-value]"),d=(m.querySelector(".combobox__option-label")?.textContent??m.textContent).trim();y&&(y.value=d),E&&(E.value=m.getAttribute("data-value")??d),r.querySelectorAll('[role="option"]').forEach(g=>g.setAttribute("aria-selected",String(g===m))),u(r,!1),r.dispatchEvent(new CustomEvent("combobox:pick",{bubbles:!0,detail:{value:E?.value??d,label:d}}))}function b(r,m){const y=r.querySelector(".combobox__field"),E=a(r),d=m.getAttribute("data-value")??"",g=(m.querySelector(".combobox__option-label")?.textContent??m.textContent).trim(),_=r.getAttribute("data-combobox-name")??"";if(!y||!E||Array.from(y.querySelectorAll(".combobox__token input")).some(k=>k.value===d))return;const A=document.createElement("span");A.className="combobox__token",A.append(g);const S=document.createElement("button");S.type="button",S.className="combobox__token-remove",S.setAttribute("aria-label",`Remove ${g}`),S.setAttribute("data-combobox-remove",d),S.innerHTML=h;const w=document.createElement("input");w.type="hidden",w.name=_,w.value=d,A.append(S,w),y.insertBefore(A,E),m.setAttribute("aria-selected","true"),E.value="",s(r),E.focus()}function f(r,m){r.querySelectorAll(".combobox__token").forEach(y=>{y.querySelector("input")?.value===m&&y.remove()}),r.querySelectorAll(`[role="option"][data-value="${CSS.escape(m)}"]`).forEach(y=>y.setAttribute("aria-selected","false"))}document.addEventListener("keydown",r=>{const m=r.target.closest?.("[data-combobox]");if(m){if(r.key==="ArrowDown"||r.key==="ArrowUp")r.preventDefault(),u(m,!0),t(m,o(m)+(r.key==="ArrowDown"?1:-1));else if(r.key==="Enter"){const y=o(m),E=i(m);y>=0&&E[y]&&(r.preventDefault(),E[y].click())}else if(r.key==="Escape"){if(!c(m))return;r.preventDefault(),r.stopPropagation(),u(m,!1)}else if(r.key==="Backspace"&&m.classList.contains("combobox--multi")&&r.target.matches("input[role='combobox']")&&!r.target.value){const y=m.querySelector(".combobox__field .combobox__token:last-of-type input");y&&f(m,y.value)}}}),document.addEventListener("input",r=>{const m=r.target.closest?.("[data-combobox]");if(!m||!r.target.matches("input[role='combobox']"))return;const y=m.querySelector("[data-combobox-value]");y&&(y.value=""),s(m),u(m,!0)}),document.addEventListener("focusin",r=>{const m=r.target.closest?.("[data-combobox]");m&&r.target.matches("input[role='combobox']")&&u(m,!0)}),document.addEventListener("click",r=>{const m=r.target.closest?.("[data-combobox] .combobox__field");if(m&&!r.target.closest("input, button")){const d=m.closest("[data-combobox]"),g=a(d);g&&!g.disabled&&(c(d)?u(d,!1):(g.focus(),u(d,!0)));return}const y=r.target.closest?.("[data-combobox] [role='option']");if(y){if(y.getAttribute("aria-disabled")==="true")return;const d=y.closest("[data-combobox]");d.classList.contains("combobox--multi")?b(d,y):p(d,y);return}const E=r.target.closest?.("[data-combobox-remove]");if(E){const d=E.closest("[data-combobox]");d&&f(d,E.getAttribute("data-combobox-remove")??"");return}document.querySelectorAll("[data-combobox].combobox--open").forEach(d=>{r.target.closest?.("[data-combobox]")!==d&&u(d,!1)})})})(),(()=>{const v="data-active",h=new WeakMap,a=f=>f.querySelector(".command__input"),i=f=>Array.from(f.querySelectorAll('[role="option"]')).filter(r=>!r.hidden);function o(f){return i(f).findIndex(r=>r.hasAttribute(v))}function e(f){f.querySelectorAll(`[${v}]`).forEach(r=>r.removeAttribute(v)),a(f)?.removeAttribute("aria-activedescendant")}function t(f,r){const m=i(f);if(!m.length)return;const y=(r+m.length)%m.length;e(f),m[y].setAttribute(v,"");const E=a(f);E&&m[y].id&&E.setAttribute("aria-activedescendant",m[y].id);const d=m[y].closest(".command__list");if(!d)return;const g=m[y].offsetTop;g<d.scrollTop&&(d.scrollTop=g);const _=g+m[y].offsetHeight;_>d.scrollTop+d.clientHeight&&(d.scrollTop=_-d.clientHeight)}function c(f){const r=a(f),m=f.querySelector(".command__list");if(!r||!m)return;const y=r.value.trim().toLowerCase();let E=0;f.querySelectorAll('[role="option"]').forEach(_=>{const A=_.querySelector(".command__item-label")?.textContent??_.textContent,S=!y||A.toLowerCase().includes(y);_.hidden=!S,S&&E++}),e(f),f.querySelectorAll(".command__group").forEach(_=>{let A=_.nextElementSibling,S=!1;for(;A&&!A.classList.contains("command__group");){if(A.matches('[role="option"]')&&!A.hidden){S=!0;break}A=A.nextElementSibling}_.hidden=!S});const d=f.querySelector(".command__count");d&&(d.textContent=E===1?"1 result":`${E} results`);let g=m.querySelector(".command__empty");g||(g=document.createElement("div"),g.className="command__empty",g.textContent="Nothing matches that.",m.append(g)),g.hidden=E>0,E&&t(f,0)}const u=new WeakMap;function n(f){const r=a(f),m=r?.getAttribute("data-command-action"),y=r?.getAttribute("data-command-target");if(m&&y&&globalThis.rapid?.swap){clearTimeout(u.get(f)),u.set(f,setTimeout(()=>{const E=`${m}${m.includes("?")?"&":"?"}q=${encodeURIComponent(r.value.trim())}`;globalThis.rapid.swap(E,y).then(()=>{e(f),i(f).length&&t(f,0)})},150));return}c(f)}const l=f=>!f.classList.contains("command--inline");function s(f){if(!l(f))return;f.hidden=!0;const r=h.get(f);h.delete(f),r?.isConnected&&r.focus()}function p(f){const r=a(f);r&&r.value?(r.value="",r.dispatchEvent(new Event("input",{bubbles:!0}))):s(f)}function b(f,r){h.set(f,r??document.activeElement),f.hidden=!1,a(f)?.focus()}document.addEventListener("keydown",f=>{if(f.key==="k"&&(f.metaKey||f.ctrlKey)){const m=document.querySelector("[data-command]:not(.command--inline)");if(!m)return;f.preventDefault(),b(m);return}const r=f.target.closest?.("[data-command]");if(r){if(f.key==="ArrowDown"||f.key==="ArrowUp")f.preventDefault(),t(r,o(r)+(f.key==="ArrowDown"?1:-1));else if(f.key==="Enter"){const m=o(r),y=i(r);m>=0&&y[m]&&(f.preventDefault(),y[m].click())}else if(f.key==="Escape"){if(!l(r)&&!a(r)?.value)return;f.preventDefault(),f.stopPropagation(),p(r)}else if(f.key==="Tab"&&l(r)){const m=Array.from(r.querySelectorAll("input, button, a[href], [tabindex]:not([tabindex='-1'])")).filter(d=>!d.hidden&&d.offsetParent!==null);if(!m.length)return;const y=m[0],E=m[m.length-1];f.shiftKey&&document.activeElement===y?(f.preventDefault(),E.focus()):!f.shiftKey&&document.activeElement===E&&(f.preventDefault(),y.focus())}}}),document.addEventListener("input",f=>{const r=f.target.closest?.("[data-command]");r&&f.target.matches(".command__input")&&n(r)}),document.addEventListener("click",f=>{const r=f.target.closest?.("[data-command-open]");if(r){const d=r.getAttribute("data-command-open"),g=d?document.querySelector(d):document.querySelector("[data-command]:not(.command--inline)");g&&(f.preventDefault(),b(g,r));return}const m=f.target.closest?.("[data-command-dismiss]");if(m){const d=m.closest("[data-command]");d&&p(d);return}const y=f.target.closest?.("[data-command] [role='option']");if(y){const d=y.closest("[data-command]");d&&l(d)&&s(d);return}const E=f.target.closest?.("[data-command]:not(.command--inline)");E&&!f.target.closest(".command__sheet")&&s(E)})})(),(()=>{const v=new Map;function h(l){if(!l.id)return;const s=new Set;l.querySelectorAll("[data-select-row]:checked").forEach(p=>s.add(p.value)),v.set(l.id,s)}function a(l){const s=l.id&&v.get(l.id);s?.size&&l.querySelectorAll("[data-select-row]").forEach(p=>{s.has(p.value)&&o(p,!0)})}function i(l){const s=l.querySelector("[data-bulk-bar]"),p=l.querySelectorAll("[data-select-row]"),b=l.querySelectorAll("[data-select-row]:checked").length;if(s){s.hidden=b===0;const r=s.querySelector("[data-bulk-count]");r&&(r.textContent=b===1?"1 row selected":`${b} rows selected`)}const f=l.querySelector("[data-select-all]");f&&(f.checked=b>0&&b===p.length,f.indeterminate=b>0&&b<p.length)}function o(l,s){l.checked=s,l.closest("tr")?.classList.toggle("data-table__row--selected",s)}document.addEventListener("change",l=>{const s=l.target.closest?.(".data-table");if(s){if(l.target.matches("[data-select-all]"))s.querySelectorAll("[data-select-row]").forEach(p=>o(p,l.target.checked));else if(l.target.matches("[data-select-row]"))o(l.target,l.target.checked);else return;i(s),h(s)}}),document.addEventListener("click",l=>{const s=l.target.closest?.("[data-bulk-clear]");if(!s)return;const p=s.closest(".data-table");p&&(p.querySelectorAll("[data-select-row]").forEach(b=>o(b,!1)),i(p),h(p))});const e=()=>document.querySelectorAll(".data-table__row-actions:not([hidden])"),t=l=>document.querySelector(`[data-row-actions="#${CSS.escape(l.id)}"]`);function c(l){l.classList.remove("is-closing"),l.hidden=!0,l.style.removeProperty("max-width")}function u(l,s){const p=t(l);p?.setAttribute("aria-expanded","false"),s&&p?.focus(),!(l.hidden||l.classList.contains("is-closing"))&&(l.classList.add("is-closing"),getComputedStyle(l).animationName==="none"?c(l):l.addEventListener("animationend",()=>c(l),{once:!0}))}document.addEventListener("click",l=>{const s=l.target.closest?.("[data-row-actions]"),p=l.target.closest?.("[data-row-actions-close]");if(p){const b=p.closest(".data-table__row-actions");b&&u(b,!0);return}if(s){const b=document.querySelector(s.getAttribute("data-row-actions"));if(!b)return;b.classList.contains("is-closing")&&c(b);const f=b.hidden;if(e().forEach(r=>u(r,!1)),f){const r=b.closest(".data-table__scroll");if(r){const m=r.getBoundingClientRect().left,y=[...b.closest("tr").querySelectorAll("td.data-table__select, td.data-table__cell--pinned")].map(E=>E.getBoundingClientRect().right-m);b.style.maxWidth=`${r.clientWidth-Math.max(0,...y)}px`}b.hidden=!1,s.setAttribute("aria-expanded","true"),b.querySelector("a, button")?.focus()}return}e().forEach(b=>{b.contains(l.target)||u(b,!1)})}),document.addEventListener("keydown",l=>{if(l.key!=="Escape"||l.defaultPrevented)return;const s=l.target.closest?.(".data-table__row-actions");s&&(u(s,!0),l.preventDefault(),l.stopPropagation())});function n(l){document.querySelectorAll(".data-table").forEach(s=>{l&&a(s),i(s),h(s)})}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",()=>n(!1)):n(!1),document.addEventListener("rapid:swapped",l=>{const s=String(l.detail?.method??"get").toLowerCase();n(s==="get")})})(),(()=>{const v=["January","February","March","April","May","June","July","August","September","October","November","December"],h=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],a=s=>String(s).padStart(2,"0"),i=(s,p,b)=>`${s}-${a(p+1)}-${a(b)}`,o=s=>{const p=/^(\d{4})-(\d{2})-(\d{2})$/.exec(s??"");return p?`${Number(p[3])} ${h[Number(p[2])-1]} ${p[1]}`:""},e=()=>{const s=new Date;return i(s.getFullYear(),s.getMonth(),s.getDate())};function t(s,p,b){const f=s.querySelector(".datepicker__panel"),r=s.querySelector("[data-datepicker-trigger]");f&&(f.hidden=!p),s.classList.toggle("datepicker--open",!!p),r&&(r.setAttribute("aria-expanded",p?"true":"false"),!p&&b&&r.focus())}function c(s){return{range:s.hasAttribute("data-datepicker-range"),min:s.getAttribute("data-datepicker-min")||"",max:s.getAttribute("data-datepicker-max")||"",today:s.getAttribute("data-datepicker-today")||e(),start:s.querySelector("[data-datepicker-start]")?.value||"",end:s.querySelector("[data-datepicker-end]")?.value||""}}function u(s,p,b){const f=c(s),r=s.querySelector(".datepicker__days"),m=s.querySelector(".datepicker__month");if(!r)return;r.replaceChildren(),m&&(m.textContent=`${v[b]} ${p}`),s.setAttribute("data-datepicker-view",`${p}-${b}`);const y=new Date(p,b+1,0).getDate(),E=(new Date(p,b,1).getDay()+6)%7,d=new Date(p,b,0).getDate(),g=Math.ceil((E+y)/7)*7;for(let _=0;_<g;_++){const A=_-E+1;let S=p,w=b,k=A;A<1?(w=b-1,k=d+A,w<0&&(w=11,S--)):A>y&&(w=b+1,k=A-y,w>11&&(w=0,S++));const q=i(S,w,k),x=document.createElement("button");x.type="button",x.className="datepicker__day",(A<1||A>y)&&x.classList.add("datepicker__day--outside"),q===f.today&&(x.classList.add("datepicker__day--today"),x.setAttribute("aria-current","date")),f.start&&f.end&&q>f.start&&q<f.end&&x.classList.add("datepicker__day--in-range"),q===f.start&&x.classList.add("datepicker__day--start"),q===f.end&&x.classList.add("datepicker__day--end"),(q===f.start||q===f.end)&&x.setAttribute("aria-pressed","true"),(f.min&&q<f.min||f.max&&q>f.max)&&(x.disabled=!0),x.setAttribute("data-day",q),x.setAttribute("aria-label",`${k} ${v[w]} ${S}`),x.textContent=String(k),r.append(x)}}function n(s){const p=s.getAttribute("data-datepicker-view");if(p){const[r,m]=p.split("-").map(Number);return[r,m]}const b=c(s),f=b.start||b.today;return[Number(f.slice(0,4)),Number(f.slice(5,7))-1]}function l(s,p){const b=c(s),f=s.querySelector("[data-datepicker-start]"),r=s.querySelector("[data-datepicker-end]"),m=s.querySelector("[data-datepicker-label]");let y=p,E="";b.range&&b.start&&!b.end&&p>=b.start&&(y=b.start,E=p),f&&(f.value=y),r&&(r.value=E),m&&(m.textContent=b.range?`${o(y)||"Start date"} \u2013 ${o(E)||"End date"}`:o(y)),f?.dispatchEvent(new Event("change",{bubbles:!0}));const[d,g]=n(s);u(s,d,g),(!b.range||E)&&t(s,!1,!0)}document.addEventListener("click",s=>{const p=s.target.closest?.("[data-datepicker-trigger]");if(p){const f=p.closest("[data-datepicker]"),r=f?.querySelector(".datepicker__panel");r&&t(f,r.hidden);return}const b=s.target.closest?.("[data-datepicker]");if(b&&!b.hasAttribute("data-datepicker-server")){const f=s.target.closest("button[data-day]");if(f&&!f.disabled){l(b,f.getAttribute("data-day"));return}const r=s.target.closest("button[data-month]");if(r){const[m,y]=r.getAttribute("data-month").split("-").map(Number);u(b,m,y);const E={"prev-year":[m-1,y],prev:y===0?[m-1,11]:[m,y-1],next:y===11?[m+1,0]:[m,y+1],"next-year":[m+1,y]};b.querySelectorAll("button[data-month][data-nav]").forEach(d=>{const g=E[d.getAttribute("data-nav")];g&&d.setAttribute("data-month",`${g[0]}-${g[1]}`)});return}}document.querySelectorAll("[data-datepicker]:not(.datepicker--inline) .datepicker__panel:not([hidden])").forEach(f=>{const r=f.closest("[data-datepicker]");r!==b&&t(r,!1)})}),document.addEventListener("keydown",s=>{if(s.key!=="Escape"||s.defaultPrevented)return;const p=s.target.closest?.("[data-datepicker]"),b=p?.querySelector(".datepicker__panel");!b||b.hidden||p.classList.contains("datepicker--inline")||(s.preventDefault(),t(p,!1,!0))})})(),(()=>{const v=()=>document.querySelectorAll(".dropdown__panel.is-open"),h=c=>document.querySelector(`[data-toggle="#${CSS.escape(c.id)}"]`),a=".data-table__scroll, [data-dropdown-clip]";function i(c,u){if(!u?.closest(a))return;const n=u.getBoundingClientRect();c.classList.add("dropdown__panel--fixed");const l=c.offsetWidth;let p=c.classList.contains("dropdown__panel--end")?n.right-l:n.left;p=Math.max(8,Math.min(p,innerWidth-l-8));let b=n.bottom+4;b+c.offsetHeight>innerHeight-8&&(b=Math.max(8,n.top-c.offsetHeight-4)),c.style.left=`${p}px`,c.style.top=`${b}px`}function o(c,u){c.setAttribute("hidden",""),c.classList.remove("is-open","dropdown__panel--fixed"),c.style.removeProperty("left"),c.style.removeProperty("top"),u?.setAttribute("aria-expanded","false")}document.addEventListener("click",c=>{v().forEach(u=>{const n=h(u);if(n?.contains(c.target)){u.classList.contains("dropdown__panel--fixed")||i(u,n);return}if(u.contains(c.target)){const l=c.target.closest("a[href], button, [data-action]");if(!l||l.hasAttribute("data-toggle"))return}o(u,n)})}),document.addEventListener("keydown",c=>{if(c.key!=="Escape"||c.defaultPrevented)return;const u=c.target.closest?.(".dropdown"),n=u?u.querySelectorAll(".dropdown__panel.is-open"):v();let l=!1;n.forEach(s=>{const p=h(s);o(s,p),p?.focus(),l=!0}),l&&c.preventDefault()});const e=c=>{const u=c.closest(a)?.getBoundingClientRect(),n=c.getBoundingClientRect();return!u||n.bottom>u.top&&n.top<u.bottom&&n.right>u.left&&n.left<u.right},t=()=>{document.querySelectorAll(".dropdown__panel--fixed.is-open").forEach(c=>{const u=h(c);u&&e(u)?i(c,u):o(c,u)})};addEventListener("scroll",t,{capture:!0,passive:!0}),addEventListener("resize",t,{passive:!0})})(),(()=>{for(const o of["dragenter","dragover"])document.addEventListener(o,e=>{const t=e.target.closest?.(".dropzone__area");t&&(e.preventDefault(),t.classList.add("dropzone__area--over"))});for(const o of["dragleave","drop"])document.addEventListener(o,e=>{e.target.closest?.(".dropzone__area")?.classList.remove("dropzone__area--over")});document.addEventListener("click",o=>{const e=o.target.closest?.("[data-dropzone-remove]");e&&e.closest(".dropzone__file")?.remove()});const v=o=>o<1024?`${o} B`:o<1024*1024?`${Math.round(o/1024)} KB`:`${(o/(1024*1024)).toFixed(1)} MB`;function h(o){const e=document.createElement("div");e.className="dropzone__file dropzone__file--pending";const t=document.createElement("span");t.className="dropzone__file-icon",t.textContent=(o.name.split(".").pop()||"").slice(0,4).toLowerCase();const c=document.createElement("span");c.className="dropzone__file-body";const u=document.createElement("span");u.className="dropzone__file-row";const n=document.createElement("span");n.className="dropzone__file-name",n.textContent=o.name;const l=document.createElement("span");l.className="dropzone__file-size",l.textContent=v(o.size),u.append(n,l);const s=document.createElement("progress");return s.className="dropzone__bar",s.max=100,s.setAttribute("aria-label",`Uploading ${o.name}`),c.append(u,s),e.append(t,c),e}const a=new Map;document.addEventListener("submit",o=>{const e=o.target;if(!e?.matches?.("form[data-action]"))return;const t=e.querySelector("[data-dropzone]"),c=t?.querySelector("input[type=file]");if(!t||!c?.files?.length)return;let u=t.querySelector(".dropzone__files");u||(u=document.createElement("div"),u.className="dropzone__files",t.append(u));const n=[...c.files].map(l=>{const s=h(l);return u.append(s),s});a.set(e.getAttribute("data-action"),{zone:t,rows:n})}),document.addEventListener("rapid:progress",o=>{const e=a.get(o.detail?.url);if(!e)return;const{loaded:t,total:c}=o.detail;for(const u of e.rows){const n=u.querySelector("progress");n&&(c>0?n.value=Math.min(100,Math.round(t/c*100)):n.removeAttribute("value"))}});const i=(o,e)=>{const t=o.detail?.url,c=t?a.get(t):void 0;if(c&&(a.delete(t),!!e))for(const u of c.rows){if(!u.isConnected)continue;u.classList.remove("dropzone__file--pending"),u.classList.add("dropzone__file--error"),u.querySelector("progress")?.remove();const n=document.createElement("span");n.className="dropzone__file-error",n.textContent="Upload failed",u.querySelector(".dropzone__file-body")?.append(n)}};document.addEventListener("rapid:swapped",o=>i(o,!1)),document.addEventListener("rapid:error",o=>i(o,!0))})(),(()=>{const v={bold:["**","**"],italic:["_","_"],strike:["~~","~~"],code:["`","`"]},h={heading:"## ",quote:"> ",ul:"- ",ol:"1. "},a={heading:"h2",quote:"blockquote",code:"pre"},i={bold:"bold",italic:"italic",underline:"underline",strike:"strikeThrough"},o={ul:"insertUnorderedList",ol:"insertOrderedList"},e=d=>d.querySelector(".editor__source"),t=d=>d.querySelector("[data-editor-surface]"),c=d=>d.getAttribute("data-editor-mode")==="html";function u(d,g,_,A,S,w){d.value=d.value.slice(0,g)+A+d.value.slice(_),d.setSelectionRange(g+S,g+w),d.focus(),d.dispatchEvent(new Event("input",{bubbles:!0}))}function n(d){const g=d.value.lastIndexOf(`
|
|
3
|
-
`,
|
|
4
|
-
`,Math.max(
|
|
5
|
-
`?
|
|
6
|
-
`),$=D?"```\n":L,M=D?"\n```":C;if(
|
|
2
|
+
(()=>{const y=new WeakMap;function u(l){const e=l.getAttribute("data-target");if(!e)return l;try{return document.querySelector(e)}catch{return null}}function m(l){if(!l||l.nodeType!==1)return;l.removeAttribute("aria-busy"),delete l.dataset.busy;const e=y.get(l);e&&clearTimeout(e)}function c(l){const e=u(l);!e||e.hasAttribute("data-load")||(e.setAttribute("aria-busy","true"),e.dataset.busy="",y.set(e,setTimeout(()=>m(e),15e3)))}document.addEventListener("click",l=>{if(l.button!==0||l.metaKey||l.ctrlKey||l.shiftKey||l.altKey)return;const e=l.target.closest?.("[data-action]");if(!e||e.tagName==="FORM")return;const a=l.target.closest("a[href]");a&&a!==e&&e.contains(a)||c(e)}),document.addEventListener("submit",l=>{const e=l.target;e?.matches?.("form[data-action]")&&c(e)}),document.addEventListener("rapid:swapped",l=>m(l.target)),document.addEventListener("rapid:error",l=>{m(l.target),document.querySelectorAll("[data-busy]").forEach(m)})})(),(()=>{const v="ui-sidebar-collapsed",y="menu__sublist--flyout",u=()=>document.querySelectorAll(`.${y}`);function m(e){e.classList.remove(y,"is-open"),e.hidden=!0,e.style.removeProperty("left"),e.style.removeProperty("top"),e.querySelector(".menu__flyout-title")?.remove(),document.querySelector(`[data-toggle="#${CSS.escape(e.id)}"]`)?.setAttribute("aria-expanded","false")}const c=()=>u().forEach(m);function l(e,a,i){if(u().forEach(g=>g!==e&&m(g)),!e.querySelector(".menu__flyout-title")){const g=document.createElement("li");g.className="menu__flyout-title",g.textContent=a.querySelector(".menu__link-label")?.textContent?.trim()??"",e.prepend(g)}e.classList.add(y);const r=a.getBoundingClientRect(),d=i.getBoundingClientRect();e.style.left=`${d.right+4}px`,e.style.top=`${r.top}px`;const s=e.offsetHeight;r.top+s>innerHeight-8&&(e.style.top=`${Math.max(8,innerHeight-8-s)}px`)}try{localStorage.getItem(v)==="1"&&document.querySelectorAll(".sidebar").forEach(e=>{e.classList.add("sidebar--collapsed")})}catch{}document.addEventListener("click",e=>{const a=e.target.closest?.(".sidebar--collapsed .menu__link[data-toggle]");if(a){const i=a.closest(".sidebar"),r=document.querySelector(a.getAttribute("data-toggle"));if(!r||!i)return;setTimeout(()=>{r.hidden?m(r):l(r,a,i)},0);return}e.target.closest?.(`.${y}`)||c()}),document.addEventListener("keydown",e=>{if(e.key!=="Escape"||e.defaultPrevented||!u().length)return;const a=[...u()];c(),document.querySelector(`[data-toggle="#${CSS.escape(a[0].id)}"]`)?.focus(),e.preventDefault()}),addEventListener("scroll",c,{capture:!0,passive:!0}),addEventListener("resize",c,{passive:!0});try{localStorage.getItem(v)==="1"&&document.querySelectorAll(".sidebar").forEach(e=>{e.classList.add("sidebar--collapsed")})}catch{}document.addEventListener("click",e=>{const a=e.target.closest?.("[data-collapse]");if(!a)return;const i=a.getAttribute("data-collapse");if(!i||i==="#")return;const r=document.querySelector(i);if(!r)return;c();const d=r.classList.toggle("sidebar--collapsed");a.setAttribute("aria-expanded",String(!d));try{localStorage.setItem(v,d?"1":"0")}catch{}})})(),document.addEventListener("click",v=>{const y=v.target.closest("[data-dismiss]");y&&y.closest("[data-dismissible]")?.remove()}),document.documentElement.classList.add("js"),(()=>{function v(u){const m=u.querySelector("table");return m?[...m.querySelectorAll("tbody tr")]:[...u.querySelectorAll("[data-filter-item]")]}function y(u){const c=(u.querySelector("[data-table-search]")?.value||"").trim().toLowerCase(),l=[...u.querySelectorAll("[data-table-filter]")].filter(i=>!(i.type==="radio"||i.type==="checkbox")||i.checked).map(i=>i.value).filter(Boolean).map(i=>i.toLowerCase());let e=0;v(u).forEach(i=>{const r=i.textContent.toLowerCase(),d=(!c||r.includes(c))&&l.every(s=>r.includes(s));i.hidden=!d,d&&e++});const a=u.querySelector("[data-filter-empty]");a&&(a.hidden=e>0)}document.addEventListener("input",u=>{if(!u.target.matches("[data-table-search]"))return;const m=u.target.closest("[data-filter-scope]");m&&y(m)}),document.addEventListener("change",u=>{if(!u.target.matches("[data-table-filter]"))return;const m=u.target.closest("[data-filter-scope]");m&&y(m)})})(),(()=>{const v="ui-theme",y=document.documentElement;try{const u=localStorage.getItem(v);(u==="dark"||u==="light")&&(y.dataset.theme=u)}catch{}document.addEventListener("click",u=>{if(!u.target.closest("[data-theme-toggle]"))return;const c=matchMedia("(prefers-color-scheme: dark)").matches,e=(y.dataset.theme==="dark"||y.dataset.theme!=="light"&&c?"dark":"light")==="dark"?"light":"dark";y.dataset.theme=e;try{localStorage.setItem(v,e)}catch{}})})(),(()=>{const v=u=>u.hasAttribute("data-toggle-class");document.addEventListener("click",u=>{const m=u.target.closest?.("[data-toggle]");if(!m)return;const c=m.getAttribute("data-toggle"),l=c&&c!=="#"&&document.querySelector(c);if(!l)return;const e=m.getAttribute("aria-expanded")==="true";m.setAttribute("aria-expanded",String(!e)),v(m)||l.toggleAttribute("hidden",e),l.classList.toggle("is-open",!e)}),document.addEventListener("click",u=>{const m=u.target.closest?.("[data-toggle-close]");if(!m)return;const c=m.getAttribute("data-toggle-close"),l=c?document.querySelector(c):m.closest("[data-toggle-panel]");l&&y(l)}),document.addEventListener("keydown",u=>{u.key!=="Escape"||u.defaultPrevented||document.querySelectorAll("[data-toggle-class][aria-expanded='true']").forEach(m=>{const c=document.querySelector(m.getAttribute("data-toggle")??"");c&&(y(c),m.focus(),u.preventDefault())})});function y(u){u.classList.remove("is-open"),document.querySelectorAll('[data-toggle][aria-expanded="true"]').forEach(m=>{const c=m.getAttribute("data-toggle");c&&document.querySelector(c)===u&&(m.setAttribute("aria-expanded","false"),v(m)||u.setAttribute("hidden",""))})}})(),document.addEventListener("change",v=>{const y=v.target.closest?.("[data-view-target]");if(!y||y.type==="radio"&&!y.checked)return;const u=document.querySelector(y.getAttribute("data-view-target")??"");u&&u.setAttribute("data-view",y.value)}),(()=>{const v=[["amex",/^3[47]/,"Amex"],["visa",/^4/,"Visa"],["mastercard",/^(5[1-5]|2[2-7])/,"Mastercard"],["discover",/^6(011|5)/,"Discover"],["diners",/^3(0[0-5]|[68])/,"Diners"],["jcb",/^35/,"JCB"]],y=a=>a.replace(/\D/g,"");function u(a,i){return i==="amex"?[a.slice(0,4),a.slice(4,10),a.slice(10,15)].filter(Boolean).join(" "):a.match(/.{1,4}/g)?.join(" ")??""}function m(a){let i=0,r=!1;for(let d=a.length-1;d>=0;d--){let s=Number(a[d]);r&&(s*=2,s>9&&(s-=9)),i+=s,r=!r}return i%10===0}function c(a){const i=a.closest("[data-card-fields]"),r=y(a.value).slice(0,19),d=v.find(([,g])=>g.test(r)),s=u(r,d?.[0]);if(a.value!==s){const g=a.selectionEnd===a.value.length;a.value=s,g||a.setSelectionRange(s.length,s.length)}if(i){i.dataset.brand=d?.[0]??"";const g=i.querySelector("[data-card-brand]");g&&(g.textContent=r.length>=2?d?.[2]??"":"");const t=i.querySelector("[data-card-cvc]");if(t){const p=d?.[0]==="amex"?4:3;t.setAttribute("maxlength",String(p)),t.setAttribute("pattern",`[0-9]{${p}}`)}const n=r.length>=13,o=i.hasAttribute("data-luhn")&&n&&!m(r);a.setCustomValidity(o?a.getAttribute("data-msg-luhn")||"Check the card number":"")}}function l(a){let i=y(a.value).slice(0,4);i.length===1&&Number(i)>1&&(i=`0${i}`);const r=i.length>2?`${i.slice(0,2)}/${i.slice(2)}`:i;a.value!==r&&!(a.value===`${i}/`&&i.length===2)&&(a.value=r);let d="";if(i.length===4){const s=Number(i.slice(0,2)),g=2e3+Number(i.slice(2)),t=new Date,n=g<t.getFullYear()||g===t.getFullYear()&&s<t.getMonth()+1;s<1||s>12?d=a.getAttribute("data-msg-pattern")||"Enter MM/YY":n&&(d=a.getAttribute("data-msg-expired")||"This card has expired")}a.setCustomValidity(d)}document.addEventListener("input",a=>{const i=a.target;i?.matches?.("[data-card-number]")?c(i):i?.matches?.("[data-card-expiry]")?l(i):i?.matches?.("[data-card-cvc]")&&(i.value=y(i.value).slice(0,Number(i.getAttribute("maxlength"))||4))},!0);function e(){document.querySelectorAll("[data-card-number]").forEach(a=>a.value&&c(a)),document.querySelectorAll("[data-card-expiry]").forEach(a=>a.value&&l(a))}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",e):e(),document.addEventListener("rapid:swapped",e)})(),(()=>{const v="[data-chart]",y=new Set,u=globalThis.matchMedia?.("(prefers-color-scheme: dark)");function m(){const r=document.documentElement.dataset.theme;return r==="dark"||r==="light"?r:u?.matches?"dark":"light"}function c(){const r=getComputedStyle(document.documentElement).getPropertyValue("--font-family-base").trim();return{theme:{mode:m(),tokens:!0},chart:r?{fontFamily:r,background:"transparent"}:{background:"transparent"}}}function l(r){if(r.dataset.chartInitialized||typeof globalThis.ApexCharts>"u")return;const d=JSON.parse(r.dataset.chart||"{}"),s=c(),g={...d,theme:{...s.theme,...d.theme||{}},chart:{...s.chart,...d.chart||{}}},t=new globalThis.ApexCharts(r,g);r.dataset.chartInitialized="true",r.chart=t,y.add(r),t.render()}function e(r){r.chart&&(r.chart.destroy(),delete r.chart,delete r.dataset.chartInitialized,y.delete(r))}function a(){for(const r of y){if(!r.isConnected){e(r);continue}r.chart.refreshTokens?.(),r.chart.updateOptions(c(),!1,!0)}}const i=()=>document.querySelectorAll(v).forEach(l);i(),addEventListener("load",i),document.addEventListener("rapid:swapped",i),new MutationObserver(r=>{for(const d of r){for(const s of d.addedNodes)s.nodeType===1&&(s.matches?.(v)&&l(s),s.querySelectorAll?.(v).forEach(l));for(const s of d.removedNodes)s.nodeType===1&&(s.matches?.(v)&&e(s),s.querySelectorAll?.(v).forEach(e))}}).observe(document.documentElement,{childList:!0,subtree:!0}),new MutationObserver(a).observe(document.documentElement,{attributes:!0,attributeFilter:["data-theme"]}),u?.addEventListener?.("change",a)})(),document.addEventListener("click",v=>{const y=v.target.closest("[data-toggle]");if(!y)return;const u=y.closest("[data-accordion-group]");u&&u.querySelectorAll('[data-toggle][aria-expanded="true"]').forEach(m=>{if(m===y)return;const c=m.getAttribute("data-toggle"),l=c&&document.querySelector(c);m.setAttribute("aria-expanded","false"),l?.setAttribute("hidden",""),l?.classList.remove("is-open")})}),(()=>{const v="data-active",y='<svg width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg>',u=o=>o.querySelector("input[role='combobox']"),m=o=>Array.from(o.querySelectorAll('[role="option"]')).filter(p=>!p.hidden);function c(o){return m(o).findIndex(p=>p.hasAttribute(v))}function l(o){o.querySelectorAll(`[${v}]`).forEach(p=>p.removeAttribute(v)),u(o)?.removeAttribute("aria-activedescendant")}function e(o,p){const h=m(o);if(!h.length)return;const S=(p+h.length)%h.length;l(o),h[S].setAttribute(v,"");const f=u(o);f&&h[S].id&&f.setAttribute("aria-activedescendant",h[S].id);const b=h[S].closest(".combobox__list");if(!b)return;const E=h[S].offsetTop;E<b.scrollTop&&(b.scrollTop=E);const A=E+h[S].offsetHeight;A>b.scrollTop+b.clientHeight&&(b.scrollTop=A-b.clientHeight)}const a=o=>o.classList.contains("combobox--open");function i(o,p){const h=o.querySelector(".combobox__list"),S=u(o);h&&(h.hidden=!p),S&&S.setAttribute("aria-expanded",p?"true":"false"),o.classList.toggle("combobox--open",!!p),p||l(o)}function r(o){const p=u(o),h=o.querySelector(".combobox__list");if(!p||!h)return;const S=p.value.trim().toLowerCase();let f=0;o.querySelectorAll('[role="option"]').forEach(A=>{const _=A.querySelector(".combobox__option-label")?.textContent??A.textContent,w=!S||_.toLowerCase().includes(S);A.hidden=!w,w&&f++}),l(o),o.querySelectorAll(".combobox__group").forEach(A=>{let _=A.nextElementSibling,w=!1;for(;_&&!_.classList.contains("combobox__group")&&!_.classList.contains("combobox__hints");){if(_.matches('[role="option"]')&&!_.hidden){w=!0;break}_=_.nextElementSibling}A.hidden=!w});const b=o.querySelector(".combobox__count");b&&(b.textContent=f===1?"1 match":`${f} matches`);let E=h.querySelector(".combobox__empty");E||(E=document.createElement("div"),E.className="combobox__empty",E.textContent="No matches.",h.insertBefore(E,h.querySelector(".combobox__hints"))),E.hidden=f>0}const d=new WeakMap;function s(o){const p=u(o),h=p?.getAttribute("data-combobox-action"),S=p?.getAttribute("data-combobox-target");if(h&&S&&globalThis.rapid?.swap){clearTimeout(d.get(o)),d.set(o,setTimeout(()=>{const f=`${h}${h.includes("?")?"&":"?"}q=${encodeURIComponent(p.value.trim())}`;globalThis.rapid.swap(f,S).then(()=>l(o))},150));return}r(o)}function g(o,p){const h=u(o),S=o.querySelector("[data-combobox-value]"),f=(p.querySelector(".combobox__option-label")?.textContent??p.textContent).trim();h&&(h.value=f),S&&(S.value=p.getAttribute("data-value")??f),o.querySelectorAll('[role="option"]').forEach(b=>b.setAttribute("aria-selected",String(b===p))),i(o,!1),o.dispatchEvent(new CustomEvent("combobox:pick",{bubbles:!0,detail:{value:S?.value??f,label:f}}))}function t(o,p){const h=o.querySelector(".combobox__field"),S=u(o),f=p.getAttribute("data-value")??"",b=(p.querySelector(".combobox__option-label")?.textContent??p.textContent).trim(),E=o.getAttribute("data-combobox-name")??"";if(!h||!S||Array.from(h.querySelectorAll(".combobox__token input")).some(k=>k.value===f))return;const A=document.createElement("span");A.className="combobox__token",A.append(b);const _=document.createElement("button");_.type="button",_.className="combobox__token-remove",_.setAttribute("aria-label",`Remove ${b}`),_.setAttribute("data-combobox-remove",f),_.innerHTML=y;const w=document.createElement("input");w.type="hidden",w.name=E,w.value=f,A.append(_,w),h.insertBefore(A,S),p.setAttribute("aria-selected","true"),S.value="",s(o),S.focus()}function n(o,p){o.querySelectorAll(".combobox__token").forEach(h=>{h.querySelector("input")?.value===p&&h.remove()}),o.querySelectorAll(`[role="option"][data-value="${CSS.escape(p)}"]`).forEach(h=>h.setAttribute("aria-selected","false"))}document.addEventListener("keydown",o=>{const p=o.target.closest?.("[data-combobox]");if(p){if(o.key==="ArrowDown"||o.key==="ArrowUp")o.preventDefault(),i(p,!0),e(p,c(p)+(o.key==="ArrowDown"?1:-1));else if(o.key==="Enter"){const h=c(p),S=m(p);h>=0&&S[h]&&(o.preventDefault(),S[h].click())}else if(o.key==="Escape"){if(!a(p))return;o.preventDefault(),o.stopPropagation(),i(p,!1)}else if(o.key==="Backspace"&&p.classList.contains("combobox--multi")&&o.target.matches("input[role='combobox']")&&!o.target.value){const h=p.querySelector(".combobox__field .combobox__token:last-of-type input");h&&n(p,h.value)}}}),document.addEventListener("input",o=>{const p=o.target.closest?.("[data-combobox]");if(!p||!o.target.matches("input[role='combobox']"))return;const h=p.querySelector("[data-combobox-value]");h&&(h.value=""),s(p),i(p,!0)}),document.addEventListener("focusin",o=>{const p=o.target.closest?.("[data-combobox]");p&&o.target.matches("input[role='combobox']")&&i(p,!0)}),document.addEventListener("click",o=>{const p=o.target.closest?.("[data-combobox] .combobox__field");if(p&&!o.target.closest("input, button")){const f=p.closest("[data-combobox]"),b=u(f);b&&!b.disabled&&(a(f)?i(f,!1):(b.focus(),i(f,!0)));return}const h=o.target.closest?.("[data-combobox] [role='option']");if(h){if(h.getAttribute("aria-disabled")==="true")return;const f=h.closest("[data-combobox]");f.classList.contains("combobox--multi")?t(f,h):g(f,h);return}const S=o.target.closest?.("[data-combobox-remove]");if(S){const f=S.closest("[data-combobox]");f&&n(f,S.getAttribute("data-combobox-remove")??"");return}document.querySelectorAll("[data-combobox].combobox--open").forEach(f=>{o.target.closest?.("[data-combobox]")!==f&&i(f,!1)})})})(),(()=>{const v="data-active",y=new WeakMap,u=n=>n.querySelector(".command__input"),m=n=>Array.from(n.querySelectorAll('[role="option"]')).filter(o=>!o.hidden);function c(n){return m(n).findIndex(o=>o.hasAttribute(v))}function l(n){n.querySelectorAll(`[${v}]`).forEach(o=>o.removeAttribute(v)),u(n)?.removeAttribute("aria-activedescendant")}function e(n,o){const p=m(n);if(!p.length)return;const h=(o+p.length)%p.length;l(n),p[h].setAttribute(v,"");const S=u(n);S&&p[h].id&&S.setAttribute("aria-activedescendant",p[h].id);const f=p[h].closest(".command__list");if(!f)return;const b=p[h].offsetTop;b<f.scrollTop&&(f.scrollTop=b);const E=b+p[h].offsetHeight;E>f.scrollTop+f.clientHeight&&(f.scrollTop=E-f.clientHeight)}function a(n){const o=u(n),p=n.querySelector(".command__list");if(!o||!p)return;const h=o.value.trim().toLowerCase();let S=0;n.querySelectorAll('[role="option"]').forEach(E=>{const A=E.querySelector(".command__item-label")?.textContent??E.textContent,_=!h||A.toLowerCase().includes(h);E.hidden=!_,_&&S++}),l(n),n.querySelectorAll(".command__group").forEach(E=>{let A=E.nextElementSibling,_=!1;for(;A&&!A.classList.contains("command__group");){if(A.matches('[role="option"]')&&!A.hidden){_=!0;break}A=A.nextElementSibling}E.hidden=!_});const f=n.querySelector(".command__count");f&&(f.textContent=S===1?"1 result":`${S} results`);let b=p.querySelector(".command__empty");b||(b=document.createElement("div"),b.className="command__empty",b.textContent="Nothing matches that.",p.append(b)),b.hidden=S>0,S&&e(n,0)}const i=new WeakMap;function r(n){const o=u(n),p=o?.getAttribute("data-command-action"),h=o?.getAttribute("data-command-target");if(p&&h&&globalThis.rapid?.swap){clearTimeout(i.get(n)),i.set(n,setTimeout(()=>{const S=`${p}${p.includes("?")?"&":"?"}q=${encodeURIComponent(o.value.trim())}`;globalThis.rapid.swap(S,h).then(()=>{l(n),m(n).length&&e(n,0)})},150));return}a(n)}const d=n=>!n.classList.contains("command--inline");function s(n){if(!d(n))return;n.hidden=!0;const o=y.get(n);y.delete(n),o?.isConnected&&o.focus()}function g(n){const o=u(n);o&&o.value?(o.value="",o.dispatchEvent(new Event("input",{bubbles:!0}))):s(n)}function t(n,o){y.set(n,o??document.activeElement),n.hidden=!1,u(n)?.focus()}document.addEventListener("keydown",n=>{if(n.key==="k"&&(n.metaKey||n.ctrlKey)){const p=document.querySelector("[data-command]:not(.command--inline)");if(!p)return;n.preventDefault(),t(p);return}const o=n.target.closest?.("[data-command]");if(o){if(n.key==="ArrowDown"||n.key==="ArrowUp")n.preventDefault(),e(o,c(o)+(n.key==="ArrowDown"?1:-1));else if(n.key==="Enter"){const p=c(o),h=m(o);p>=0&&h[p]&&(n.preventDefault(),h[p].click())}else if(n.key==="Escape"){if(!d(o)&&!u(o)?.value)return;n.preventDefault(),n.stopPropagation(),g(o)}else if(n.key==="Tab"&&d(o)){const p=Array.from(o.querySelectorAll("input, button, a[href], [tabindex]:not([tabindex='-1'])")).filter(f=>!f.hidden&&f.offsetParent!==null);if(!p.length)return;const h=p[0],S=p[p.length-1];n.shiftKey&&document.activeElement===h?(n.preventDefault(),S.focus()):!n.shiftKey&&document.activeElement===S&&(n.preventDefault(),h.focus())}}}),document.addEventListener("input",n=>{const o=n.target.closest?.("[data-command]");o&&n.target.matches(".command__input")&&r(o)}),document.addEventListener("click",n=>{const o=n.target.closest?.("[data-command-open]");if(o){const f=o.getAttribute("data-command-open"),b=f?document.querySelector(f):document.querySelector("[data-command]:not(.command--inline)");b&&(n.preventDefault(),t(b,o));return}const p=n.target.closest?.("[data-command-dismiss]");if(p){const f=p.closest("[data-command]");f&&g(f);return}const h=n.target.closest?.("[data-command] [role='option']");if(h){const f=h.closest("[data-command]");f&&d(f)&&s(f);return}const S=n.target.closest?.("[data-command]:not(.command--inline)");S&&!n.target.closest(".command__sheet")&&s(S)})})(),(()=>{const v=new Map;function y(d){if(!d.id)return;const s=new Set;d.querySelectorAll("[data-select-row]:checked").forEach(g=>s.add(g.value)),v.set(d.id,s)}function u(d){const s=d.id&&v.get(d.id);s?.size&&d.querySelectorAll("[data-select-row]").forEach(g=>{s.has(g.value)&&c(g,!0)})}function m(d){const s=d.querySelector("[data-bulk-bar]"),g=d.querySelectorAll("[data-select-row]"),t=d.querySelectorAll("[data-select-row]:checked").length;if(s){s.hidden=t===0;const o=s.querySelector("[data-bulk-count]");o&&(o.textContent=t===1?"1 row selected":`${t} rows selected`)}const n=d.querySelector("[data-select-all]");n&&(n.checked=t>0&&t===g.length,n.indeterminate=t>0&&t<g.length)}function c(d,s){d.checked=s,d.closest("tr")?.classList.toggle("data-table__row--selected",s)}document.addEventListener("change",d=>{const s=d.target.closest?.(".data-table");if(s){if(d.target.matches("[data-select-all]"))s.querySelectorAll("[data-select-row]").forEach(g=>c(g,d.target.checked));else if(d.target.matches("[data-select-row]"))c(d.target,d.target.checked);else return;m(s),y(s)}}),document.addEventListener("click",d=>{const s=d.target.closest?.("[data-bulk-clear]");if(!s)return;const g=s.closest(".data-table");g&&(g.querySelectorAll("[data-select-row]").forEach(t=>c(t,!1)),m(g),y(g))});const l=()=>document.querySelectorAll(".data-table__row-actions:not([hidden])"),e=d=>document.querySelector(`[data-row-actions="#${CSS.escape(d.id)}"]`);function a(d){d.classList.remove("is-closing"),d.hidden=!0,d.style.removeProperty("max-width")}function i(d,s){const g=e(d);g?.setAttribute("aria-expanded","false"),s&&g?.focus(),!(d.hidden||d.classList.contains("is-closing"))&&(d.classList.add("is-closing"),getComputedStyle(d).animationName==="none"?a(d):d.addEventListener("animationend",()=>a(d),{once:!0}))}document.addEventListener("click",d=>{const s=d.target.closest?.("[data-row-actions]"),g=d.target.closest?.("[data-row-actions-close]");if(g){const t=g.closest(".data-table__row-actions");t&&i(t,!0);return}if(s){const t=document.querySelector(s.getAttribute("data-row-actions"));if(!t)return;t.classList.contains("is-closing")&&a(t);const n=t.hidden;if(l().forEach(o=>i(o,!1)),n){const o=t.closest(".data-table__scroll");if(o){const p=o.getBoundingClientRect().left,h=[...t.closest("tr").querySelectorAll("td.data-table__select, td.data-table__cell--pinned")].map(S=>S.getBoundingClientRect().right-p);t.style.maxWidth=`${o.clientWidth-Math.max(0,...h)}px`}t.hidden=!1,s.setAttribute("aria-expanded","true"),t.querySelector("a, button")?.focus()}return}l().forEach(t=>{t.contains(d.target)||i(t,!1)})}),document.addEventListener("keydown",d=>{if(d.key!=="Escape"||d.defaultPrevented)return;const s=d.target.closest?.(".data-table__row-actions");s&&(i(s,!0),d.preventDefault(),d.stopPropagation())});function r(d){document.querySelectorAll(".data-table").forEach(s=>{d&&u(s),m(s),y(s)})}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",()=>r(!1)):r(!1),document.addEventListener("rapid:swapped",d=>{const s=String(d.detail?.method??"get").toLowerCase();r(s==="get")})})(),(()=>{const v=["January","February","March","April","May","June","July","August","September","October","November","December"],y=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],u=s=>String(s).padStart(2,"0"),m=(s,g,t)=>`${s}-${u(g+1)}-${u(t)}`,c=s=>{const g=/^(\d{4})-(\d{2})-(\d{2})$/.exec(s??"");return g?`${Number(g[3])} ${y[Number(g[2])-1]} ${g[1]}`:""},l=()=>{const s=new Date;return m(s.getFullYear(),s.getMonth(),s.getDate())};function e(s,g,t){const n=s.querySelector(".datepicker__panel"),o=s.querySelector("[data-datepicker-trigger]");n&&(n.hidden=!g),s.classList.toggle("datepicker--open",!!g),o&&(o.setAttribute("aria-expanded",g?"true":"false"),!g&&t&&o.focus())}function a(s){return{range:s.hasAttribute("data-datepicker-range"),min:s.getAttribute("data-datepicker-min")||"",max:s.getAttribute("data-datepicker-max")||"",today:s.getAttribute("data-datepicker-today")||l(),start:s.querySelector("[data-datepicker-start]")?.value||"",end:s.querySelector("[data-datepicker-end]")?.value||""}}function i(s,g,t){const n=a(s),o=s.querySelector(".datepicker__days"),p=s.querySelector(".datepicker__month");if(!o)return;o.replaceChildren(),p&&(p.textContent=`${v[t]} ${g}`),s.setAttribute("data-datepicker-view",`${g}-${t}`);const h=new Date(g,t+1,0).getDate(),S=(new Date(g,t,1).getDay()+6)%7,f=new Date(g,t,0).getDate(),b=Math.ceil((S+h)/7)*7;for(let E=0;E<b;E++){const A=E-S+1;let _=g,w=t,k=A;A<1?(w=t-1,k=f+A,w<0&&(w=11,_--)):A>h&&(w=t+1,k=A-h,w>11&&(w=0,_++));const q=m(_,w,k),x=document.createElement("button");x.type="button",x.className="datepicker__day",(A<1||A>h)&&x.classList.add("datepicker__day--outside"),q===n.today&&(x.classList.add("datepicker__day--today"),x.setAttribute("aria-current","date")),n.start&&n.end&&q>n.start&&q<n.end&&x.classList.add("datepicker__day--in-range"),q===n.start&&x.classList.add("datepicker__day--start"),q===n.end&&x.classList.add("datepicker__day--end"),(q===n.start||q===n.end)&&x.setAttribute("aria-pressed","true"),(n.min&&q<n.min||n.max&&q>n.max)&&(x.disabled=!0),x.setAttribute("data-day",q),x.setAttribute("aria-label",`${k} ${v[w]} ${_}`),x.textContent=String(k),o.append(x)}}function r(s){const g=s.getAttribute("data-datepicker-view");if(g){const[o,p]=g.split("-").map(Number);return[o,p]}const t=a(s),n=t.start||t.today;return[Number(n.slice(0,4)),Number(n.slice(5,7))-1]}function d(s,g){const t=a(s),n=s.querySelector("[data-datepicker-start]"),o=s.querySelector("[data-datepicker-end]"),p=s.querySelector("[data-datepicker-label]");let h=g,S="";t.range&&t.start&&!t.end&&g>=t.start&&(h=t.start,S=g),n&&(n.value=h),o&&(o.value=S),p&&(p.textContent=t.range?`${c(h)||"Start date"} \u2013 ${c(S)||"End date"}`:c(h)),n?.dispatchEvent(new Event("change",{bubbles:!0}));const[f,b]=r(s);i(s,f,b),(!t.range||S)&&e(s,!1,!0)}document.addEventListener("click",s=>{const g=s.target.closest?.("[data-datepicker-trigger]");if(g){const n=g.closest("[data-datepicker]"),o=n?.querySelector(".datepicker__panel");o&&e(n,o.hidden);return}const t=s.target.closest?.("[data-datepicker]");if(t&&!t.hasAttribute("data-datepicker-server")){const n=s.target.closest("button[data-day]");if(n&&!n.disabled){d(t,n.getAttribute("data-day"));return}const o=s.target.closest("button[data-month]");if(o){const[p,h]=o.getAttribute("data-month").split("-").map(Number);i(t,p,h);const S={"prev-year":[p-1,h],prev:h===0?[p-1,11]:[p,h-1],next:h===11?[p+1,0]:[p,h+1],"next-year":[p+1,h]};t.querySelectorAll("button[data-month][data-nav]").forEach(f=>{const b=S[f.getAttribute("data-nav")];b&&f.setAttribute("data-month",`${b[0]}-${b[1]}`)});return}}document.querySelectorAll("[data-datepicker]:not(.datepicker--inline) .datepicker__panel:not([hidden])").forEach(n=>{const o=n.closest("[data-datepicker]");o!==t&&e(o,!1)})}),document.addEventListener("keydown",s=>{if(s.key!=="Escape"||s.defaultPrevented)return;const g=s.target.closest?.("[data-datepicker]"),t=g?.querySelector(".datepicker__panel");!t||t.hidden||g.classList.contains("datepicker--inline")||(s.preventDefault(),e(g,!1,!0))})})(),(()=>{const v=()=>document.querySelectorAll(".dropdown__panel.is-open"),y=a=>document.querySelector(`[data-toggle="#${CSS.escape(a.id)}"]`),u=".data-table__scroll, [data-dropdown-clip]";function m(a,i){if(!i?.closest(u))return;const r=i.getBoundingClientRect();a.classList.add("dropdown__panel--fixed");const d=a.offsetWidth;let g=a.classList.contains("dropdown__panel--end")?r.right-d:r.left;g=Math.max(8,Math.min(g,innerWidth-d-8));let t=r.bottom+4;t+a.offsetHeight>innerHeight-8&&(t=Math.max(8,r.top-a.offsetHeight-4)),a.style.left=`${g}px`,a.style.top=`${t}px`}function c(a,i){a.setAttribute("hidden",""),a.classList.remove("is-open","dropdown__panel--fixed"),a.style.removeProperty("left"),a.style.removeProperty("top"),i?.setAttribute("aria-expanded","false")}document.addEventListener("click",a=>{v().forEach(i=>{const r=y(i);if(r?.contains(a.target)){i.classList.contains("dropdown__panel--fixed")||m(i,r);return}if(i.contains(a.target)){const d=a.target.closest("a[href], button, [data-action]");if(!d||d.hasAttribute("data-toggle"))return}c(i,r)})}),document.addEventListener("keydown",a=>{if(a.key!=="Escape"||a.defaultPrevented)return;const i=a.target.closest?.(".dropdown"),r=i?i.querySelectorAll(".dropdown__panel.is-open"):v();let d=!1;r.forEach(s=>{const g=y(s);c(s,g),g?.focus(),d=!0}),d&&a.preventDefault()});const l=a=>{const i=a.closest(u)?.getBoundingClientRect(),r=a.getBoundingClientRect();return!i||r.bottom>i.top&&r.top<i.bottom&&r.right>i.left&&r.left<i.right},e=()=>{document.querySelectorAll(".dropdown__panel--fixed.is-open").forEach(a=>{const i=y(a);i&&l(i)?m(a,i):c(a,i)})};addEventListener("scroll",e,{capture:!0,passive:!0}),addEventListener("resize",e,{passive:!0})})(),(()=>{for(const c of["dragenter","dragover"])document.addEventListener(c,l=>{const e=l.target.closest?.(".dropzone__area");e&&(l.preventDefault(),e.classList.add("dropzone__area--over"))});for(const c of["dragleave","drop"])document.addEventListener(c,l=>{l.target.closest?.(".dropzone__area")?.classList.remove("dropzone__area--over")});document.addEventListener("click",c=>{const l=c.target.closest?.("[data-dropzone-remove]");l&&l.closest(".dropzone__file")?.remove()});const v=c=>c<1024?`${c} B`:c<1024*1024?`${Math.round(c/1024)} KB`:`${(c/(1024*1024)).toFixed(1)} MB`;function y(c){const l=document.createElement("div");l.className="dropzone__file dropzone__file--pending";const e=document.createElement("span");e.className="dropzone__file-icon",e.textContent=(c.name.split(".").pop()||"").slice(0,4).toLowerCase();const a=document.createElement("span");a.className="dropzone__file-body";const i=document.createElement("span");i.className="dropzone__file-row";const r=document.createElement("span");r.className="dropzone__file-name",r.textContent=c.name;const d=document.createElement("span");d.className="dropzone__file-size",d.textContent=v(c.size),i.append(r,d);const s=document.createElement("progress");return s.className="dropzone__bar",s.max=100,s.setAttribute("aria-label",`Uploading ${c.name}`),a.append(i,s),l.append(e,a),l}const u=new Map;document.addEventListener("submit",c=>{const l=c.target;if(!l?.matches?.("form[data-action]"))return;const e=l.querySelector("[data-dropzone]"),a=e?.querySelector("input[type=file]");if(!e||!a?.files?.length)return;let i=e.querySelector(".dropzone__files");i||(i=document.createElement("div"),i.className="dropzone__files",e.append(i));const r=[...a.files].map(d=>{const s=y(d);return i.append(s),s});u.set(l.getAttribute("data-action"),{zone:e,rows:r})}),document.addEventListener("rapid:progress",c=>{const l=u.get(c.detail?.url);if(!l)return;const{loaded:e,total:a}=c.detail;for(const i of l.rows){const r=i.querySelector("progress");r&&(a>0?r.value=Math.min(100,Math.round(e/a*100)):r.removeAttribute("value"))}});const m=(c,l)=>{const e=c.detail?.url,a=e?u.get(e):void 0;if(a&&(u.delete(e),!!l))for(const i of a.rows){if(!i.isConnected)continue;i.classList.remove("dropzone__file--pending"),i.classList.add("dropzone__file--error"),i.querySelector("progress")?.remove();const r=document.createElement("span");r.className="dropzone__file-error",r.textContent="Upload failed",i.querySelector(".dropzone__file-body")?.append(r)}};document.addEventListener("rapid:swapped",c=>m(c,!1)),document.addEventListener("rapid:error",c=>m(c,!0))})(),(()=>{const v={bold:["**","**"],italic:["_","_"],strike:["~~","~~"],code:["`","`"]},y={heading:"## ",quote:"> ",ul:"- ",ol:"1. "},u={heading:"h2",quote:"blockquote",code:"pre"},m={bold:"bold",italic:"italic",underline:"underline",strike:"strikeThrough"},c={ul:"insertUnorderedList",ol:"insertOrderedList"},l=f=>f.querySelector(".editor__source"),e=f=>f.querySelector("[data-editor-surface]"),a=f=>f.getAttribute("data-editor-mode")==="html";function i(f,b,E,A,_,w){f.value=f.value.slice(0,b)+A+f.value.slice(E),f.setSelectionRange(b+_,b+w),f.focus(),f.dispatchEvent(new Event("input",{bubbles:!0}))}function r(f){const b=f.value.lastIndexOf(`
|
|
3
|
+
`,f.selectionStart-1)+1,E=f.value.indexOf(`
|
|
4
|
+
`,Math.max(f.selectionEnd,b)),A=f.selectionEnd>f.selectionStart&&f.value[f.selectionEnd-1]===`
|
|
5
|
+
`?f.selectionEnd-1:E===-1?f.value.length:E;return[b,A]}const d=/^(#{1,6} |> |- |\* |\d+\. )+/;function s(f,b){const E=f.selectionStart,A=f.selectionEnd,_=f.value.slice(E,A);if(v[b]){const[L,C]=v[b],D=b==="code"&&_.includes(`
|
|
6
|
+
`),$=D?"```\n":L,M=D?"\n```":C;if(_.startsWith($)&&_.endsWith(M)&&_.length>=$.length+M.length){const O=_.slice($.length,_.length-M.length);i(f,E,A,O,0,O.length);return}if(f.value.slice(E-$.length,E)===$&&f.value.slice(A,A+M.length)===M){i(f,E-$.length,A+M.length,_,0,_.length);return}const T=_||b;i(f,E,A,$+T+M,$.length,$.length+T.length);return}if(b==="link"||b==="image"){const C=`${b==="image"?"!":""}[${_||(b==="image"?"alt text":"text")}](url)`;i(f,E,A,C,C.length-4,C.length-1);return}if(b==="hr"){const C=`${E===0||f.value[E-1]===`
|
|
7
7
|
`?"":`
|
|
8
8
|
`}
|
|
9
9
|
---
|
|
10
10
|
|
|
11
|
-
`;
|
|
12
|
-
`);if(
|
|
13
|
-
`).replace(/!\[(.*?)\]\(\S+?\)/g,"$1").replace(/\[(.+?)\]\(\S+?\)/g,"$1").replace(/(\*\*|__|~~|`)(.+?)\1/g,"$2").replace(/(^|[^\w])_(.+?)_(?=[^\w]|$)/g,"$1$2");
|
|
14
|
-
`);u(d,w,k,T,0,T.length)}function p(d,g){const _=d.querySelector("[data-editor-preview-panel]"),A=e(d);if(d.querySelectorAll("[data-editor-view]").forEach(w=>{w.setAttribute("aria-pressed",String(w.getAttribute("data-editor-view")===(g?"preview":"write")))}),!g){d.removeAttribute("data-editor-view"),_&&(_.hidden=!0),A?.focus();return}if(d.setAttribute("data-editor-view","preview"),!_)return;_.hidden=!1;const S=d.getAttribute("data-editor-preview");if(S&&globalThis.rapid?.swap)_.setAttribute("aria-busy","true"),globalThis.rapid.swap(S,_,{method:"post",body:new URLSearchParams({text:A?.value??""}).toString()}).finally(()=>_.removeAttribute("aria-busy"));else{_.replaceChildren();const w=document.createElement("p");w.className="editor__preview-note",w.textContent="No preview route on this page \u2014 showing the Markdown source.";const k=document.createElement("pre");k.className="editor__preview-raw",k.textContent=A?.value??"",_.append(w,k)}}function b(d){const g=e(d),_=t(d);g&&_&&(g.value=_.innerHTML)}const f=()=>String(document.queryCommandValue("formatBlock")||"").toLowerCase().replace(/[<>]/g,"");function r(d,g){const _=t(d);if(!(!_||_.getAttribute("contenteditable")!=="true")){if(_.focus(),i[g])document.execCommand(i[g]);else if(o[g])document.execCommand(o[g]);else if(a[g])document.execCommand("formatBlock",!1,f()===a[g]?"<p>":`<${a[g]}>`);else if(g==="link"){const A=globalThis.prompt?.("Link URL","https://");A&&document.execCommand("createLink",!1,A)}else if(g==="image"){const A=globalThis.prompt?.("Image URL","https://");A&&document.execCommand("insertImage",!1,A)}else g==="hr"?document.execCommand("insertHorizontalRule"):g==="clear"&&(document.execCommand("removeFormat"),document.execCommand("unlink"),document.queryCommandState("insertUnorderedList")&&document.execCommand("insertUnorderedList"),document.queryCommandState("insertOrderedList")&&document.execCommand("insertOrderedList"),f()!=="p"&&f()!=="div"&&document.execCommand("formatBlock",!1,"<p>"));b(d),m(d)}}function m(d){if(!c(d))return;const g=f();d.querySelectorAll("[data-editor-cmd]").forEach(_=>{const A=_.getAttribute("data-editor-cmd");let S=!1;i[A]||o[A]?S=document.queryCommandState(i[A]??o[A]):a[A]&&(S=g===a[A]),_.setAttribute("aria-pressed",String(S))})}function y(d){if(d.dataset.editorReady)return;d.dataset.editorReady="true";const g=e(d),_=t(d);_&&g&&(_.innerHTML=g.value,_.setAttribute("contenteditable",g.disabled?"false":"true"),document.execCommand("defaultParagraphSeparator",!1,"p"))}const E=()=>document.querySelectorAll("[data-editor]").forEach(y);document.readyState==="loading"?document.addEventListener("DOMContentLoaded",E):E(),document.addEventListener("rapid:swapped",E),document.addEventListener("click",d=>{const g=d.target.closest?.("[data-editor-cmd]");if(g){const A=g.closest("[data-editor]"),S=g.getAttribute("data-editor-cmd");if(c(A))r(A,S);else{const w=e(A);w&&!w.disabled&&s(w,S)}return}const _=d.target.closest?.("[data-editor-view]");_&&p(_.closest("[data-editor]"),_.getAttribute("data-editor-view")==="preview")}),document.addEventListener("input",d=>{const g=d.target.closest?.("[data-editor-surface]");g&&b(g.closest("[data-editor]"))}),document.addEventListener("selectionchange",()=>{const d=document.activeElement?.closest?.("[data-editor]");d&&m(d)}),document.addEventListener("keydown",d=>{if(!(d.metaKey||d.ctrlKey)||d.altKey)return;const g=d.target.closest?.("[data-editor]");if(!g)return;const _={b:"bold",i:"italic",u:"underline",k:"link"}[d.key.toLowerCase()];!_||_==="underline"&&!c(g)||(d.preventDefault(),c(g)?r(g,_):s(e(g),_))})})(),(()=>{const v="input:not([type=hidden]):not([type=submit]):not([type=button]):not([type=reset]), textarea, select",h=[["valueMissing","required"],["typeMismatch","type"],["badInput","type"],["patternMismatch","pattern"],["tooShort","min-length"],["tooLong","max-length"],["rangeUnderflow","min"],["rangeOverflow","max"],["stepMismatch","step"]],a=n=>n.closest?.("form[data-validate]"),i=n=>n.type==="checkbox"||n.type==="radio"||n.offsetParent!==null;function o(n){const l=n.getAttribute("data-match");if(l){const p=document.querySelector(l),b=p&&n.value!==""&&n.value!==p.value;n.setCustomValidity(b?n.getAttribute("data-msg-match")||"Does not match":"")}const s=n.validity;if(s.valid)return"";if(s.customError)return n.validationMessage;for(const[p,b]of h)if(s[p])return n.getAttribute(`data-msg-${b}`)||n.getAttribute("data-msg")||n.validationMessage;return n.validationMessage}const e=n=>n.id?`${n.id}-error`:"";function t(n,l){const s=n.closest(".form-field")??n.parentElement,p=n.classList[0]||"input";let b=s.querySelector(":scope > .form-field__error");const f=s.querySelector(":scope > .form-field__help");if(l){b||(b=document.createElement("p"),b.className="form-field__error",b.setAttribute("role","alert"),e(n)&&(b.id=e(n)),(f??s).insertAdjacentElement(f?"beforebegin":"beforeend",b)),b.textContent=l,f&&(f.hidden=!0),n.setAttribute("aria-invalid","true"),n.classList.add(`${p}--invalid`);const r=(n.getAttribute("aria-describedby")||"").split(/\s+/).filter(Boolean);b.id&&!r.includes(b.id)&&n.setAttribute("aria-describedby",[...r,b.id].join(" ")),n.dataset.validated="invalid"}else{b?.remove(),f&&(f.hidden=!1),n.removeAttribute("aria-invalid"),n.classList.remove(`${p}--invalid`);const r=(n.getAttribute("aria-describedby")||"").split(/\s+/).filter(m=>m&&m!==e(n));r.length?n.setAttribute("aria-describedby",r.join(" ")):n.removeAttribute("aria-describedby"),n.dataset.validated="valid"}}const c=n=>{if(!i(n)||n.disabled)return!0;const l=o(n);return t(n,l),!l};document.addEventListener("focusout",n=>{const l=n.target;!l?.matches?.(v)||!a(l)||(l.dataset.touched="",c(l))}),document.addEventListener("input",n=>{const l=n.target;if(!l?.matches?.(v))return;const s=a(l);s&&((l.dataset.touched!==void 0||l.dataset.validated||l.getAttribute("aria-invalid")==="true")&&(l.dataset.touched="",c(l)),l.id&&s.querySelectorAll(`[data-match="#${CSS.escape(l.id)}"]`).forEach(p=>{p.dataset.touched!==void 0&&c(p)}))}),document.addEventListener("change",n=>{const l=n.target;l?.matches?.(v)&&a(l)&&l.dataset.touched!==void 0&&c(l)}),document.addEventListener("submit",n=>{const l=n.target;if(!l?.matches?.("form[data-validate]"))return;let s=null;for(const p of l.querySelectorAll(v))p.dataset.touched="",!c(p)&&!s&&(s=p);s&&(n.preventDefault(),n.stopImmediatePropagation(),s.scrollIntoView({block:"center"}),s.focus())},!0);function u(){document.querySelectorAll("form[data-validate]").forEach(n=>n.setAttribute("novalidate",""))}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",u):u(),document.addEventListener("rapid:swapped",u)})(),(()=>{function v(){const h=location.href;let a=null;if(document.querySelectorAll(".menu__link[href]").forEach(o=>{if(!o.getAttribute("href")?.includes("#"))return;new URL(o.getAttribute("href"),location.href).href===h&&(a=o)}),!a)return;a.closest(".menu__list")?.querySelectorAll(".menu__link").forEach(o=>{o!==a&&o.getAttribute("href")?.includes("#")&&(o.classList.remove("menu__link--active"),o.removeAttribute("aria-current"))}),a.classList.add("menu__link--active"),a.setAttribute("aria-current","page");const i=a.closest(".menu__sublist");i&&(i.hidden=!1,i.classList.add("is-open"),document.querySelector(`[data-toggle="#${CSS.escape(i.id)}"]`)?.setAttribute("aria-expanded","true"))}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",v):v(),addEventListener("hashchange",v),document.addEventListener("rapid:swapped",v)})(),(()=>{let v=!1;document.addEventListener("pointerdown",h=>{v=h.target instanceof HTMLDialogElement&&h.target.open}),document.addEventListener("click",h=>{const a=h.target.closest?.("[data-modal-open]");if(a){const o=document.querySelector(a.getAttribute("data-modal-open")??"");o instanceof HTMLDialogElement&&!o.open&&o.showModal();return}const i=h.target.closest?.("[data-modal-close]");if(i){i.closest("dialog")?.close();return}v&&h.target instanceof HTMLDialogElement&&h.target.open&&h.target.close(),v=!1})})(),(()=>{const v=t=>Array.from(t.querySelectorAll(".otp__cell")),h=t=>t.querySelector(".otp__value");function a(t,c){const u=t.getAttribute("data-otp-mode")!=="alphanumeric";return(c||"").replace(u?/[^0-9]/g:/[^0-9a-zA-Z]/g,"")}function i(t,{fromCarrier:c=!1}={}){const u=v(t),n=h(t);if(!u.length||!n)return;if(c){const p=a(t,n.value).slice(0,u.length);u.forEach((b,f)=>b.value=p[f]??"")}const l=u.map(p=>p.value).join("");n.value=l,n.setAttribute("tabindex","-1"),n.setAttribute("aria-hidden","true"),u.forEach(p=>p.toggleAttribute("data-filled",p.value!==""));const s=u.findIndex(p=>!p.value);u.forEach((p,b)=>p.setAttribute("tabindex",b===(s<0?0:s)?"0":"-1")),l.length===u.length&&!t.hasAttribute("data-otp-completed")?(t.setAttribute("data-otp-completed",""),t.dispatchEvent(new CustomEvent("otp:complete",{bubbles:!0,detail:{value:l}})),t.hasAttribute("data-otp-submit")&&t.closest("form")?.requestSubmit()):l.length<u.length&&t.removeAttribute("data-otp-completed")}function o(t,c,u){const n=v(t),l=a(t,u);if(!l){n[c].value="",i(t);return}let s=c;for(const p of l){if(s>=n.length)break;n[s].value=p,s++}i(t),n[Math.min(s,n.length-1)].focus()}document.addEventListener("input",t=>{const c=t.target.closest?.(".otp__cell");if(!c)return;const u=c.closest("[data-otp]"),n=v(u);o(u,n.indexOf(c),c.value)}),document.addEventListener("paste",t=>{const c=t.target.closest?.(".otp__cell");if(!c)return;t.preventDefault();const u=c.closest("[data-otp]");o(u,v(u).indexOf(c),t.clipboardData?.getData("text")??"")}),document.addEventListener("keydown",t=>{const c=t.target.closest?.(".otp__cell");if(!c)return;const u=c.closest("[data-otp]"),n=v(u),l=n.indexOf(c);t.key==="Backspace"?(t.preventDefault(),c.value?c.value="":l>0&&(n[l-1].value="",n[l-1].focus()),i(u)):t.key==="Delete"?(t.preventDefault(),c.value="",i(u)):t.key==="ArrowLeft"&&l>0?(t.preventDefault(),n[l-1].focus()):t.key==="ArrowRight"&&l<n.length-1&&(t.preventDefault(),n[l+1].focus())}),document.addEventListener("focusin",t=>{const c=t.target.closest?.(".otp__cell");c&&c.select()});function e(){document.querySelectorAll("[data-otp]").forEach(t=>i(t,{fromCarrier:!0}))}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",e):e(),document.addEventListener("rapid:swapped",e)})(),(()=>{const v=new Set(["password","password1","passw0rd","123456","1234567","12345678","123456789","1234567890","qwerty","qwerty123","abc123","111111","123123","000000","letmein","welcome","admin","iloveyou","monkey","dragon","login","princess","football","master","sunshine","shadow","superman","michael","baseball","trustno1"]),h=/(?:0123|1234|2345|3456|4567|5678|6789|abcd|bcde|cdef|defg|qwer|wert|asdf|sdfg|zxcv|xcvb)/i;function a(e,t){if(!e)return 0;const c=e.toLowerCase();if(v.has(c)||/^(.)\1+$/.test(e))return 1;const u=[/[a-z]/,/[A-Z]/,/[0-9]/,/[^A-Za-z0-9]/].filter(l=>l.test(e)).length;let n=0;return e.length>=t&&n++,e.length>=12&&n++,u>=3&&n++,(u===4||e.length>=16)&&n++,(h.test(c)||/(.)\1{2,}/.test(e))&&n--,Math.max(1,Math.min(4,n))}function i(e){const t=e.closest("[data-password]");if(!t)return;const c=t.querySelector("[data-password-strength]"),u=Number(e.getAttribute("minlength"))||8,n=a(e.value,u);if(t.dataset.strengthLevel=String(n),c){c.hidden=n===0;const s=c.querySelector("[data-password-label]");if(s){const p=(s.getAttribute("data-levels")||"Too weak|Weak|Good|Strong").split("|");s.textContent=n?p[n-1]:""}}const l=Number(e.getAttribute("data-strength-min"));if(l){const s=n>0&&n<l;e.setCustomValidity(s?e.getAttribute("data-msg-strength")||"Choose a stronger password":"")}}document.addEventListener("input",e=>{const t=e.target;t?.matches?.("[data-password] .password__input")&&i(t)},!0),document.addEventListener("click",e=>{const t=e.target.closest?.("[data-password-reveal]");if(!t)return;const c=document.getElementById(t.getAttribute("aria-controls"));if(!c)return;const u=c.type==="password";c.type=u?"text":"password",t.setAttribute("aria-pressed",String(u)),t.textContent=u?t.getAttribute("data-label-hide")||"Hide":t.getAttribute("data-label-show")||"Show",c.focus()});function o(){document.querySelectorAll("[data-password] .password__input").forEach(e=>{e.value&&i(e)})}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",o):o(),document.addEventListener("rapid:swapped",o)})(),(()=>{function v(a,i){const o=a.querySelector(".popover__panel"),e=a.querySelector("[data-popover-trigger]");o&&(o.hidden=!i),e&&e.setAttribute("aria-expanded",i?"true":"false")}const h=()=>document.querySelectorAll("[data-popover] .popover__panel:not([hidden])");document.addEventListener("click",a=>{const i=a.target.closest?.("[data-popover-trigger]");if(i){const e=i.closest("[data-popover]"),t=e?.querySelector(".popover__panel");t&&v(e,t.hidden);return}const o=a.target.closest?.("[data-popover]");h().forEach(e=>{const t=e.closest("[data-popover]");t!==o&&v(t,!1)})}),document.addEventListener("keydown",a=>{if(a.key!=="Escape"||a.defaultPrevented)return;const i=a.target.closest?.("[data-popover]"),o=i?[i]:Array.from(h()).map(t=>t.closest("[data-popover]"));let e=!1;o.forEach(t=>{const c=t.querySelector(".popover__panel");!c||c.hidden||(v(t,!1),t.querySelector("[data-popover-trigger]")?.focus(),e=!0)}),e&&a.preventDefault()})})(),(()=>{function v(a){const o=a.querySelector(".segmented__input:checked")?.nextElementSibling;if(!o){a.style.setProperty("--segmented-w","0px");return}const e=a.getBoundingClientRect(),t=o.getBoundingClientRect(),c=getComputedStyle(a).direction==="rtl",u=c?e.right-a.clientLeft-3-t.right:t.left-e.left-a.clientLeft-3;a.style.setProperty("--segmented-x",`${c?-u:u}px`),a.style.setProperty("--segmented-w",`${t.width}px`),a.setAttribute("data-segmented-ready","")}const h=()=>document.querySelectorAll("[data-segmented]").forEach(v);document.readyState==="loading"?document.addEventListener("DOMContentLoaded",h):h(),addEventListener("load",h),addEventListener("resize",h),document.addEventListener("rapid:swapped",h),document.addEventListener("change",a=>{const i=a.target.closest?.("[data-segmented]");i&&v(i)})})(),(()=>{function v(i){const o=i.querySelector("[data-select-ui]");return o?{root:o,input:o.querySelector("input[role='combobox']"),hidden:o.querySelector("[data-combobox-value]"),options:Array.from(o.querySelectorAll("[role='option']"))}:null}document.addEventListener("combobox:pick",i=>{const e=i.target.closest?.("[data-select]")?.querySelector(".select__native");if(!e)return;const t=i.detail?.value??"";e.value!==t&&(e.value=t,e.dispatchEvent(new Event("change",{bubbles:!0})),e.dispatchEvent(new Event("input",{bubbles:!0})))}),document.addEventListener("change",i=>{if(!i.target.matches?.(".select__native"))return;const o=i.target.closest("[data-select]"),e=v(o);if(!e)return;const t=i.target.value,c=e.options.find(n=>n.getAttribute("data-value")===t),u=c?(c.querySelector(".combobox__option-label")?.textContent??c.textContent).trim():"";e.hidden&&(e.hidden.value=t),e.input&&e.input.value!==u&&(e.input.value=u),e.options.forEach(n=>n.setAttribute("aria-selected",String(n===c)))});let h="",a=0;document.addEventListener("keydown",i=>{const o=i.target;if(!o.matches?.("[data-select-ui] input[role='combobox']")||i.key.length!==1||i.metaKey||i.ctrlKey||i.altKey)return;const e=Date.now();h=e-a>600?i.key:h+i.key,a=e;const t=o.closest("[data-select]"),u=v(t)?.options.find(n=>n.getAttribute("aria-disabled")!=="true"&&(n.querySelector(".combobox__option-label")?.textContent??n.textContent).trim().toLowerCase().startsWith(h.toLowerCase()));u&&u.click(),i.preventDefault()})})(),(()=>{function v(i){const o=i.closest("[data-slider]");if(!o)return null;const e=Number(i.min||0),t=Number(i.max||100),c=t===e?0:(Number(i.value)-e)/(t-e)*100;return o.style.setProperty("--slider-pct",`${c.toFixed(2)}%`),o}function h(i,o){const e=i.querySelector("[data-slider-output]");if(!e)return;const t=Number(o.value),c=i.getAttribute("data-slider-labels");if(c){const l=Number(o.step||1),s=Math.round((t-Number(o.min||0))/l);let p=[];try{p=JSON.parse(c)}catch{}e.textContent=p[s]??o.value,i.querySelectorAll(".slider__scale-item").forEach((b,f)=>{b.classList.toggle("slider__scale-item--active",f===s)});return}const u=i.getAttribute("data-slider-unit"),n=i.getAttribute("data-slider-unit-one")||u;e.textContent=u?`${o.value} ${t===1?n:u}`:o.value}function a(){document.querySelectorAll("[data-slider] .slider__input").forEach(v)}document.addEventListener("input",i=>{if(!i.target.matches?.("[data-slider] .slider__input"))return;const o=v(i.target);o&&h(o,i.target)}),document.readyState==="loading"?document.addEventListener("DOMContentLoaded",a):a(),document.addEventListener("rapid:swapped",a)})(),(()=>{document.addEventListener("click",a=>{const i=a.target.closest?.(".tabs__tab");i&&h(i)}),document.addEventListener("keydown",a=>{if(!["ArrowRight","ArrowLeft","Home","End"].includes(a.key))return;const o=a.target.closest?.(".tabs__tab");if(!o)return;const e=[...o.parentElement.querySelectorAll(".tabs__tab")],t=e.indexOf(o);let c;a.key==="Home"?c=e[0]:a.key==="End"?c=e[e.length-1]:a.key==="ArrowRight"?c=e[(t+1)%e.length]:c=e[(t-1+e.length)%e.length],a.preventDefault(),c.focus(),h(c)});function v(){if(location.hash.length<2)return;const a=document.querySelector(`.tabs__tab#${CSS.escape(location.hash.slice(1))}`);if(!a)return;h(a);const i=()=>{document.activeElement===a&&a.blur()};i(),setTimeout(i,50)}v(),addEventListener("load",v),addEventListener("hashchange",v),document.addEventListener("rapid:swapped",v);function h(a){const i=a.closest(".tabs");i&&(i.querySelectorAll(":scope > .tabs__list > .tabs__tab").forEach(o=>{const e=o===a;o.setAttribute("aria-selected",String(e)),o.setAttribute("tabindex",e?"0":"-1")}),i.querySelectorAll(":scope > .tabs__panel").forEach(o=>{o.toggleAttribute("hidden",o.id!==a.getAttribute("aria-controls"))}))}})(),(()=>{const v=new WeakMap;function h(o){const e=Number(o.dataset.toastAutodismiss);!e||v.has(o)||v.set(o,setTimeout(()=>o.remove(),e))}function a(o){const e=Number(o.dataset.toastMax)||4,t=o.querySelectorAll(":scope > .toast");for(let c=0;c<t.length-e;c++)t[c].remove()}function i(o){o.querySelectorAll?.(".toast[data-toast-autodismiss]").forEach(h),o.matches?.(".toast[data-toast-autodismiss]")&&h(o),o.querySelectorAll?.(".toast-region").forEach(a),o.closest?.(".toast-region")&&a(o.closest(".toast-region"))}i(document),new MutationObserver(o=>{for(const e of o)for(const t of e.addedNodes)t.nodeType===1&&i(t)}).observe(document.documentElement,{childList:!0,subtree:!0}),document.addEventListener("click",o=>{const e=o.target.closest?.("[data-toast-open]");if(!e)return;const t=document.querySelector(e.getAttribute("data-toast-open")??""),c=document.querySelector(e.getAttribute("data-toast-region")??"#toast-region");!t?.content||!c||c.append(t.content.cloneNode(!0))})})();
|
|
11
|
+
`;i(f,E,A,C,C.length,C.length);return}const[w,k]=r(f),q=f.value.slice(w,k).split(`
|
|
12
|
+
`);if(b==="clear"){const L=q.map(C=>C.replace(d,"")).join(`
|
|
13
|
+
`).replace(/!\[(.*?)\]\(\S+?\)/g,"$1").replace(/\[(.+?)\]\(\S+?\)/g,"$1").replace(/(\*\*|__|~~|`)(.+?)\1/g,"$2").replace(/(^|[^\w])_(.+?)_(?=[^\w]|$)/g,"$1$2");i(f,w,k,L,0,L.length);return}const x=y[b];if(!x)return;const I=L=>b==="ol"?/^\d+\. /.test(L):L.startsWith(x),z=q.every(L=>L.trim()===""||I(L)),N=q.map((L,C)=>{const D=L.replace(d,"");return z?D:L.trim()===""?L:(b==="ol"?`${C+1}. `:x)+D}).join(`
|
|
14
|
+
`);i(f,w,k,N,0,N.length)}function g(f,b){const E=f.querySelector("[data-editor-preview-panel]"),A=l(f);if(f.querySelectorAll("[data-editor-view]").forEach(w=>{w.setAttribute("aria-pressed",String(w.getAttribute("data-editor-view")===(b?"preview":"write")))}),!b){f.removeAttribute("data-editor-view"),E&&(E.hidden=!0),A?.focus();return}if(f.setAttribute("data-editor-view","preview"),!E)return;E.hidden=!1;const _=f.getAttribute("data-editor-preview");if(_&&globalThis.rapid?.swap)E.setAttribute("aria-busy","true"),globalThis.rapid.swap(_,E,{method:"post",body:new URLSearchParams({text:A?.value??""}).toString()}).finally(()=>E.removeAttribute("aria-busy"));else{E.replaceChildren();const w=document.createElement("p");w.className="editor__preview-note",w.textContent="No preview route on this page \u2014 showing the Markdown source.";const k=document.createElement("pre");k.className="editor__preview-raw",k.textContent=A?.value??"",E.append(w,k)}}function t(f){const b=l(f),E=e(f);b&&E&&(b.value=E.innerHTML)}const n=()=>String(document.queryCommandValue("formatBlock")||"").toLowerCase().replace(/[<>]/g,"");function o(f,b){const E=e(f);if(!(!E||E.getAttribute("contenteditable")!=="true")){if(E.focus(),m[b])document.execCommand(m[b]);else if(c[b])document.execCommand(c[b]);else if(u[b])document.execCommand("formatBlock",!1,n()===u[b]?"<p>":`<${u[b]}>`);else if(b==="link"){const A=globalThis.prompt?.("Link URL","https://");A&&document.execCommand("createLink",!1,A)}else if(b==="image"){const A=globalThis.prompt?.("Image URL","https://");A&&document.execCommand("insertImage",!1,A)}else b==="hr"?document.execCommand("insertHorizontalRule"):b==="clear"&&(document.execCommand("removeFormat"),document.execCommand("unlink"),document.queryCommandState("insertUnorderedList")&&document.execCommand("insertUnorderedList"),document.queryCommandState("insertOrderedList")&&document.execCommand("insertOrderedList"),n()!=="p"&&n()!=="div"&&document.execCommand("formatBlock",!1,"<p>"));t(f),p(f)}}function p(f){if(!a(f))return;const b=n();f.querySelectorAll("[data-editor-cmd]").forEach(E=>{const A=E.getAttribute("data-editor-cmd");let _=!1;m[A]||c[A]?_=document.queryCommandState(m[A]??c[A]):u[A]&&(_=b===u[A]),E.setAttribute("aria-pressed",String(_))})}function h(f){if(f.dataset.editorReady)return;f.dataset.editorReady="true";const b=l(f),E=e(f);E&&b&&(E.innerHTML=b.value,E.setAttribute("contenteditable",b.disabled?"false":"true"),document.execCommand("defaultParagraphSeparator",!1,"p"))}const S=()=>document.querySelectorAll("[data-editor]").forEach(h);document.readyState==="loading"?document.addEventListener("DOMContentLoaded",S):S(),document.addEventListener("rapid:swapped",S),document.addEventListener("click",f=>{const b=f.target.closest?.("[data-editor-cmd]");if(b){const A=b.closest("[data-editor]"),_=b.getAttribute("data-editor-cmd");if(a(A))o(A,_);else{const w=l(A);w&&!w.disabled&&s(w,_)}return}const E=f.target.closest?.("[data-editor-view]");E&&g(E.closest("[data-editor]"),E.getAttribute("data-editor-view")==="preview")}),document.addEventListener("input",f=>{const b=f.target.closest?.("[data-editor-surface]");b&&t(b.closest("[data-editor]"))}),document.addEventListener("selectionchange",()=>{const f=document.activeElement?.closest?.("[data-editor]");f&&p(f)}),document.addEventListener("keydown",f=>{if(!(f.metaKey||f.ctrlKey)||f.altKey)return;const b=f.target.closest?.("[data-editor]");if(!b)return;const E={b:"bold",i:"italic",u:"underline",k:"link"}[f.key.toLowerCase()];!E||E==="underline"&&!a(b)||(f.preventDefault(),a(b)?o(b,E):s(l(b),E))})})(),(()=>{const v="input:not([type=hidden]):not([type=submit]):not([type=button]):not([type=reset]), textarea, select",y=[["valueMissing","required"],["typeMismatch","type"],["badInput","type"],["patternMismatch","pattern"],["tooShort","min-length"],["tooLong","max-length"],["rangeUnderflow","min"],["rangeOverflow","max"],["stepMismatch","step"]],u=t=>t.closest?.("form[data-validate]"),m=t=>t.type==="checkbox"||t.type==="radio"||t.offsetParent!==null;function c(t){const n=t.getAttribute("data-match");if(n){const p=document.querySelector(n),h=p&&t.value!==""&&t.value!==p.value;t.setCustomValidity(h?t.getAttribute("data-msg-match")||"Does not match":"")}const o=t.validity;if(o.valid)return"";if(o.customError)return t.validationMessage;for(const[p,h]of y)if(o[p])return t.getAttribute(`data-msg-${h}`)||t.getAttribute("data-msg")||t.validationMessage;return t.validationMessage}const l=t=>t.id?`${t.id}-error`:"";function e(t,n){const o=t.closest(".form-field")??t.parentElement,p=t.classList[0]||"input";let h=o.querySelector(":scope > .form-field__error");const S=o.querySelector(":scope > .form-field__help");if(n){h||(h=document.createElement("p"),h.className="form-field__error",h.setAttribute("role","alert"),l(t)&&(h.id=l(t)),(S??o).insertAdjacentElement(S?"beforebegin":"beforeend",h)),h.textContent=n,S&&(S.hidden=!0),t.setAttribute("aria-invalid","true"),t.classList.add(`${p}--invalid`);const f=(t.getAttribute("aria-describedby")||"").split(/\s+/).filter(Boolean);h.id&&!f.includes(h.id)&&t.setAttribute("aria-describedby",[...f,h.id].join(" ")),t.dataset.validated="invalid"}else{h?.remove(),S&&(S.hidden=!1),t.removeAttribute("aria-invalid"),t.classList.remove(`${p}--invalid`);const f=(t.getAttribute("aria-describedby")||"").split(/\s+/).filter(b=>b&&b!==l(t));f.length?t.setAttribute("aria-describedby",f.join(" ")):t.removeAttribute("aria-describedby"),t.dataset.validated="valid"}}const a=t=>{if(!m(t)||t.disabled)return!0;const n=c(t);return e(t,n),!n};document.addEventListener("focusout",t=>{const n=t.target;!n?.matches?.(v)||!u(n)||(n.dataset.touched="",a(n))}),document.addEventListener("input",t=>{const n=t.target;if(!n?.matches?.(v))return;const o=u(n);o&&((n.dataset.touched!==void 0||n.dataset.validated||n.getAttribute("aria-invalid")==="true")&&(n.dataset.touched="",a(n)),n.id&&o.querySelectorAll(`[data-match="#${CSS.escape(n.id)}"]`).forEach(p=>{p.dataset.touched!==void 0&&a(p)}))}),document.addEventListener("change",t=>{const n=t.target;n?.matches?.(v)&&u(n)&&n.dataset.touched!==void 0&&a(n)});const i=new WeakMap,r=t=>{const n=document.cookie.match(new RegExp("(?:^|; )"+t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")+"=([^;]*)"));return n?decodeURIComponent(n[1]):void 0};async function d(t){const n=t.getAttribute("data-validate-action");if(!n||!t.value||!t.validity.valid)return;i.get(t)?.abort();const o=new AbortController;i.set(t,o),t.setAttribute("aria-busy","true");const p=document.body?.dataset??{},h={"content-type":"application/x-www-form-urlencoded",[p.swapHeader||"rapid-swap"]:"1"},S=r(p.csrfCookie||"csrf");S&&(h[p.csrfHeader||"x-csrf-token"]=S);const f=t.value;try{const b=await fetch(n,{method:"POST",headers:h,body:new URLSearchParams({[t.name||"value"]:f}).toString(),signal:o.signal,credentials:"same-origin"}),E=b.ok?await b.text():"",A=new DOMParser().parseFromString(E,"text/html").body.textContent.trim();if(t.value!==f)return;t.setCustomValidity(A),t.dataset.remoteValue=f,e(t,A)}catch{}finally{i.get(t)===o&&(i.delete(t),t.removeAttribute("aria-busy"))}}document.addEventListener("focusout",t=>{const n=t.target;n?.matches?.("[data-validate-action]")&&u(n)&&d(n)}),document.addEventListener("input",t=>{const n=t.target;n?.matches?.("[data-validate-action]")&&n.dataset.remoteValue!==void 0&&n.value!==n.dataset.remoteValue&&(delete n.dataset.remoteValue,n.setCustomValidity(""),n.dataset.touched!==void 0&&a(n))});const s=()=>document.querySelectorAll("form[data-guard][data-dirty]");for(const t of["input","change"])document.addEventListener(t,n=>{const o=n.target?.closest?.("form[data-guard]");o&&(o.dataset.dirty="")});document.addEventListener("reset",t=>{t.target?.matches?.("form[data-guard]")&&delete t.target.dataset.dirty}),addEventListener("beforeunload",t=>{s().length&&(t.preventDefault(),t.returnValue="")}),document.addEventListener("submit",t=>{const n=t.target;if(!n?.matches?.("form[data-validate]"))return;let o=null;for(const p of n.querySelectorAll(v))p.dataset.touched="",!a(p)&&!o&&(o=p);if(!o){delete n.dataset.dirty;return}t.preventDefault(),t.stopImmediatePropagation(),o.scrollIntoView({block:"center"}),o.focus()},!0),document.addEventListener("submit",t=>{const n=t.target;n?.matches?.("form[data-guard]:not([data-validate])")&&delete n.dataset.dirty},!0);function g(){document.querySelectorAll("form[data-validate]").forEach(t=>t.setAttribute("novalidate",""))}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",g):g(),document.addEventListener("rapid:swapped",g)})(),(()=>{const v=new Set(["password","password1","passw0rd","123456","1234567","12345678","123456789","1234567890","qwerty","qwerty123","abc123","111111","123123","000000","letmein","welcome","admin","iloveyou","monkey","dragon","login","princess","football","master","sunshine","shadow","superman","michael","baseball","trustno1"]),y=/(?:0123|1234|2345|3456|4567|5678|6789|abcd|bcde|cdef|defg|qwer|wert|asdf|sdfg|zxcv|xcvb)/i;function u(r,d){if(!r)return 0;const s=r.toLowerCase();if(v.has(s)||/^(.)\1+$/.test(r))return 1;const g=[/[a-z]/,/[A-Z]/,/[0-9]/,/[^A-Za-z0-9]/].filter(n=>n.test(r)).length;let t=0;return r.length>=d&&t++,r.length>=12&&t++,g>=3&&t++,(g===4||r.length>=16)&&t++,(y.test(s)||/(.)\1{2,}/.test(r))&&t--,Math.max(1,Math.min(4,t))}function m(r){const d=r.closest("[data-password]");if(!d)return;const s=d.querySelector("[data-password-strength]"),g=Number(r.getAttribute("minlength"))||8,t=u(r.value,g);if(d.dataset.strengthLevel=String(t),s){s.hidden=t===0;const o=s.querySelector("[data-password-label]");if(o){const p=(o.getAttribute("data-levels")||"Too weak|Weak|Good|Strong").split("|");o.textContent=t?p[t-1]:""}}const n=Number(r.getAttribute("data-strength-min"));if(n){const o=t>0&&t<n;r.setCustomValidity(o?r.getAttribute("data-msg-strength")||"Choose a stronger password":"")}}document.addEventListener("input",r=>{const d=r.target;d?.matches?.("[data-password] .password__input")&&m(d)},!0),document.addEventListener("click",r=>{const d=r.target.closest?.("[data-password-reveal]");if(!d)return;const s=document.getElementById(d.getAttribute("aria-controls"));if(!s)return;const g=s.type==="password";s.type=g?"text":"password",d.setAttribute("aria-pressed",String(g));const t=d.querySelector("[data-password-reveal-label]");t&&(t.textContent=g?d.getAttribute("data-label-hide")||"Hide":d.getAttribute("data-label-show")||"Show");const n=d.querySelector("[data-icon-show]"),o=d.querySelector("[data-icon-hide]");n&&(n.hidden=g),o&&(o.hidden=!g),s.focus()});const c=(r,d)=>{const s=r.closest("[data-password]")?.querySelector("[data-password-caps]");s&&(s.hidden=!d)};for(const r of["keydown","keyup"])document.addEventListener(r,d=>{const s=d.target;!s?.matches?.("[data-password] .password__input")||typeof d.getModifierState!="function"||c(s,d.getModifierState("CapsLock"))});document.addEventListener("focusout",r=>{r.target?.matches?.("[data-password] .password__input")&&c(r.target,!1)});function l(r){const d=r.id,s=d&&document.querySelector(`[data-counter-for="${CSS.escape(d)}"]`);if(!s)return;const g=Number(r.getAttribute("maxlength"))||0,t=r.value.length;s.textContent=`${t} / ${g}`,s.classList.toggle("input__counter--near",g>0&&t>=g*.9)}document.addEventListener("input",r=>{r.target?.matches?.("[data-counter]")&&l(r.target)});function e(r){const d=r.closest("[data-input-clear]")?.querySelector("[data-input-clear-button]");d&&(d.hidden=!r.value)}document.addEventListener("input",r=>{r.target?.closest?.("[data-input-clear]")&&e(r.target)}),document.addEventListener("click",r=>{const d=r.target.closest?.("[data-input-clear-button]");if(!d)return;const s=document.getElementById(d.getAttribute("aria-controls"))??d.closest("[data-input-clear]")?.querySelector("input");s&&(s.value="",s.dispatchEvent(new Event("input",{bubbles:!0})),s.focus())});function a(r){r.style.height="auto",r.style.height=`${r.scrollHeight}px`}document.addEventListener("input",r=>{r.target?.matches?.("[data-autosize]")&&a(r.target)});function i(){document.querySelectorAll("[data-password] .password__input").forEach(r=>{r.value&&m(r)}),document.querySelectorAll("[data-counter]").forEach(l),document.querySelectorAll("[data-input-clear] input").forEach(e),document.querySelectorAll("[data-autosize]").forEach(a)}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",i):i(),document.addEventListener("rapid:swapped",i)})(),(()=>{function v(){const y=location.href;let u=null;if(document.querySelectorAll(".menu__link[href]").forEach(c=>{if(!c.getAttribute("href")?.includes("#"))return;new URL(c.getAttribute("href"),location.href).href===y&&(u=c)}),!u)return;u.closest(".menu__list")?.querySelectorAll(".menu__link").forEach(c=>{c!==u&&c.getAttribute("href")?.includes("#")&&(c.classList.remove("menu__link--active"),c.removeAttribute("aria-current"))}),u.classList.add("menu__link--active"),u.setAttribute("aria-current","page");const m=u.closest(".menu__sublist");m&&(m.hidden=!1,m.classList.add("is-open"),document.querySelector(`[data-toggle="#${CSS.escape(m.id)}"]`)?.setAttribute("aria-expanded","true"))}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",v):v(),addEventListener("hashchange",v),document.addEventListener("rapid:swapped",v)})(),(()=>{let v=!1;document.addEventListener("pointerdown",y=>{v=y.target instanceof HTMLDialogElement&&y.target.open}),document.addEventListener("click",y=>{const u=y.target.closest?.("[data-modal-open]");if(u){const c=document.querySelector(u.getAttribute("data-modal-open")??"");c instanceof HTMLDialogElement&&!c.open&&c.showModal();return}const m=y.target.closest?.("[data-modal-close]");if(m){m.closest("dialog")?.close();return}v&&y.target instanceof HTMLDialogElement&&y.target.open&&y.target.close(),v=!1})})(),(()=>{const v=e=>Array.from(e.querySelectorAll(".otp__cell")),y=e=>e.querySelector(".otp__value");function u(e,a){const i=e.getAttribute("data-otp-mode")!=="alphanumeric";return(a||"").replace(i?/[^0-9]/g:/[^0-9a-zA-Z]/g,"")}function m(e,{fromCarrier:a=!1}={}){const i=v(e),r=y(e);if(!i.length||!r)return;if(a){const g=u(e,r.value).slice(0,i.length);i.forEach((t,n)=>t.value=g[n]??"")}const d=i.map(g=>g.value).join("");r.value=d,r.setAttribute("tabindex","-1"),r.setAttribute("aria-hidden","true"),i.forEach(g=>g.toggleAttribute("data-filled",g.value!==""));const s=i.findIndex(g=>!g.value);i.forEach((g,t)=>g.setAttribute("tabindex",t===(s<0?0:s)?"0":"-1")),d.length===i.length&&!e.hasAttribute("data-otp-completed")?(e.setAttribute("data-otp-completed",""),e.dispatchEvent(new CustomEvent("otp:complete",{bubbles:!0,detail:{value:d}})),e.hasAttribute("data-otp-submit")&&e.closest("form")?.requestSubmit()):d.length<i.length&&e.removeAttribute("data-otp-completed")}function c(e,a,i){const r=v(e),d=u(e,i);if(!d){r[a].value="",m(e);return}let s=a;for(const g of d){if(s>=r.length)break;r[s].value=g,s++}m(e),r[Math.min(s,r.length-1)].focus()}document.addEventListener("input",e=>{const a=e.target.closest?.(".otp__cell");if(!a)return;const i=a.closest("[data-otp]"),r=v(i);c(i,r.indexOf(a),a.value)}),document.addEventListener("paste",e=>{const a=e.target.closest?.(".otp__cell");if(!a)return;e.preventDefault();const i=a.closest("[data-otp]");c(i,v(i).indexOf(a),e.clipboardData?.getData("text")??"")}),document.addEventListener("keydown",e=>{const a=e.target.closest?.(".otp__cell");if(!a)return;const i=a.closest("[data-otp]"),r=v(i),d=r.indexOf(a);e.key==="Backspace"?(e.preventDefault(),a.value?a.value="":d>0&&(r[d-1].value="",r[d-1].focus()),m(i)):e.key==="Delete"?(e.preventDefault(),a.value="",m(i)):e.key==="ArrowLeft"&&d>0?(e.preventDefault(),r[d-1].focus()):e.key==="ArrowRight"&&d<r.length-1&&(e.preventDefault(),r[d+1].focus())}),document.addEventListener("focusin",e=>{const a=e.target.closest?.(".otp__cell");a&&a.select()});function l(){document.querySelectorAll("[data-otp]").forEach(e=>m(e,{fromCarrier:!0}))}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",l):l(),document.addEventListener("rapid:swapped",l)})(),(()=>{function v(u,m){const c=u.querySelector(".popover__panel"),l=u.querySelector("[data-popover-trigger]");c&&(c.hidden=!m),l&&l.setAttribute("aria-expanded",m?"true":"false")}const y=()=>document.querySelectorAll("[data-popover] .popover__panel:not([hidden])");document.addEventListener("click",u=>{const m=u.target.closest?.("[data-popover-trigger]");if(m){const l=m.closest("[data-popover]"),e=l?.querySelector(".popover__panel");e&&v(l,e.hidden);return}const c=u.target.closest?.("[data-popover]");y().forEach(l=>{const e=l.closest("[data-popover]");e!==c&&v(e,!1)})}),document.addEventListener("keydown",u=>{if(u.key!=="Escape"||u.defaultPrevented)return;const m=u.target.closest?.("[data-popover]"),c=m?[m]:Array.from(y()).map(e=>e.closest("[data-popover]"));let l=!1;c.forEach(e=>{const a=e.querySelector(".popover__panel");!a||a.hidden||(v(e,!1),e.querySelector("[data-popover-trigger]")?.focus(),l=!0)}),l&&u.preventDefault()})})(),(()=>{function v(u){const c=u.querySelector(".segmented__input:checked")?.nextElementSibling;if(!c){u.style.setProperty("--segmented-w","0px");return}const l=u.getBoundingClientRect(),e=c.getBoundingClientRect(),a=getComputedStyle(u).direction==="rtl",i=a?l.right-u.clientLeft-3-e.right:e.left-l.left-u.clientLeft-3;u.style.setProperty("--segmented-x",`${a?-i:i}px`),u.style.setProperty("--segmented-w",`${e.width}px`),u.setAttribute("data-segmented-ready","")}const y=()=>document.querySelectorAll("[data-segmented]").forEach(v);document.readyState==="loading"?document.addEventListener("DOMContentLoaded",y):y(),addEventListener("load",y),addEventListener("resize",y),document.addEventListener("rapid:swapped",y),document.addEventListener("change",u=>{const m=u.target.closest?.("[data-segmented]");m&&v(m)})})(),(()=>{function v(m){const c=m.querySelector("[data-select-ui]");return c?{root:c,input:c.querySelector("input[role='combobox']"),hidden:c.querySelector("[data-combobox-value]"),options:Array.from(c.querySelectorAll("[role='option']"))}:null}document.addEventListener("combobox:pick",m=>{const l=m.target.closest?.("[data-select]")?.querySelector(".select__native");if(!l)return;const e=m.detail?.value??"";l.value!==e&&(l.value=e,l.dispatchEvent(new Event("change",{bubbles:!0})),l.dispatchEvent(new Event("input",{bubbles:!0})))}),document.addEventListener("change",m=>{if(!m.target.matches?.(".select__native"))return;const c=m.target.closest("[data-select]"),l=v(c);if(!l)return;const e=m.target.value,a=l.options.find(d=>d.getAttribute("data-value")===e),i=a?(a.querySelector(".combobox__option-label")?.textContent??a.textContent).trim():"";l.hidden&&(l.hidden.value=e),l.input&&l.input.value!==i&&(l.input.value=i);const r=c.querySelector("[data-select-lead]");if(r){const d=a?.querySelector(".combobox__option-lead");r.replaceChildren(...d?[...d.cloneNode(!0).childNodes]:[])}l.options.forEach(d=>d.setAttribute("aria-selected",String(d===a)))});let y="",u=0;document.addEventListener("keydown",m=>{const c=m.target;if(!c.matches?.("[data-select-ui] input[role='combobox']")||m.key.length!==1||m.metaKey||m.ctrlKey||m.altKey)return;const l=Date.now();y=l-u>600?m.key:y+m.key,u=l;const e=c.closest("[data-select]"),i=v(e)?.options.find(r=>r.getAttribute("aria-disabled")!=="true"&&(r.querySelector(".combobox__option-label")?.textContent??r.textContent).trim().toLowerCase().startsWith(y.toLowerCase()));i&&i.click(),m.preventDefault()})})(),(()=>{function v(m){const c=m.closest("[data-slider]");if(!c)return null;const l=Number(m.min||0),e=Number(m.max||100),a=e===l?0:(Number(m.value)-l)/(e-l)*100;return c.style.setProperty("--slider-pct",`${a.toFixed(2)}%`),c}function y(m,c){const l=m.querySelector("[data-slider-output]");if(!l)return;const e=Number(c.value),a=m.getAttribute("data-slider-labels");if(a){const d=Number(c.step||1),s=Math.round((e-Number(c.min||0))/d);let g=[];try{g=JSON.parse(a)}catch{}l.textContent=g[s]??c.value,m.querySelectorAll(".slider__scale-item").forEach((t,n)=>{t.classList.toggle("slider__scale-item--active",n===s)});return}const i=m.getAttribute("data-slider-unit"),r=m.getAttribute("data-slider-unit-one")||i;l.textContent=i?`${c.value} ${e===1?r:i}`:c.value}function u(){document.querySelectorAll("[data-slider] .slider__input").forEach(v)}document.addEventListener("input",m=>{if(!m.target.matches?.("[data-slider] .slider__input"))return;const c=v(m.target);c&&y(c,m.target)}),document.readyState==="loading"?document.addEventListener("DOMContentLoaded",u):u(),document.addEventListener("rapid:swapped",u)})(),(()=>{document.addEventListener("click",u=>{const m=u.target.closest?.(".tabs__tab");m&&y(m)}),document.addEventListener("keydown",u=>{if(!["ArrowRight","ArrowLeft","Home","End"].includes(u.key))return;const c=u.target.closest?.(".tabs__tab");if(!c)return;const l=[...c.parentElement.querySelectorAll(".tabs__tab")],e=l.indexOf(c);let a;u.key==="Home"?a=l[0]:u.key==="End"?a=l[l.length-1]:u.key==="ArrowRight"?a=l[(e+1)%l.length]:a=l[(e-1+l.length)%l.length],u.preventDefault(),a.focus(),y(a)});function v(){if(location.hash.length<2)return;const u=document.querySelector(`.tabs__tab#${CSS.escape(location.hash.slice(1))}`);if(!u)return;y(u);const m=()=>{document.activeElement===u&&u.blur()};m(),setTimeout(m,50)}v(),addEventListener("load",v),addEventListener("hashchange",v),document.addEventListener("rapid:swapped",v);function y(u){const m=u.closest(".tabs");m&&(m.querySelectorAll(":scope > .tabs__list > .tabs__tab").forEach(c=>{const l=c===u;c.setAttribute("aria-selected",String(l)),c.setAttribute("tabindex",l?"0":"-1")}),m.querySelectorAll(":scope > .tabs__panel").forEach(c=>{c.toggleAttribute("hidden",c.id!==u.getAttribute("aria-controls"))}))}})(),(()=>{const v=new WeakMap;function y(c){const l=Number(c.dataset.toastAutodismiss);!l||v.has(c)||v.set(c,setTimeout(()=>c.remove(),l))}function u(c){const l=Number(c.dataset.toastMax)||4,e=c.querySelectorAll(":scope > .toast");for(let a=0;a<e.length-l;a++)e[a].remove()}function m(c){c.querySelectorAll?.(".toast[data-toast-autodismiss]").forEach(y),c.matches?.(".toast[data-toast-autodismiss]")&&y(c),c.querySelectorAll?.(".toast-region").forEach(u),c.closest?.(".toast-region")&&u(c.closest(".toast-region"))}m(document),new MutationObserver(c=>{for(const l of c)for(const e of l.addedNodes)e.nodeType===1&&m(e)}).observe(document.documentElement,{childList:!0,subtree:!0}),document.addEventListener("click",c=>{const l=c.target.closest?.("[data-toast-open]");if(!l)return;const e=document.querySelector(l.getAttribute("data-toast-open")??""),a=document.querySelector(l.getAttribute("data-toast-region")??"#toast-region");!e?.content||!a||a.append(e.content.cloneNode(!0))})})();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tundralibs/ui",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.8.0",
|
|
4
4
|
"description": "HTML + CSS + JS component and layout library; first-class UI layer for rAPId. The npm package carries the compiled dist/ bundle (served by jsDelivr); the TypeScript templates are published to JSR.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ui",
|
|
@@ -64,7 +64,7 @@
|
|
|
64
64
|
},
|
|
65
65
|
"devDependencies": {
|
|
66
66
|
"@tundralibs/compat": "npm:@jsr/tundralibs__compat@^2.7.2",
|
|
67
|
-
"@tundralibs/rapid": "npm:@jsr/tundralibs__rapid@^0.
|
|
67
|
+
"@tundralibs/rapid": "npm:@jsr/tundralibs__rapid@^0.8.0",
|
|
68
68
|
"esbuild": "0.25.12",
|
|
69
69
|
"postcss": "^8.5.0",
|
|
70
70
|
"postcss-import": "^16.1.0",
|