@tundralibs/ui 0.10.0 → 0.10.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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.10.0/dist/ui.css">
20
- <script src="https://cdn.jsdelivr.net/npm/@tundralibs/ui@0.10.0/dist/ui.js" defer></script>
19
+ <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@tundralibs/ui@0.10.1/dist/ui.css">
20
+ <script src="https://cdn.jsdelivr.net/npm/@tundralibs/ui@0.10.1/dist/ui.js" defer></script>
21
21
  ```
22
22
 
23
23
  <!-- x-release-please-end -->
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: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:has(.combobox--open,.datepicker--open,.timepicker--open){overflow:visible}.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);visibility:hidden}.combobox__option[aria-selected=true] .combobox__check{visibility:visible}.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{.timepicker{position:relative;display:inline-flex;flex-direction:column;max-width:100%}.timepicker__native{width:auto}.js .timepicker__native,.timepicker__field{display:none}.js .timepicker__field{display:inline-flex;align-items:center;gap:var(--space-1);height:var(--control-height-md);padding-inline:var(--space-3) var(--space-1);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);font-variant-numeric:tabular-nums;box-shadow:inset 0 1px 2px rgb(var(--shadow-color) / .04);cursor:text;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.timepicker__field:focus-within,.timepicker--open .timepicker__field{outline:var(--ring-width) solid var(--ring-color);outline-offset:1px;border-color:var(--color-primary)}.timepicker--invalid .timepicker__field{border-color:var(--color-danger)}.timepicker__field:has(.timepicker__segment[aria-invalid=true]){border-color:var(--color-danger)}.timepicker--disabled .timepicker__field{background:var(--color-surface-sunken);border-color:var(--color-border);color:var(--color-disabled-text);box-shadow:none;cursor:not-allowed}.timepicker__icon{display:inline-flex;margin-inline-end:var(--space-1);color:var(--color-text-muted)}.timepicker__segment{width:2.4ch;height:calc(var(--control-height-md) - var(--space-3));padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:inherit;font:inherit;text-align:center;caret-color:transparent}.timepicker__segment::placeholder{color:var(--color-text-subtle)}.timepicker__segment:focus{outline:none;background:var(--color-surface-sunken);background:color-mix(in oklab,var(--color-accent, var(--color-primary)) 16%,var(--color-surface))}.timepicker__segment:disabled{cursor:not-allowed}.timepicker__segment--invalid{color:var(--color-danger)}.timepicker__sep{color:var(--color-text-muted)}.timepicker__zone{display:inline-flex;align-items:center;height:20px;margin-inline-start:var(--space-2);padding-inline:var(--space-2);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);letter-spacing:var(--letter-spacing-caps)}.timepicker__toggle{display:inline-flex;align-items:center;justify-content:center;min-width:28px;min-height:28px;margin-inline-start:auto;padding:0;border:none;border-radius:var(--radius-sm);background:none;color:var(--color-text-muted);cursor:pointer}.timepicker__toggle:hover{background:var(--color-surface-sunken);color:var(--color-text)}.timepicker__toggle:focus-visible{outline:var(--ring-width) solid var(--ring-color);outline-offset:-1px}.timepicker__toggle:disabled{cursor:not-allowed}.timepicker__list{position:absolute;top:calc(100% + var(--space-1));inset-inline-start:0;z-index:var(--z-popover);min-width:100%;max-height:16rem;overflow-y:auto;padding:var(--space-1);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-lg)}.timepicker__list:focus{outline:none}.timepicker__list:focus-visible{outline:var(--ring-width) solid var(--ring-color);outline-offset:1px}.timepicker--end .timepicker__list{inset-inline-start:auto;inset-inline-end:0}.timepicker--open{z-index:var(--z-popover)}.timepicker__slot{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-1) var(--space-2) var(--space-1) var(--space-3);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-variant-numeric:tabular-nums;cursor:pointer}.timepicker__slot:hover,.timepicker__slot[data-active]{background:var(--color-surface-sunken)}.timepicker__slot[aria-selected=true]{font-weight:var(--font-weight-semibold)}.timepicker__check{display:inline-flex;visibility:hidden}.timepicker__slot[aria-selected=true] .timepicker__check{visibility:visible}}@layer components{.datetimepicker{display:flex;flex-direction:column;gap:var(--space-2);max-width:100%}.datetimepicker__fields{display:flex;flex-wrap:wrap;align-items:flex-start;gap:var(--space-2)}.datetimepicker--invalid .datepicker__trigger{border-color:var(--color-danger)}.js .datetimepicker__presets{display:flex;flex-wrap:wrap;gap:var(--space-1)}.datetimepicker__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}.datetimepicker__preset:hover{border-color:var(--color-primary);color:var(--color-text)}.datetimepicker__preset:focus-visible{outline:var(--ring-width) solid var(--ring-color);outline-offset:1px}.datetimepicker__preset:disabled{color:var(--color-disabled-text);border-color:var(--color-border);cursor:not-allowed}}@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)}}
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:has(.combobox--open,.datepicker--open,.timepicker--open){overflow:visible}.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);visibility:hidden}.combobox__option[aria-selected=true] .combobox__check{visibility:visible}.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__native{width:auto}html:not(.js) .datepicker--client .datepicker__trigger,html:not(.js) .datepicker--client .datepicker__panel{display:none}.js .datepicker__native{display:none}.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{.timepicker{position:relative;display:inline-flex;flex-direction:column;max-width:100%}.timepicker__native{width:auto}.js .timepicker__native,.timepicker__field{display:none}.js .timepicker__field{display:inline-flex;align-items:center;gap:var(--space-1);height:var(--control-height-md);padding-inline:var(--space-3) var(--space-1);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);font-variant-numeric:tabular-nums;box-shadow:inset 0 1px 2px rgb(var(--shadow-color) / .04);cursor:text;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.timepicker__field:focus-within,.timepicker--open .timepicker__field{outline:var(--ring-width) solid var(--ring-color);outline-offset:1px;border-color:var(--color-primary)}.timepicker--invalid .timepicker__field{border-color:var(--color-danger)}.timepicker__field:has(.timepicker__segment[aria-invalid=true]){border-color:var(--color-danger)}.timepicker--disabled .timepicker__field{background:var(--color-surface-sunken);border-color:var(--color-border);color:var(--color-disabled-text);box-shadow:none;cursor:not-allowed}.timepicker__icon{display:inline-flex;margin-inline-end:var(--space-1);color:var(--color-text-muted)}.timepicker__segment{width:2.4ch;height:calc(var(--control-height-md) - var(--space-3));padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:inherit;font:inherit;text-align:center;caret-color:transparent}.timepicker__segment::placeholder{color:var(--color-text-subtle)}.timepicker__segment:focus{outline:none;background:var(--color-surface-sunken);background:color-mix(in oklab,var(--color-accent, var(--color-primary)) 16%,var(--color-surface))}.timepicker__segment:disabled{cursor:not-allowed}.timepicker__segment--invalid{color:var(--color-danger)}.timepicker__sep{color:var(--color-text-muted)}.timepicker__zone{display:inline-flex;align-items:center;height:20px;margin-inline-start:var(--space-2);padding-inline:var(--space-2);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);letter-spacing:var(--letter-spacing-caps)}.timepicker__toggle{display:inline-flex;align-items:center;justify-content:center;min-width:28px;min-height:28px;margin-inline-start:auto;padding:0;border:none;border-radius:var(--radius-sm);background:none;color:var(--color-text-muted);cursor:pointer}.timepicker__toggle:hover{background:var(--color-surface-sunken);color:var(--color-text)}.timepicker__toggle:focus-visible{outline:var(--ring-width) solid var(--ring-color);outline-offset:-1px}.timepicker__toggle:disabled{cursor:not-allowed}.timepicker__list{position:absolute;top:calc(100% + var(--space-1));inset-inline-start:0;z-index:var(--z-popover);min-width:100%;max-height:16rem;overflow-y:auto;padding:var(--space-1);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-lg)}.timepicker__list:focus{outline:none}.timepicker__list:focus-visible{outline:var(--ring-width) solid var(--ring-color);outline-offset:1px}.timepicker--end .timepicker__list{inset-inline-start:auto;inset-inline-end:0}.timepicker--open{z-index:var(--z-popover)}.timepicker__slot{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-1) var(--space-2) var(--space-1) var(--space-3);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-variant-numeric:tabular-nums;cursor:pointer}.timepicker__slot:hover,.timepicker__slot[data-active]{background:var(--color-surface-sunken)}.timepicker__slot[aria-selected=true]{font-weight:var(--font-weight-semibold)}.timepicker__check{display:inline-flex;visibility:hidden}.timepicker__slot[aria-selected=true] .timepicker__check{visibility:visible}}@layer components{.datetimepicker{display:flex;flex-direction:column;gap:var(--space-2);max-width:100%}.datetimepicker__fields{display:flex;flex-wrap:wrap;align-items:flex-start;gap:var(--space-2)}.datetimepicker--invalid .datepicker__trigger{border-color:var(--color-danger)}.js .datetimepicker__presets{display:flex;flex-wrap:wrap;gap:var(--space-1)}.datetimepicker__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}.datetimepicker__preset:hover{border-color:var(--color-primary);color:var(--color-text)}.datetimepicker__preset:focus-visible{outline:var(--ring-width) solid var(--ring-color);outline-offset:1px}.datetimepicker__preset:disabled{color:var(--color-disabled-text);border-color:var(--color-border);cursor:not-allowed}}@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 E=new WeakMap;function p(f){const r=f.getAttribute("data-target");if(!r)return f;try{return document.querySelector(r)}catch{return null}}function m(f){if(!f||f.nodeType!==1)return;f.removeAttribute("aria-busy"),delete f.dataset.busy;const r=E.get(f);r&&clearTimeout(r)}function c(f){const r=p(f);!r||r.hasAttribute("data-load")||(r.setAttribute("aria-busy","true"),r.dataset.busy="",E.set(r,setTimeout(()=>m(r),15e3)))}document.addEventListener("click",f=>{if(f.button!==0||f.metaKey||f.ctrlKey||f.shiftKey||f.altKey)return;const r=f.target.closest?.("[data-action]");if(!r||r.tagName==="FORM")return;const o=f.target.closest("a[href]");o&&o!==r&&r.contains(o)||c(r)}),document.addEventListener("submit",f=>{const r=f.target;r?.matches?.("form[data-action]")&&c(r)}),document.addEventListener("rapid:swapped",f=>m(f.target)),document.addEventListener("rapid:error",f=>{m(f.target),document.querySelectorAll("[data-busy]").forEach(m)})})(),(()=>{const A="ui-sidebar-collapsed",E="menu__sublist--flyout",p=()=>document.querySelectorAll(`.${E}`);function m(r){r.classList.remove(E,"is-open"),r.hidden=!0,r.style.removeProperty("left"),r.style.removeProperty("top"),r.querySelector(".menu__flyout-title")?.remove(),document.querySelector(`[data-toggle="#${CSS.escape(r.id)}"]`)?.setAttribute("aria-expanded","false")}const c=()=>p().forEach(m);function f(r,o,l){if(p().forEach(u=>u!==r&&m(u)),!r.querySelector(".menu__flyout-title")){const u=document.createElement("li");u.className="menu__flyout-title",u.textContent=o.querySelector(".menu__link-label")?.textContent?.trim()??"",r.prepend(u)}r.classList.add(E);const s=o.getBoundingClientRect(),t=l.getBoundingClientRect();r.style.left=`${t.right+4}px`,r.style.top=`${s.top}px`;const d=r.offsetHeight;s.top+d>innerHeight-8&&(r.style.top=`${Math.max(8,innerHeight-8-d)}px`)}try{localStorage.getItem(A)==="1"&&document.querySelectorAll(".sidebar").forEach(r=>{r.classList.add("sidebar--collapsed")})}catch{}document.addEventListener("click",r=>{const o=r.target.closest?.(".sidebar--collapsed .menu__link[data-toggle]");if(o){const l=o.closest(".sidebar"),s=document.querySelector(o.getAttribute("data-toggle"));if(!s||!l)return;setTimeout(()=>{s.hidden?m(s):f(s,o,l)},0);return}r.target.closest?.(`.${E}`)||c()}),document.addEventListener("keydown",r=>{if(r.key!=="Escape"||r.defaultPrevented||!p().length)return;const o=[...p()];c(),document.querySelector(`[data-toggle="#${CSS.escape(o[0].id)}"]`)?.focus(),r.preventDefault()}),addEventListener("scroll",c,{capture:!0,passive:!0}),addEventListener("resize",c,{passive:!0});try{localStorage.getItem(A)==="1"&&document.querySelectorAll(".sidebar").forEach(r=>{r.classList.add("sidebar--collapsed")})}catch{}document.addEventListener("click",r=>{const o=r.target.closest?.("[data-collapse]");if(!o)return;const l=o.getAttribute("data-collapse");if(!l||l==="#")return;const s=document.querySelector(l);if(!s)return;c();const t=s.classList.toggle("sidebar--collapsed");o.setAttribute("aria-expanded",String(!t));try{localStorage.setItem(A,t?"1":"0")}catch{}})})(),document.addEventListener("click",A=>{const E=A.target.closest("[data-dismiss]");E&&E.closest("[data-dismissible]")?.remove()}),document.documentElement.classList.add("js"),(()=>{function A(p){const m=p.querySelector("table");return m?[...m.querySelectorAll("tbody tr")]:[...p.querySelectorAll("[data-filter-item]")]}function E(p){const c=(p.querySelector("[data-table-search]")?.value||"").trim().toLowerCase(),f=[...p.querySelectorAll("[data-table-filter]")].filter(l=>!(l.type==="radio"||l.type==="checkbox")||l.checked).map(l=>l.value).filter(Boolean).map(l=>l.toLowerCase());let r=0;A(p).forEach(l=>{const s=l.textContent.toLowerCase(),t=(!c||s.includes(c))&&f.every(d=>s.includes(d));l.hidden=!t,t&&r++});const o=p.querySelector("[data-filter-empty]");o&&(o.hidden=r>0)}document.addEventListener("input",p=>{if(!p.target.matches("[data-table-search]"))return;const m=p.target.closest("[data-filter-scope]");m&&E(m)}),document.addEventListener("change",p=>{if(!p.target.matches("[data-table-filter]"))return;const m=p.target.closest("[data-filter-scope]");m&&E(m)})})(),(()=>{const A="ui-theme",E=document.documentElement;try{const p=localStorage.getItem(A);(p==="dark"||p==="light")&&(E.dataset.theme=p)}catch{}document.addEventListener("click",p=>{if(!p.target.closest("[data-theme-toggle]"))return;const c=matchMedia("(prefers-color-scheme: dark)").matches,r=(E.dataset.theme==="dark"||E.dataset.theme!=="light"&&c?"dark":"light")==="dark"?"light":"dark";E.dataset.theme=r;try{localStorage.setItem(A,r)}catch{}})})(),(()=>{const A=p=>p.hasAttribute("data-toggle-class");document.addEventListener("click",p=>{const m=p.target.closest?.("[data-toggle]");if(!m)return;const c=m.getAttribute("data-toggle"),f=c&&c!=="#"&&document.querySelector(c);if(!f)return;const r=m.getAttribute("aria-expanded")==="true";m.setAttribute("aria-expanded",String(!r)),A(m)||f.toggleAttribute("hidden",r),f.classList.toggle("is-open",!r)}),document.addEventListener("click",p=>{const m=p.target.closest?.("[data-toggle-close]");if(!m)return;const c=m.getAttribute("data-toggle-close"),f=c?document.querySelector(c):m.closest("[data-toggle-panel]");f&&E(f)}),document.addEventListener("keydown",p=>{p.key!=="Escape"||p.defaultPrevented||document.querySelectorAll("[data-toggle-class][aria-expanded='true']").forEach(m=>{const c=document.querySelector(m.getAttribute("data-toggle")??"");c&&(E(c),m.focus(),p.preventDefault())})});function E(p){p.classList.remove("is-open"),document.querySelectorAll('[data-toggle][aria-expanded="true"]').forEach(m=>{const c=m.getAttribute("data-toggle");c&&document.querySelector(c)===p&&(m.setAttribute("aria-expanded","false"),A(m)||p.setAttribute("hidden",""))})}})(),document.addEventListener("change",A=>{const E=A.target.closest?.("[data-view-target]");if(!E||E.type==="radio"&&!E.checked)return;const p=document.querySelector(E.getAttribute("data-view-target")??"");p&&p.setAttribute("data-view",E.value)}),(()=>{const A=[["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"]],E=o=>o.replace(/\D/g,"");function p(o,l){return l==="amex"?[o.slice(0,4),o.slice(4,10),o.slice(10,15)].filter(Boolean).join(" "):o.match(/.{1,4}/g)?.join(" ")??""}function m(o){let l=0,s=!1;for(let t=o.length-1;t>=0;t--){let d=Number(o[t]);s&&(d*=2,d>9&&(d-=9)),l+=d,s=!s}return l%10===0}function c(o){const l=o.closest("[data-card-fields]"),s=E(o.value).slice(0,19),t=A.find(([,u])=>u.test(s)),d=p(s,t?.[0]);if(o.value!==d){const u=o.selectionEnd===o.value.length;o.value=d,u||o.setSelectionRange(d.length,d.length)}if(l){l.dataset.brand=t?.[0]??"";const u=l.querySelector("[data-card-brand]");u&&(u.textContent=s.length>=2?t?.[2]??"":"");const e=l.querySelector("[data-card-cvc]");if(e){const g=t?.[0]==="amex"?4:3;e.setAttribute("maxlength",String(g)),e.setAttribute("pattern",`[0-9]{${g}}`)}const a=s.length>=13,n=l.hasAttribute("data-luhn")&&a&&!m(s);o.setCustomValidity(n?o.getAttribute("data-msg-luhn")||"Check the card number":"")}}function f(o){let l=E(o.value).slice(0,4);l.length===1&&Number(l)>1&&(l=`0${l}`);const s=l.length>2?`${l.slice(0,2)}/${l.slice(2)}`:l;o.value!==s&&!(o.value===`${l}/`&&l.length===2)&&(o.value=s);let t="";if(l.length===4){const d=Number(l.slice(0,2)),u=2e3+Number(l.slice(2)),e=new Date,a=u<e.getFullYear()||u===e.getFullYear()&&d<e.getMonth()+1;d<1||d>12?t=o.getAttribute("data-msg-pattern")||"Enter MM/YY":a&&(t=o.getAttribute("data-msg-expired")||"This card has expired")}o.setCustomValidity(t)}document.addEventListener("input",o=>{const l=o.target;l?.matches?.("[data-card-number]")?c(l):l?.matches?.("[data-card-expiry]")?f(l):l?.matches?.("[data-card-cvc]")&&(l.value=E(l.value).slice(0,Number(l.getAttribute("maxlength"))||4))},!0);function r(){document.querySelectorAll("[data-card-number]").forEach(o=>o.value&&c(o)),document.querySelectorAll("[data-card-expiry]").forEach(o=>o.value&&f(o))}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",r):r(),document.addEventListener("rapid:swapped",r)})(),(()=>{const A="[data-chart]",E=new Set,p=globalThis.matchMedia?.("(prefers-color-scheme: dark)");function m(){const s=document.documentElement.dataset.theme;return s==="dark"||s==="light"?s:p?.matches?"dark":"light"}function c(){const s=getComputedStyle(document.documentElement).getPropertyValue("--font-family-base").trim();return{theme:{mode:m(),tokens:!0},chart:s?{fontFamily:s,background:"transparent"}:{background:"transparent"}}}function f(s){if(s.dataset.chartInitialized||typeof globalThis.ApexCharts>"u")return;const t=JSON.parse(s.dataset.chart||"{}"),d=c(),u={...t,theme:{...d.theme,...t.theme||{}},chart:{...d.chart,...t.chart||{}}},e=new globalThis.ApexCharts(s,u);s.dataset.chartInitialized="true",s.chart=e,E.add(s),e.render()}function r(s){s.chart&&(s.chart.destroy(),delete s.chart,delete s.dataset.chartInitialized,E.delete(s))}function o(){for(const s of E){if(!s.isConnected){r(s);continue}s.chart.refreshTokens?.(),s.chart.updateOptions(c(),!1,!0)}}const l=()=>document.querySelectorAll(A).forEach(f);l(),addEventListener("load",l),document.addEventListener("rapid:swapped",l),new MutationObserver(s=>{for(const t of s){for(const d of t.addedNodes)d.nodeType===1&&(d.matches?.(A)&&f(d),d.querySelectorAll?.(A).forEach(f));for(const d of t.removedNodes)d.nodeType===1&&(d.matches?.(A)&&r(d),d.querySelectorAll?.(A).forEach(r))}}).observe(document.documentElement,{childList:!0,subtree:!0}),new MutationObserver(o).observe(document.documentElement,{attributes:!0,attributeFilter:["data-theme"]}),p?.addEventListener?.("change",o)})(),document.addEventListener("click",A=>{const E=A.target.closest("[data-toggle]");if(!E)return;const p=E.closest("[data-accordion-group]");p&&p.querySelectorAll('[data-toggle][aria-expanded="true"]').forEach(m=>{if(m===E)return;const c=m.getAttribute("data-toggle"),f=c&&document.querySelector(c);m.setAttribute("aria-expanded","false"),f?.setAttribute("hidden",""),f?.classList.remove("is-open")})}),(()=>{const A="data-active",E='<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>',p=n=>n.querySelector("input[role='combobox']"),m=n=>Array.from(n.querySelectorAll('[role="option"]')).filter(g=>!g.hidden);function c(n){return m(n).findIndex(g=>g.hasAttribute(A))}function f(n){n.querySelectorAll(`[${A}]`).forEach(g=>g.removeAttribute(A)),p(n)?.removeAttribute("aria-activedescendant")}function r(n,g){const y=m(n);if(!y.length)return;const S=(g+y.length)%y.length;f(n),y[S].setAttribute(A,"");const h=p(n);h&&y[S].id&&h.setAttribute("aria-activedescendant",y[S].id);const k=y[S].closest(".combobox__list");if(!k)return;const _=y[S].offsetTop;_<k.scrollTop&&(k.scrollTop=_);const i=_+y[S].offsetHeight;i>k.scrollTop+k.clientHeight&&(k.scrollTop=i-k.clientHeight)}const o=n=>n.classList.contains("combobox--open");function l(n,g){const y=n.querySelector(".combobox__list"),S=p(n);y&&(y.hidden=!g),S&&S.setAttribute("aria-expanded",g?"true":"false"),n.classList.toggle("combobox--open",!!g),g||f(n)}function s(n){const g=p(n),y=n.querySelector(".combobox__list");if(!g||!y)return;const S=g.value.trim().toLowerCase();let h=0;n.querySelectorAll('[role="option"]').forEach(i=>{const b=i.querySelector(".combobox__option-label")?.textContent??i.textContent,v=!S||b.toLowerCase().includes(S);i.hidden=!v,v&&h++}),f(n),n.querySelectorAll(".combobox__group").forEach(i=>{let b=i.nextElementSibling,v=!1;for(;b&&!b.classList.contains("combobox__group")&&!b.classList.contains("combobox__hints");){if(b.matches('[role="option"]')&&!b.hidden){v=!0;break}b=b.nextElementSibling}i.hidden=!v});const k=n.querySelector(".combobox__count");k&&(k.textContent=h===1?"1 match":`${h} matches`);let _=y.querySelector(".combobox__empty");_||(_=document.createElement("div"),_.className="combobox__empty",_.textContent="No matches.",y.insertBefore(_,y.querySelector(".combobox__hints"))),_.hidden=h>0}const t=new WeakMap;function d(n){const g=p(n),y=g?.getAttribute("data-combobox-action"),S=g?.getAttribute("data-combobox-target");if(y&&S&&globalThis.rapid?.swap){clearTimeout(t.get(n)),t.set(n,setTimeout(()=>{const h=`${y}${y.includes("?")?"&":"?"}q=${encodeURIComponent(g.value.trim())}`;globalThis.rapid.swap(h,S).then(()=>f(n))},150));return}s(n)}function u(n,g){const y=p(n),S=n.querySelector("[data-combobox-value]"),h=(g.querySelector(".combobox__option-label")?.textContent??g.textContent).trim();y&&(y.value=h),S&&(S.value=g.getAttribute("data-value")??h),n.querySelectorAll('[role="option"]').forEach(k=>k.setAttribute("aria-selected",String(k===g))),l(n,!1),n.dispatchEvent(new CustomEvent("combobox:pick",{bubbles:!0,detail:{value:S?.value??h,label:h}}))}function e(n,g){const y=n.querySelector(".combobox__field"),S=p(n),h=g.getAttribute("data-value")??"",k=(g.querySelector(".combobox__option-label")?.textContent??g.textContent).trim(),_=n.getAttribute("data-combobox-name")??"";if(!y||!S||Array.from(y.querySelectorAll(".combobox__token input")).some(w=>w.value===h))return;const i=document.createElement("span");i.className="combobox__token",i.append(k);const b=document.createElement("button");b.type="button",b.className="combobox__token-remove",b.setAttribute("aria-label",`Remove ${k}`),b.setAttribute("data-combobox-remove",h),b.innerHTML=E;const v=document.createElement("input");v.type="hidden",v.name=_,v.value=h,i.append(b,v),y.insertBefore(i,S),g.setAttribute("aria-selected","true"),S.value="",d(n),S.focus()}function a(n,g){n.querySelectorAll(".combobox__token").forEach(y=>{y.querySelector("input")?.value===g&&y.remove()}),n.querySelectorAll(`[role="option"][data-value="${CSS.escape(g)}"]`).forEach(y=>y.setAttribute("aria-selected","false"))}document.addEventListener("keydown",n=>{const g=n.target.closest?.("[data-combobox]");if(g){if(n.key==="ArrowDown"||n.key==="ArrowUp")n.preventDefault(),l(g,!0),r(g,c(g)+(n.key==="ArrowDown"?1:-1));else if(n.key==="Enter"){const y=c(g),S=m(g);y>=0&&S[y]&&(n.preventDefault(),S[y].click())}else if(n.key==="Escape"){if(!o(g))return;n.preventDefault(),n.stopPropagation(),l(g,!1)}else if(n.key==="Backspace"&&g.classList.contains("combobox--multi")&&n.target.matches("input[role='combobox']")&&!n.target.value){const y=g.querySelector(".combobox__field .combobox__token:last-of-type input");y&&a(g,y.value)}}}),document.addEventListener("input",n=>{const g=n.target.closest?.("[data-combobox]");if(!g||!n.target.matches("input[role='combobox']"))return;const y=g.querySelector("[data-combobox-value]");y&&(y.value=""),d(g),l(g,!0)}),document.addEventListener("focusin",n=>{const g=n.target.closest?.("[data-combobox]");g&&n.target.matches("input[role='combobox']")&&l(g,!0)}),document.addEventListener("click",n=>{const g=n.target.closest?.("[data-combobox] .combobox__field");if(g&&!n.target.closest("input, button")){const h=g.closest("[data-combobox]"),k=p(h);k&&!k.disabled&&(o(h)?l(h,!1):(k.focus(),l(h,!0)));return}const y=n.target.closest?.("[data-combobox] [role='option']");if(y){if(y.getAttribute("aria-disabled")==="true")return;const h=y.closest("[data-combobox]");h.classList.contains("combobox--multi")?e(h,y):u(h,y);return}const S=n.target.closest?.("[data-combobox-remove]");if(S){const h=S.closest("[data-combobox]");h&&a(h,S.getAttribute("data-combobox-remove")??"");return}document.querySelectorAll("[data-combobox].combobox--open").forEach(h=>{n.target.closest?.("[data-combobox]")!==h&&l(h,!1)})})})(),(()=>{const A="data-active",E=new WeakMap,p=a=>a.querySelector(".command__input"),m=a=>Array.from(a.querySelectorAll('[role="option"]')).filter(n=>!n.hidden);function c(a){return m(a).findIndex(n=>n.hasAttribute(A))}function f(a){a.querySelectorAll(`[${A}]`).forEach(n=>n.removeAttribute(A)),p(a)?.removeAttribute("aria-activedescendant")}function r(a,n){const g=m(a);if(!g.length)return;const y=(n+g.length)%g.length;f(a),g[y].setAttribute(A,"");const S=p(a);S&&g[y].id&&S.setAttribute("aria-activedescendant",g[y].id);const h=g[y].closest(".command__list");if(!h)return;const k=g[y].offsetTop;k<h.scrollTop&&(h.scrollTop=k);const _=k+g[y].offsetHeight;_>h.scrollTop+h.clientHeight&&(h.scrollTop=_-h.clientHeight)}function o(a){const n=p(a),g=a.querySelector(".command__list");if(!n||!g)return;const y=n.value.trim().toLowerCase();let S=0;a.querySelectorAll('[role="option"]').forEach(_=>{const i=_.querySelector(".command__item-label")?.textContent??_.textContent,b=!y||i.toLowerCase().includes(y);_.hidden=!b,b&&S++}),f(a),a.querySelectorAll(".command__group").forEach(_=>{let i=_.nextElementSibling,b=!1;for(;i&&!i.classList.contains("command__group");){if(i.matches('[role="option"]')&&!i.hidden){b=!0;break}i=i.nextElementSibling}_.hidden=!b});const h=a.querySelector(".command__count");h&&(h.textContent=S===1?"1 result":`${S} results`);let k=g.querySelector(".command__empty");k||(k=document.createElement("div"),k.className="command__empty",k.textContent="Nothing matches that.",g.append(k)),k.hidden=S>0,S&&r(a,0)}const l=new WeakMap;function s(a){const n=p(a),g=n?.getAttribute("data-command-action"),y=n?.getAttribute("data-command-target");if(g&&y&&globalThis.rapid?.swap){clearTimeout(l.get(a)),l.set(a,setTimeout(()=>{const S=`${g}${g.includes("?")?"&":"?"}q=${encodeURIComponent(n.value.trim())}`;globalThis.rapid.swap(S,y).then(()=>{f(a),m(a).length&&r(a,0)})},150));return}o(a)}const t=a=>!a.classList.contains("command--inline");function d(a){if(!t(a))return;a.hidden=!0;const n=E.get(a);E.delete(a),n?.isConnected&&n.focus()}function u(a){const n=p(a);n&&n.value?(n.value="",n.dispatchEvent(new Event("input",{bubbles:!0}))):d(a)}function e(a,n){E.set(a,n??document.activeElement),a.hidden=!1,p(a)?.focus()}document.addEventListener("keydown",a=>{if(a.key==="k"&&(a.metaKey||a.ctrlKey)){const g=document.querySelector("[data-command]:not(.command--inline)");if(!g)return;a.preventDefault(),e(g);return}const n=a.target.closest?.("[data-command]");if(n){if(a.key==="ArrowDown"||a.key==="ArrowUp")a.preventDefault(),r(n,c(n)+(a.key==="ArrowDown"?1:-1));else if(a.key==="Enter"){const g=c(n),y=m(n);g>=0&&y[g]&&(a.preventDefault(),y[g].click())}else if(a.key==="Escape"){if(!t(n)&&!p(n)?.value)return;a.preventDefault(),a.stopPropagation(),u(n)}else if(a.key==="Tab"&&t(n)){const g=Array.from(n.querySelectorAll("input, button, a[href], [tabindex]:not([tabindex='-1'])")).filter(h=>!h.hidden&&h.offsetParent!==null);if(!g.length)return;const y=g[0],S=g[g.length-1];a.shiftKey&&document.activeElement===y?(a.preventDefault(),S.focus()):!a.shiftKey&&document.activeElement===S&&(a.preventDefault(),y.focus())}}}),document.addEventListener("input",a=>{const n=a.target.closest?.("[data-command]");n&&a.target.matches(".command__input")&&s(n)}),document.addEventListener("click",a=>{const n=a.target.closest?.("[data-command-open]");if(n){const h=n.getAttribute("data-command-open"),k=h?document.querySelector(h):document.querySelector("[data-command]:not(.command--inline)");k&&(a.preventDefault(),e(k,n));return}const g=a.target.closest?.("[data-command-dismiss]");if(g){const h=g.closest("[data-command]");h&&u(h);return}const y=a.target.closest?.("[data-command] [role='option']");if(y){const h=y.closest("[data-command]");h&&t(h)&&d(h);return}const S=a.target.closest?.("[data-command]:not(.command--inline)");S&&!a.target.closest(".command__sheet")&&d(S)})})(),(()=>{const A=new Map;function E(t){if(!t.id)return;const d=new Set;t.querySelectorAll("[data-select-row]:checked").forEach(u=>d.add(u.value)),A.set(t.id,d)}function p(t){const d=t.id&&A.get(t.id);d?.size&&t.querySelectorAll("[data-select-row]").forEach(u=>{d.has(u.value)&&c(u,!0)})}function m(t){const d=t.querySelector("[data-bulk-bar]"),u=t.querySelectorAll("[data-select-row]"),e=t.querySelectorAll("[data-select-row]:checked").length;if(d){d.hidden=e===0;const n=d.querySelector("[data-bulk-count]");n&&(n.textContent=e===1?"1 row selected":`${e} rows selected`)}const a=t.querySelector("[data-select-all]");a&&(a.checked=e>0&&e===u.length,a.indeterminate=e>0&&e<u.length)}function c(t,d){t.checked=d,t.closest("tr")?.classList.toggle("data-table__row--selected",d)}document.addEventListener("change",t=>{const d=t.target.closest?.(".data-table");if(d){if(t.target.matches("[data-select-all]"))d.querySelectorAll("[data-select-row]").forEach(u=>c(u,t.target.checked));else if(t.target.matches("[data-select-row]"))c(t.target,t.target.checked);else return;m(d),E(d)}}),document.addEventListener("click",t=>{const d=t.target.closest?.("[data-bulk-clear]");if(!d)return;const u=d.closest(".data-table");u&&(u.querySelectorAll("[data-select-row]").forEach(e=>c(e,!1)),m(u),E(u))});const f=()=>document.querySelectorAll(".data-table__row-actions:not([hidden])"),r=t=>document.querySelector(`[data-row-actions="#${CSS.escape(t.id)}"]`);function o(t){t.classList.remove("is-closing"),t.hidden=!0,t.style.removeProperty("max-width")}function l(t,d){const u=r(t);u?.setAttribute("aria-expanded","false"),d&&u?.focus(),!(t.hidden||t.classList.contains("is-closing"))&&(t.classList.add("is-closing"),getComputedStyle(t).animationName==="none"?o(t):t.addEventListener("animationend",()=>o(t),{once:!0}))}document.addEventListener("click",t=>{const d=t.target.closest?.("[data-row-actions]"),u=t.target.closest?.("[data-row-actions-close]");if(u){const e=u.closest(".data-table__row-actions");e&&l(e,!0);return}if(d){const e=document.querySelector(d.getAttribute("data-row-actions"));if(!e)return;e.classList.contains("is-closing")&&o(e);const a=e.hidden;if(f().forEach(n=>l(n,!1)),a){const n=e.closest(".data-table__scroll");if(n){const g=n.getBoundingClientRect().left,y=[...e.closest("tr").querySelectorAll("td.data-table__select, td.data-table__cell--pinned")].map(S=>S.getBoundingClientRect().right-g);e.style.maxWidth=`${n.clientWidth-Math.max(0,...y)}px`}e.hidden=!1,d.setAttribute("aria-expanded","true"),e.querySelector("a, button")?.focus()}return}f().forEach(e=>{e.contains(t.target)||l(e,!1)})}),document.addEventListener("keydown",t=>{if(t.key!=="Escape"||t.defaultPrevented)return;const d=t.target.closest?.(".data-table__row-actions");d&&(l(d,!0),t.preventDefault(),t.stopPropagation())});function s(t){document.querySelectorAll(".data-table").forEach(d=>{t&&p(d),m(d),E(d)})}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",()=>s(!1)):s(!1),document.addEventListener("rapid:swapped",t=>{const d=String(t.detail?.method??"get").toLowerCase();s(d==="get")})})(),(()=>{const A=["January","February","March","April","May","June","July","August","September","October","November","December"],E=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],p=u=>String(u).padStart(2,"0"),m=(u,e,a)=>`${u}-${p(e+1)}-${p(a)}`,c=u=>{const e=/^(\d{4})-(\d{2})-(\d{2})$/.exec(u??"");return e?`${Number(e[3])} ${E[Number(e[2])-1]} ${e[1]}`:""},f=()=>{const u=new Date;return m(u.getFullYear(),u.getMonth(),u.getDate())};function r(u,e,a){const n=u.querySelector(".datepicker__panel"),g=u.querySelector("[data-datepicker-trigger]");n&&(n.hidden=!e),u.classList.toggle("datepicker--open",!!e),g&&(g.setAttribute("aria-expanded",e?"true":"false"),!e&&a&&g.focus())}function o(u){return{range:u.hasAttribute("data-datepicker-range"),min:u.getAttribute("data-datepicker-min")||"",max:u.getAttribute("data-datepicker-max")||"",today:u.getAttribute("data-datepicker-today")||f(),start:u.querySelector("[data-datepicker-start]")?.value||"",end:u.querySelector("[data-datepicker-end]")?.value||""}}function l(u,e,a){const n=o(u),g=u.querySelector(".datepicker__days"),y=u.querySelector(".datepicker__month");if(!g)return;g.replaceChildren(),y&&(y.textContent=`${A[a]} ${e}`),u.setAttribute("data-datepicker-view",`${e}-${a}`);const S=new Date(e,a+1,0).getDate(),h=(new Date(e,a,1).getDay()+6)%7,k=new Date(e,a,0).getDate(),_=Math.ceil((h+S)/7)*7;for(let i=0;i<_;i++){const b=i-h+1;let v=e,w=a,x=b;b<1?(w=a-1,x=k+b,w<0&&(w=11,v--)):b>S&&(w=a+1,x=b-S,w>11&&(w=0,v++));const q=m(v,w,x),L=document.createElement("button");L.type="button",L.className="datepicker__day",(b<1||b>S)&&L.classList.add("datepicker__day--outside"),q===n.today&&(L.classList.add("datepicker__day--today"),L.setAttribute("aria-current","date")),n.start&&n.end&&q>n.start&&q<n.end&&L.classList.add("datepicker__day--in-range"),q===n.start&&L.classList.add("datepicker__day--start"),q===n.end&&L.classList.add("datepicker__day--end"),(q===n.start||q===n.end)&&L.setAttribute("aria-pressed","true"),(n.min&&q<n.min||n.max&&q>n.max)&&(L.disabled=!0),L.setAttribute("data-day",q),L.setAttribute("aria-label",`${x} ${A[w]} ${v}`),L.textContent=String(x),g.append(L)}}function s(u,e,a){const n={"prev-year":[e-1,a],prev:a===0?[e-1,11]:[e,a-1],next:a===11?[e+1,0]:[e,a+1],"next-year":[e+1,a]};u.querySelectorAll("button[data-month][data-nav]").forEach(g=>{const y=n[g.getAttribute("data-nav")];y&&g.setAttribute("data-month",`${y[0]}-${y[1]}`)})}function t(u){const e=u.getAttribute("data-datepicker-view");if(e){const[g,y]=e.split("-").map(Number);return[g,y]}const a=o(u),n=a.start||a.today;return[Number(n.slice(0,4)),Number(n.slice(5,7))-1]}function d(u,e){const a=o(u),n=u.querySelector("[data-datepicker-start]"),g=u.querySelector("[data-datepicker-end]"),y=u.querySelector("[data-datepicker-label]");let S=e,h="";a.range&&a.start&&!a.end&&e>=a.start&&(S=a.start,h=e),n&&(n.value=S),g&&(g.value=h),y&&(y.textContent=a.range?`${c(S)||"Start date"} \u2013 ${c(h)||"End date"}`:c(S)),n?.dispatchEvent(new Event("change",{bubbles:!0}));const[k,_]=t(u);l(u,k,_),(!a.range||h)&&r(u,!1,!0)}document.addEventListener("click",u=>{const e=u.target.closest?.("[data-datepicker-trigger]");if(e){const n=e.closest("[data-datepicker]"),g=n?.querySelector(".datepicker__panel");g&&r(n,g.hidden);return}const a=u.target.closest?.("[data-datepicker]");if(a&&!a.hasAttribute("data-datepicker-server")){const n=u.target.closest("button[data-day]");if(n&&!n.disabled){d(a,n.getAttribute("data-day"));return}const g=u.target.closest("button[data-month]");if(g){const[y,S]=g.getAttribute("data-month").split("-").map(Number);l(a,y,S),s(a,y,S);return}}document.querySelectorAll("[data-datepicker]:not(.datepicker--inline) .datepicker__panel:not([hidden])").forEach(n=>{const g=n.closest("[data-datepicker]");g!==a&&r(g,!1)})}),document.addEventListener("datepicker:refresh",u=>{const e=u.target?.closest?.("[data-datepicker]");if(!e||e.hasAttribute("data-datepicker-server"))return;const a=u.detail?.value;if(typeof a=="string"){const y=e.querySelector("[data-datepicker-start]"),S=e.querySelector("[data-datepicker-label]");y&&(y.value=a),S&&(S.textContent=c(a)||"Pick a date"),e.removeAttribute("data-datepicker-view")}const[n,g]=t(e);l(e,n,g),s(e,n,g)}),document.addEventListener("keydown",u=>{if(u.key!=="Escape"||u.defaultPrevented)return;const e=u.target.closest?.("[data-datepicker]"),a=e?.querySelector(".datepicker__panel");!a||a.hidden||e.classList.contains("datepicker--inline")||(u.preventDefault(),r(e,!1,!0))})})(),(()=>{const A=t=>String(t).padStart(2,"0");function E(t){const d=t.querySelector("[data-timepicker]");return{date:t.querySelector("[data-datepicker]"),dateInput:t.querySelector("[data-datepicker-start]"),time:d,timeValue:d?.querySelector("[data-timepicker-value]"),hour:d?.querySelector("[data-segment='hour']"),whole:t.querySelector("[data-datetime-value]")}}const p=t=>t.hasAttribute("data-datetimepicker-local");function m(t,d){const u=new Date(d||"");if(!(!d||Number.isNaN(u.getTime())))return p(t)?{date:`${u.getFullYear()}-${A(u.getMonth()+1)}-${A(u.getDate())}`,time:`${A(u.getHours())}:${A(u.getMinutes())}`}:{date:`${u.getUTCFullYear()}-${A(u.getUTCMonth()+1)}-${A(u.getUTCDate())}`,time:`${A(u.getUTCHours())}:${A(u.getUTCMinutes())}`}}function c(t,d,u){if(!d||!u)return"";const e=new Date(`${d}T${u}:00${p(t)?"":"Z"}`);return Number.isNaN(e.getTime())?"":`${e.toISOString().slice(0,16)}:00Z`}const f=(t,d,u)=>u?t.setAttribute(d,u):t.removeAttribute(d);function r(t){const d=E(t);if(!d.time||!d.whole)return;const u=d.dateInput?.value||"",e=d.timeValue?.value||"",a=m(t,t.getAttribute("data-datetimepicker-min")),n=m(t,t.getAttribute("data-datetimepicker-max"));f(d.time,"data-timepicker-min",a&&u===a.date?a.time:""),f(d.time,"data-timepicker-max",n&&u===n.date?n.time:"");const g=t.hasAttribute("data-datetimepicker-required");let y="";!u&&(e||g)?y=t.getAttribute("data-msg-date")||"Pick a date.":u&&!e&&!g&&(y=d.hour?.getAttribute("data-msg-required")||"Enter a time."),f(d.time,"data-timepicker-error",y),d.time.dispatchEvent(new CustomEvent("timepicker:refresh",{bubbles:!0}));const S=c(t,u,e);d.whole.value!==S&&(d.whole.value=S,d.whole.dispatchEvent(new Event("change",{bubbles:!0})))}function o(t,d){const u=E(t),e=m(t,d);e&&(u.date?.dispatchEvent(new CustomEvent("datepicker:refresh",{bubbles:!0,detail:{value:e.date}})),u.time?.dispatchEvent(new CustomEvent("timepicker:refresh",{bubbles:!0,detail:{value:e.time}})),r(t))}document.addEventListener("change",t=>{if(!t.target?.matches?.("[data-datepicker-start], [data-timepicker-value]"))return;const d=t.target.closest("[data-datetimepicker]");d&&r(d)}),document.addEventListener("click",t=>{const d=t.target?.closest?.("[data-datetime-preset]"),u=d?.closest("[data-datetimepicker]");!u||d.disabled||o(u,d.getAttribute("data-datetime-preset"))});function l(t){if(t.hasAttribute("data-datetimepicker-ready"))return;t.setAttribute("data-datetimepicker-ready","");const d=E(t);if(d.whole){if(d.whole.disabled=!!d.timeValue?.disabled,p(t)){const u=m(t,t.getAttribute("data-datetimepicker-min")),e=m(t,t.getAttribute("data-datetimepicker-max"));d.date&&(f(d.date,"data-datepicker-min",u?.date??""),f(d.date,"data-datepicker-max",e?.date??""));const a=t.querySelector(".timepicker__zone");if(a&&t.getAttribute("data-datetimepicker-zone")==="auto"){const n=d.whole.value?new Date(d.whole.value):new Date,g=new Intl.DateTimeFormat(void 0,{timeZoneName:"short"}).formatToParts(n).find(y=>y.type==="timeZoneName")?.value;g&&(a.textContent=g)}d.whole.value?o(t,d.whole.value):d.date?.dispatchEvent(new CustomEvent("datepicker:refresh",{bubbles:!0}))}r(t)}}const s=()=>queueMicrotask(()=>document.querySelectorAll("[data-datetimepicker]").forEach(l));document.readyState==="loading"?document.addEventListener("DOMContentLoaded",s):s(),document.addEventListener("rapid:swapped",s)})(),(()=>{const A=()=>document.querySelectorAll(".dropdown__panel.is-open"),E=o=>document.querySelector(`[data-toggle="#${CSS.escape(o.id)}"]`),p=".data-table__scroll, [data-dropdown-clip]";function m(o,l){if(!l?.closest(p))return;const s=l.getBoundingClientRect();o.classList.add("dropdown__panel--fixed");const t=o.offsetWidth;let u=o.classList.contains("dropdown__panel--end")?s.right-t:s.left;u=Math.max(8,Math.min(u,innerWidth-t-8));let e=s.bottom+4;e+o.offsetHeight>innerHeight-8&&(e=Math.max(8,s.top-o.offsetHeight-4)),o.style.left=`${u}px`,o.style.top=`${e}px`}function c(o,l){o.setAttribute("hidden",""),o.classList.remove("is-open","dropdown__panel--fixed"),o.style.removeProperty("left"),o.style.removeProperty("top"),l?.setAttribute("aria-expanded","false")}document.addEventListener("click",o=>{A().forEach(l=>{const s=E(l);if(s?.contains(o.target)){l.classList.contains("dropdown__panel--fixed")||m(l,s);return}if(l.contains(o.target)){const t=o.target.closest("a[href], button, [data-action]");if(!t||t.hasAttribute("data-toggle"))return}c(l,s)})}),document.addEventListener("keydown",o=>{if(o.key!=="Escape"||o.defaultPrevented)return;const l=o.target.closest?.(".dropdown"),s=l?l.querySelectorAll(".dropdown__panel.is-open"):A();let t=!1;s.forEach(d=>{const u=E(d);c(d,u),u?.focus(),t=!0}),t&&o.preventDefault()});const f=o=>{const l=o.closest(p)?.getBoundingClientRect(),s=o.getBoundingClientRect();return!l||s.bottom>l.top&&s.top<l.bottom&&s.right>l.left&&s.left<l.right},r=()=>{document.querySelectorAll(".dropdown__panel--fixed.is-open").forEach(o=>{const l=E(o);l&&f(l)?m(o,l):c(o,l)})};addEventListener("scroll",r,{capture:!0,passive:!0}),addEventListener("resize",r,{passive:!0})})(),(()=>{for(const c of["dragenter","dragover"])document.addEventListener(c,f=>{const r=f.target.closest?.(".dropzone__area");r&&(f.preventDefault(),r.classList.add("dropzone__area--over"))});for(const c of["dragleave","drop"])document.addEventListener(c,f=>{f.target.closest?.(".dropzone__area")?.classList.remove("dropzone__area--over")});document.addEventListener("click",c=>{const f=c.target.closest?.("[data-dropzone-remove]");f&&f.closest(".dropzone__file")?.remove()});const A=c=>c<1024?`${c} B`:c<1024*1024?`${Math.round(c/1024)} KB`:`${(c/(1024*1024)).toFixed(1)} MB`;function E(c){const f=document.createElement("div");f.className="dropzone__file dropzone__file--pending";const r=document.createElement("span");r.className="dropzone__file-icon",r.textContent=(c.name.split(".").pop()||"").slice(0,4).toLowerCase();const o=document.createElement("span");o.className="dropzone__file-body";const l=document.createElement("span");l.className="dropzone__file-row";const s=document.createElement("span");s.className="dropzone__file-name",s.textContent=c.name;const t=document.createElement("span");t.className="dropzone__file-size",t.textContent=A(c.size),l.append(s,t);const d=document.createElement("progress");return d.className="dropzone__bar",d.max=100,d.setAttribute("aria-label",`Uploading ${c.name}`),o.append(l,d),f.append(r,o),f}const p=new Map;document.addEventListener("submit",c=>{const f=c.target;if(!f?.matches?.("form[data-action]"))return;const r=f.querySelector("[data-dropzone]"),o=r?.querySelector("input[type=file]");if(!r||!o?.files?.length)return;let l=r.querySelector(".dropzone__files");l||(l=document.createElement("div"),l.className="dropzone__files",r.append(l));const s=[...o.files].map(t=>{const d=E(t);return l.append(d),d});p.set(f.getAttribute("data-action"),{zone:r,rows:s})}),document.addEventListener("rapid:progress",c=>{const f=p.get(c.detail?.url);if(!f)return;const{loaded:r,total:o}=c.detail;for(const l of f.rows){const s=l.querySelector("progress");s&&(o>0?s.value=Math.min(100,Math.round(r/o*100)):s.removeAttribute("value"))}});const m=(c,f)=>{const r=c.detail?.url,o=r?p.get(r):void 0;if(o&&(p.delete(r),!!f))for(const l of o.rows){if(!l.isConnected)continue;l.classList.remove("dropzone__file--pending"),l.classList.add("dropzone__file--error"),l.querySelector("progress")?.remove();const s=document.createElement("span");s.className="dropzone__file-error",s.textContent="Upload failed",l.querySelector(".dropzone__file-body")?.append(s)}};document.addEventListener("rapid:swapped",c=>m(c,!1)),document.addEventListener("rapid:error",c=>m(c,!0))})(),(()=>{const A={bold:["**","**"],italic:["_","_"],strike:["~~","~~"],code:["`","`"]},E={heading:"## ",quote:"> ",ul:"- ",ol:"1. "},p={heading:"h2",quote:"blockquote",code:"pre"},m={bold:"bold",italic:"italic",underline:"underline",strike:"strikeThrough"},c={ul:"insertUnorderedList",ol:"insertOrderedList"},f=h=>h.querySelector(".editor__source"),r=h=>h.querySelector("[data-editor-surface]"),o=h=>h.getAttribute("data-editor-mode")==="html";function l(h,k,_,i,b,v){h.value=h.value.slice(0,k)+i+h.value.slice(_),h.setSelectionRange(k+b,k+v),h.focus(),h.dispatchEvent(new Event("input",{bubbles:!0}))}function s(h){const k=h.value.lastIndexOf(`
3
- `,h.selectionStart-1)+1,_=h.value.indexOf(`
4
- `,Math.max(h.selectionEnd,k)),i=h.selectionEnd>h.selectionStart&&h.value[h.selectionEnd-1]===`
5
- `?h.selectionEnd-1:_===-1?h.value.length:_;return[k,i]}const t=/^(#{1,6} |> |- |\* |\d+\. )+/;function d(h,k){const _=h.selectionStart,i=h.selectionEnd,b=h.value.slice(_,i);if(A[k]){const[$,M]=A[k],N=k==="code"&&b.includes(`
6
- `),T=N?"```\n":$,O=N?"\n```":M;if(b.startsWith(T)&&b.endsWith(O)&&b.length>=T.length+O.length){const z=b.slice(T.length,b.length-O.length);l(h,_,i,z,0,z.length);return}if(h.value.slice(_-T.length,_)===T&&h.value.slice(i,i+O.length)===O){l(h,_-T.length,i+O.length,b,0,b.length);return}const I=b||k;l(h,_,i,T+I+O,T.length,T.length+I.length);return}if(k==="link"||k==="image"){const M=`${k==="image"?"!":""}[${b||(k==="image"?"alt text":"text")}](url)`;l(h,_,i,M,M.length-4,M.length-1);return}if(k==="hr"){const M=`${_===0||h.value[_-1]===`
2
+ (()=>{const E=new WeakMap;function m(u){const r=u.getAttribute("data-target");if(!r)return u;try{return document.querySelector(r)}catch{return null}}function f(u){if(!u||u.nodeType!==1)return;u.removeAttribute("aria-busy"),delete u.dataset.busy;const r=E.get(u);r&&clearTimeout(r)}function c(u){const r=m(u);!r||r.hasAttribute("data-load")||(r.setAttribute("aria-busy","true"),r.dataset.busy="",E.set(r,setTimeout(()=>f(r),15e3)))}document.addEventListener("click",u=>{if(u.button!==0||u.metaKey||u.ctrlKey||u.shiftKey||u.altKey)return;const r=u.target.closest?.("[data-action]");if(!r||r.tagName==="FORM")return;const o=u.target.closest("a[href]");o&&o!==r&&r.contains(o)||c(r)}),document.addEventListener("submit",u=>{const r=u.target;r?.matches?.("form[data-action]")&&c(r)}),document.addEventListener("rapid:swapped",u=>f(u.target)),document.addEventListener("rapid:error",u=>{f(u.target),document.querySelectorAll("[data-busy]").forEach(f)})})(),(()=>{const A="ui-sidebar-collapsed",E="menu__sublist--flyout",m=()=>document.querySelectorAll(`.${E}`);function f(r){r.classList.remove(E,"is-open"),r.hidden=!0,r.style.removeProperty("left"),r.style.removeProperty("top"),r.querySelector(".menu__flyout-title")?.remove(),document.querySelector(`[data-toggle="#${CSS.escape(r.id)}"]`)?.setAttribute("aria-expanded","false")}const c=()=>m().forEach(f);function u(r,o,l){if(m().forEach(y=>y!==r&&f(y)),!r.querySelector(".menu__flyout-title")){const y=document.createElement("li");y.className="menu__flyout-title",y.textContent=o.querySelector(".menu__link-label")?.textContent?.trim()??"",r.prepend(y)}r.classList.add(E);const s=o.getBoundingClientRect(),t=l.getBoundingClientRect();r.style.left=`${t.right+4}px`,r.style.top=`${s.top}px`;const d=r.offsetHeight;s.top+d>innerHeight-8&&(r.style.top=`${Math.max(8,innerHeight-8-d)}px`)}try{localStorage.getItem(A)==="1"&&document.querySelectorAll(".sidebar").forEach(r=>{r.classList.add("sidebar--collapsed")})}catch{}document.addEventListener("click",r=>{const o=r.target.closest?.(".sidebar--collapsed .menu__link[data-toggle]");if(o){const l=o.closest(".sidebar"),s=document.querySelector(o.getAttribute("data-toggle"));if(!s||!l)return;setTimeout(()=>{s.hidden?f(s):u(s,o,l)},0);return}r.target.closest?.(`.${E}`)||c()}),document.addEventListener("keydown",r=>{if(r.key!=="Escape"||r.defaultPrevented||!m().length)return;const o=[...m()];c(),document.querySelector(`[data-toggle="#${CSS.escape(o[0].id)}"]`)?.focus(),r.preventDefault()}),addEventListener("scroll",c,{capture:!0,passive:!0}),addEventListener("resize",c,{passive:!0});try{localStorage.getItem(A)==="1"&&document.querySelectorAll(".sidebar").forEach(r=>{r.classList.add("sidebar--collapsed")})}catch{}document.addEventListener("click",r=>{const o=r.target.closest?.("[data-collapse]");if(!o)return;const l=o.getAttribute("data-collapse");if(!l||l==="#")return;const s=document.querySelector(l);if(!s)return;c();const t=s.classList.toggle("sidebar--collapsed");o.setAttribute("aria-expanded",String(!t));try{localStorage.setItem(A,t?"1":"0")}catch{}})})(),document.addEventListener("click",A=>{const E=A.target.closest("[data-dismiss]");E&&E.closest("[data-dismissible]")?.remove()}),document.documentElement.classList.add("js"),(()=>{function A(m){const f=m.querySelector("table");return f?[...f.querySelectorAll("tbody tr")]:[...m.querySelectorAll("[data-filter-item]")]}function E(m){const c=(m.querySelector("[data-table-search]")?.value||"").trim().toLowerCase(),u=[...m.querySelectorAll("[data-table-filter]")].filter(l=>!(l.type==="radio"||l.type==="checkbox")||l.checked).map(l=>l.value).filter(Boolean).map(l=>l.toLowerCase());let r=0;A(m).forEach(l=>{const s=l.textContent.toLowerCase(),t=(!c||s.includes(c))&&u.every(d=>s.includes(d));l.hidden=!t,t&&r++});const o=m.querySelector("[data-filter-empty]");o&&(o.hidden=r>0)}document.addEventListener("input",m=>{if(!m.target.matches("[data-table-search]"))return;const f=m.target.closest("[data-filter-scope]");f&&E(f)}),document.addEventListener("change",m=>{if(!m.target.matches("[data-table-filter]"))return;const f=m.target.closest("[data-filter-scope]");f&&E(f)})})(),(()=>{const A="ui-theme",E=document.documentElement;try{const m=localStorage.getItem(A);(m==="dark"||m==="light")&&(E.dataset.theme=m)}catch{}document.addEventListener("click",m=>{if(!m.target.closest("[data-theme-toggle]"))return;const c=matchMedia("(prefers-color-scheme: dark)").matches,r=(E.dataset.theme==="dark"||E.dataset.theme!=="light"&&c?"dark":"light")==="dark"?"light":"dark";E.dataset.theme=r;try{localStorage.setItem(A,r)}catch{}})})(),(()=>{const A=m=>m.hasAttribute("data-toggle-class");document.addEventListener("click",m=>{const f=m.target.closest?.("[data-toggle]");if(!f)return;const c=f.getAttribute("data-toggle"),u=c&&c!=="#"&&document.querySelector(c);if(!u)return;const r=f.getAttribute("aria-expanded")==="true";f.setAttribute("aria-expanded",String(!r)),A(f)||u.toggleAttribute("hidden",r),u.classList.toggle("is-open",!r)}),document.addEventListener("click",m=>{const f=m.target.closest?.("[data-toggle-close]");if(!f)return;const c=f.getAttribute("data-toggle-close"),u=c?document.querySelector(c):f.closest("[data-toggle-panel]");u&&E(u)}),document.addEventListener("keydown",m=>{m.key!=="Escape"||m.defaultPrevented||document.querySelectorAll("[data-toggle-class][aria-expanded='true']").forEach(f=>{const c=document.querySelector(f.getAttribute("data-toggle")??"");c&&(E(c),f.focus(),m.preventDefault())})});function E(m){m.classList.remove("is-open"),document.querySelectorAll('[data-toggle][aria-expanded="true"]').forEach(f=>{const c=f.getAttribute("data-toggle");c&&document.querySelector(c)===m&&(f.setAttribute("aria-expanded","false"),A(f)||m.setAttribute("hidden",""))})}})(),document.addEventListener("change",A=>{const E=A.target.closest?.("[data-view-target]");if(!E||E.type==="radio"&&!E.checked)return;const m=document.querySelector(E.getAttribute("data-view-target")??"");m&&m.setAttribute("data-view",E.value)}),(()=>{const A=[["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"]],E=o=>o.replace(/\D/g,"");function m(o,l){return l==="amex"?[o.slice(0,4),o.slice(4,10),o.slice(10,15)].filter(Boolean).join(" "):o.match(/.{1,4}/g)?.join(" ")??""}function f(o){let l=0,s=!1;for(let t=o.length-1;t>=0;t--){let d=Number(o[t]);s&&(d*=2,d>9&&(d-=9)),l+=d,s=!s}return l%10===0}function c(o){const l=o.closest("[data-card-fields]"),s=E(o.value).slice(0,19),t=A.find(([,y])=>y.test(s)),d=m(s,t?.[0]);if(o.value!==d){const y=o.selectionEnd===o.value.length;o.value=d,y||o.setSelectionRange(d.length,d.length)}if(l){l.dataset.brand=t?.[0]??"";const y=l.querySelector("[data-card-brand]");y&&(y.textContent=s.length>=2?t?.[2]??"":"");const e=l.querySelector("[data-card-cvc]");if(e){const p=t?.[0]==="amex"?4:3;e.setAttribute("maxlength",String(p)),e.setAttribute("pattern",`[0-9]{${p}}`)}const a=s.length>=13,n=l.hasAttribute("data-luhn")&&a&&!f(s);o.setCustomValidity(n?o.getAttribute("data-msg-luhn")||"Check the card number":"")}}function u(o){let l=E(o.value).slice(0,4);l.length===1&&Number(l)>1&&(l=`0${l}`);const s=l.length>2?`${l.slice(0,2)}/${l.slice(2)}`:l;o.value!==s&&!(o.value===`${l}/`&&l.length===2)&&(o.value=s);let t="";if(l.length===4){const d=Number(l.slice(0,2)),y=2e3+Number(l.slice(2)),e=new Date,a=y<e.getFullYear()||y===e.getFullYear()&&d<e.getMonth()+1;d<1||d>12?t=o.getAttribute("data-msg-pattern")||"Enter MM/YY":a&&(t=o.getAttribute("data-msg-expired")||"This card has expired")}o.setCustomValidity(t)}document.addEventListener("input",o=>{const l=o.target;l?.matches?.("[data-card-number]")?c(l):l?.matches?.("[data-card-expiry]")?u(l):l?.matches?.("[data-card-cvc]")&&(l.value=E(l.value).slice(0,Number(l.getAttribute("maxlength"))||4))},!0);function r(){document.querySelectorAll("[data-card-number]").forEach(o=>o.value&&c(o)),document.querySelectorAll("[data-card-expiry]").forEach(o=>o.value&&u(o))}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",r):r(),document.addEventListener("rapid:swapped",r)})(),(()=>{const A="[data-chart]",E=new Set,m=globalThis.matchMedia?.("(prefers-color-scheme: dark)");function f(){const s=document.documentElement.dataset.theme;return s==="dark"||s==="light"?s:m?.matches?"dark":"light"}function c(){const s=getComputedStyle(document.documentElement).getPropertyValue("--font-family-base").trim();return{theme:{mode:f(),tokens:!0},chart:s?{fontFamily:s,background:"transparent"}:{background:"transparent"}}}function u(s){if(s.dataset.chartInitialized||typeof globalThis.ApexCharts>"u")return;const t=JSON.parse(s.dataset.chart||"{}"),d=c(),y={...t,theme:{...d.theme,...t.theme||{}},chart:{...d.chart,...t.chart||{}}},e=new globalThis.ApexCharts(s,y);s.dataset.chartInitialized="true",s.chart=e,E.add(s),e.render()}function r(s){s.chart&&(s.chart.destroy(),delete s.chart,delete s.dataset.chartInitialized,E.delete(s))}function o(){for(const s of E){if(!s.isConnected){r(s);continue}s.chart.refreshTokens?.(),s.chart.updateOptions(c(),!1,!0)}}const l=()=>document.querySelectorAll(A).forEach(u);l(),addEventListener("load",l),document.addEventListener("rapid:swapped",l),new MutationObserver(s=>{for(const t of s){for(const d of t.addedNodes)d.nodeType===1&&(d.matches?.(A)&&u(d),d.querySelectorAll?.(A).forEach(u));for(const d of t.removedNodes)d.nodeType===1&&(d.matches?.(A)&&r(d),d.querySelectorAll?.(A).forEach(r))}}).observe(document.documentElement,{childList:!0,subtree:!0}),new MutationObserver(o).observe(document.documentElement,{attributes:!0,attributeFilter:["data-theme"]}),m?.addEventListener?.("change",o)})(),document.addEventListener("click",A=>{const E=A.target.closest("[data-toggle]");if(!E)return;const m=E.closest("[data-accordion-group]");m&&m.querySelectorAll('[data-toggle][aria-expanded="true"]').forEach(f=>{if(f===E)return;const c=f.getAttribute("data-toggle"),u=c&&document.querySelector(c);f.setAttribute("aria-expanded","false"),u?.setAttribute("hidden",""),u?.classList.remove("is-open")})}),(()=>{const A="data-active",E='<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>',m=n=>n.querySelector("input[role='combobox']"),f=n=>Array.from(n.querySelectorAll('[role="option"]')).filter(p=>!p.hidden);function c(n){return f(n).findIndex(p=>p.hasAttribute(A))}function u(n){n.querySelectorAll(`[${A}]`).forEach(p=>p.removeAttribute(A)),m(n)?.removeAttribute("aria-activedescendant")}function r(n,p){const b=f(n);if(!b.length)return;const S=(p+b.length)%b.length;u(n),b[S].setAttribute(A,"");const g=m(n);g&&b[S].id&&g.setAttribute("aria-activedescendant",b[S].id);const k=b[S].closest(".combobox__list");if(!k)return;const _=b[S].offsetTop;_<k.scrollTop&&(k.scrollTop=_);const i=_+b[S].offsetHeight;i>k.scrollTop+k.clientHeight&&(k.scrollTop=i-k.clientHeight)}const o=n=>n.classList.contains("combobox--open");function l(n,p){const b=n.querySelector(".combobox__list"),S=m(n);b&&(b.hidden=!p),S&&S.setAttribute("aria-expanded",p?"true":"false"),n.classList.toggle("combobox--open",!!p),p||u(n)}function s(n){const p=m(n),b=n.querySelector(".combobox__list");if(!p||!b)return;const S=p.value.trim().toLowerCase();let g=0;n.querySelectorAll('[role="option"]').forEach(i=>{const h=i.querySelector(".combobox__option-label")?.textContent??i.textContent,v=!S||h.toLowerCase().includes(S);i.hidden=!v,v&&g++}),u(n),n.querySelectorAll(".combobox__group").forEach(i=>{let h=i.nextElementSibling,v=!1;for(;h&&!h.classList.contains("combobox__group")&&!h.classList.contains("combobox__hints");){if(h.matches('[role="option"]')&&!h.hidden){v=!0;break}h=h.nextElementSibling}i.hidden=!v});const k=n.querySelector(".combobox__count");k&&(k.textContent=g===1?"1 match":`${g} matches`);let _=b.querySelector(".combobox__empty");_||(_=document.createElement("div"),_.className="combobox__empty",_.textContent="No matches.",b.insertBefore(_,b.querySelector(".combobox__hints"))),_.hidden=g>0}const t=new WeakMap;function d(n){const p=m(n),b=p?.getAttribute("data-combobox-action"),S=p?.getAttribute("data-combobox-target");if(b&&S&&globalThis.rapid?.swap){clearTimeout(t.get(n)),t.set(n,setTimeout(()=>{const g=`${b}${b.includes("?")?"&":"?"}q=${encodeURIComponent(p.value.trim())}`;globalThis.rapid.swap(g,S).then(()=>u(n))},150));return}s(n)}function y(n,p){const b=m(n),S=n.querySelector("[data-combobox-value]"),g=(p.querySelector(".combobox__option-label")?.textContent??p.textContent).trim();b&&(b.value=g),S&&(S.value=p.getAttribute("data-value")??g),n.querySelectorAll('[role="option"]').forEach(k=>k.setAttribute("aria-selected",String(k===p))),l(n,!1),n.dispatchEvent(new CustomEvent("combobox:pick",{bubbles:!0,detail:{value:S?.value??g,label:g}}))}function e(n,p){const b=n.querySelector(".combobox__field"),S=m(n),g=p.getAttribute("data-value")??"",k=(p.querySelector(".combobox__option-label")?.textContent??p.textContent).trim(),_=n.getAttribute("data-combobox-name")??"";if(!b||!S||Array.from(b.querySelectorAll(".combobox__token input")).some(w=>w.value===g))return;const i=document.createElement("span");i.className="combobox__token",i.append(k);const h=document.createElement("button");h.type="button",h.className="combobox__token-remove",h.setAttribute("aria-label",`Remove ${k}`),h.setAttribute("data-combobox-remove",g),h.innerHTML=E;const v=document.createElement("input");v.type="hidden",v.name=_,v.value=g,i.append(h,v),b.insertBefore(i,S),p.setAttribute("aria-selected","true"),S.value="",d(n),S.focus()}function a(n,p){n.querySelectorAll(".combobox__token").forEach(b=>{b.querySelector("input")?.value===p&&b.remove()}),n.querySelectorAll(`[role="option"][data-value="${CSS.escape(p)}"]`).forEach(b=>b.setAttribute("aria-selected","false"))}document.addEventListener("keydown",n=>{const p=n.target.closest?.("[data-combobox]");if(p){if(n.key==="ArrowDown"||n.key==="ArrowUp")n.preventDefault(),l(p,!0),r(p,c(p)+(n.key==="ArrowDown"?1:-1));else if(n.key==="Enter"){const b=c(p),S=f(p);b>=0&&S[b]&&(n.preventDefault(),S[b].click())}else if(n.key==="Escape"){if(!o(p))return;n.preventDefault(),n.stopPropagation(),l(p,!1)}else if(n.key==="Backspace"&&p.classList.contains("combobox--multi")&&n.target.matches("input[role='combobox']")&&!n.target.value){const b=p.querySelector(".combobox__field .combobox__token:last-of-type input");b&&a(p,b.value)}}}),document.addEventListener("input",n=>{const p=n.target.closest?.("[data-combobox]");if(!p||!n.target.matches("input[role='combobox']"))return;const b=p.querySelector("[data-combobox-value]");b&&(b.value=""),d(p),l(p,!0)}),document.addEventListener("focusin",n=>{const p=n.target.closest?.("[data-combobox]");p&&n.target.matches("input[role='combobox']")&&l(p,!0)}),document.addEventListener("click",n=>{const p=n.target.closest?.("[data-combobox] .combobox__field");if(p&&!n.target.closest("input, button")){const g=p.closest("[data-combobox]"),k=m(g);k&&!k.disabled&&(o(g)?l(g,!1):(k.focus(),l(g,!0)));return}const b=n.target.closest?.("[data-combobox] [role='option']");if(b){if(b.getAttribute("aria-disabled")==="true")return;const g=b.closest("[data-combobox]");g.classList.contains("combobox--multi")?e(g,b):y(g,b);return}const S=n.target.closest?.("[data-combobox-remove]");if(S){const g=S.closest("[data-combobox]");g&&a(g,S.getAttribute("data-combobox-remove")??"");return}document.querySelectorAll("[data-combobox].combobox--open").forEach(g=>{n.target.closest?.("[data-combobox]")!==g&&l(g,!1)})})})(),(()=>{const A="data-active",E=new WeakMap,m=a=>a.querySelector(".command__input"),f=a=>Array.from(a.querySelectorAll('[role="option"]')).filter(n=>!n.hidden);function c(a){return f(a).findIndex(n=>n.hasAttribute(A))}function u(a){a.querySelectorAll(`[${A}]`).forEach(n=>n.removeAttribute(A)),m(a)?.removeAttribute("aria-activedescendant")}function r(a,n){const p=f(a);if(!p.length)return;const b=(n+p.length)%p.length;u(a),p[b].setAttribute(A,"");const S=m(a);S&&p[b].id&&S.setAttribute("aria-activedescendant",p[b].id);const g=p[b].closest(".command__list");if(!g)return;const k=p[b].offsetTop;k<g.scrollTop&&(g.scrollTop=k);const _=k+p[b].offsetHeight;_>g.scrollTop+g.clientHeight&&(g.scrollTop=_-g.clientHeight)}function o(a){const n=m(a),p=a.querySelector(".command__list");if(!n||!p)return;const b=n.value.trim().toLowerCase();let S=0;a.querySelectorAll('[role="option"]').forEach(_=>{const i=_.querySelector(".command__item-label")?.textContent??_.textContent,h=!b||i.toLowerCase().includes(b);_.hidden=!h,h&&S++}),u(a),a.querySelectorAll(".command__group").forEach(_=>{let i=_.nextElementSibling,h=!1;for(;i&&!i.classList.contains("command__group");){if(i.matches('[role="option"]')&&!i.hidden){h=!0;break}i=i.nextElementSibling}_.hidden=!h});const g=a.querySelector(".command__count");g&&(g.textContent=S===1?"1 result":`${S} results`);let k=p.querySelector(".command__empty");k||(k=document.createElement("div"),k.className="command__empty",k.textContent="Nothing matches that.",p.append(k)),k.hidden=S>0,S&&r(a,0)}const l=new WeakMap;function s(a){const n=m(a),p=n?.getAttribute("data-command-action"),b=n?.getAttribute("data-command-target");if(p&&b&&globalThis.rapid?.swap){clearTimeout(l.get(a)),l.set(a,setTimeout(()=>{const S=`${p}${p.includes("?")?"&":"?"}q=${encodeURIComponent(n.value.trim())}`;globalThis.rapid.swap(S,b).then(()=>{u(a),f(a).length&&r(a,0)})},150));return}o(a)}const t=a=>!a.classList.contains("command--inline");function d(a){if(!t(a))return;a.hidden=!0;const n=E.get(a);E.delete(a),n?.isConnected&&n.focus()}function y(a){const n=m(a);n&&n.value?(n.value="",n.dispatchEvent(new Event("input",{bubbles:!0}))):d(a)}function e(a,n){E.set(a,n??document.activeElement),a.hidden=!1,m(a)?.focus()}document.addEventListener("keydown",a=>{if(a.key==="k"&&(a.metaKey||a.ctrlKey)){const p=document.querySelector("[data-command]:not(.command--inline)");if(!p)return;a.preventDefault(),e(p);return}const n=a.target.closest?.("[data-command]");if(n){if(a.key==="ArrowDown"||a.key==="ArrowUp")a.preventDefault(),r(n,c(n)+(a.key==="ArrowDown"?1:-1));else if(a.key==="Enter"){const p=c(n),b=f(n);p>=0&&b[p]&&(a.preventDefault(),b[p].click())}else if(a.key==="Escape"){if(!t(n)&&!m(n)?.value)return;a.preventDefault(),a.stopPropagation(),y(n)}else if(a.key==="Tab"&&t(n)){const p=Array.from(n.querySelectorAll("input, button, a[href], [tabindex]:not([tabindex='-1'])")).filter(g=>!g.hidden&&g.offsetParent!==null);if(!p.length)return;const b=p[0],S=p[p.length-1];a.shiftKey&&document.activeElement===b?(a.preventDefault(),S.focus()):!a.shiftKey&&document.activeElement===S&&(a.preventDefault(),b.focus())}}}),document.addEventListener("input",a=>{const n=a.target.closest?.("[data-command]");n&&a.target.matches(".command__input")&&s(n)}),document.addEventListener("click",a=>{const n=a.target.closest?.("[data-command-open]");if(n){const g=n.getAttribute("data-command-open"),k=g?document.querySelector(g):document.querySelector("[data-command]:not(.command--inline)");k&&(a.preventDefault(),e(k,n));return}const p=a.target.closest?.("[data-command-dismiss]");if(p){const g=p.closest("[data-command]");g&&y(g);return}const b=a.target.closest?.("[data-command] [role='option']");if(b){const g=b.closest("[data-command]");g&&t(g)&&d(g);return}const S=a.target.closest?.("[data-command]:not(.command--inline)");S&&!a.target.closest(".command__sheet")&&d(S)})})(),(()=>{const A=new Map;function E(t){if(!t.id)return;const d=new Set;t.querySelectorAll("[data-select-row]:checked").forEach(y=>d.add(y.value)),A.set(t.id,d)}function m(t){const d=t.id&&A.get(t.id);d?.size&&t.querySelectorAll("[data-select-row]").forEach(y=>{d.has(y.value)&&c(y,!0)})}function f(t){const d=t.querySelector("[data-bulk-bar]"),y=t.querySelectorAll("[data-select-row]"),e=t.querySelectorAll("[data-select-row]:checked").length;if(d){d.hidden=e===0;const n=d.querySelector("[data-bulk-count]");n&&(n.textContent=e===1?"1 row selected":`${e} rows selected`)}const a=t.querySelector("[data-select-all]");a&&(a.checked=e>0&&e===y.length,a.indeterminate=e>0&&e<y.length)}function c(t,d){t.checked=d,t.closest("tr")?.classList.toggle("data-table__row--selected",d)}document.addEventListener("change",t=>{const d=t.target.closest?.(".data-table");if(d){if(t.target.matches("[data-select-all]"))d.querySelectorAll("[data-select-row]").forEach(y=>c(y,t.target.checked));else if(t.target.matches("[data-select-row]"))c(t.target,t.target.checked);else return;f(d),E(d)}}),document.addEventListener("click",t=>{const d=t.target.closest?.("[data-bulk-clear]");if(!d)return;const y=d.closest(".data-table");y&&(y.querySelectorAll("[data-select-row]").forEach(e=>c(e,!1)),f(y),E(y))});const u=()=>document.querySelectorAll(".data-table__row-actions:not([hidden])"),r=t=>document.querySelector(`[data-row-actions="#${CSS.escape(t.id)}"]`);function o(t){t.classList.remove("is-closing"),t.hidden=!0,t.style.removeProperty("max-width")}function l(t,d){const y=r(t);y?.setAttribute("aria-expanded","false"),d&&y?.focus(),!(t.hidden||t.classList.contains("is-closing"))&&(t.classList.add("is-closing"),getComputedStyle(t).animationName==="none"?o(t):t.addEventListener("animationend",()=>o(t),{once:!0}))}document.addEventListener("click",t=>{const d=t.target.closest?.("[data-row-actions]"),y=t.target.closest?.("[data-row-actions-close]");if(y){const e=y.closest(".data-table__row-actions");e&&l(e,!0);return}if(d){const e=document.querySelector(d.getAttribute("data-row-actions"));if(!e)return;e.classList.contains("is-closing")&&o(e);const a=e.hidden;if(u().forEach(n=>l(n,!1)),a){const n=e.closest(".data-table__scroll");if(n){const p=n.getBoundingClientRect().left,b=[...e.closest("tr").querySelectorAll("td.data-table__select, td.data-table__cell--pinned")].map(S=>S.getBoundingClientRect().right-p);e.style.maxWidth=`${n.clientWidth-Math.max(0,...b)}px`}e.hidden=!1,d.setAttribute("aria-expanded","true"),e.querySelector("a, button")?.focus()}return}u().forEach(e=>{e.contains(t.target)||l(e,!1)})}),document.addEventListener("keydown",t=>{if(t.key!=="Escape"||t.defaultPrevented)return;const d=t.target.closest?.(".data-table__row-actions");d&&(l(d,!0),t.preventDefault(),t.stopPropagation())});function s(t){document.querySelectorAll(".data-table").forEach(d=>{t&&m(d),f(d),E(d)})}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",()=>s(!1)):s(!1),document.addEventListener("rapid:swapped",t=>{const d=String(t.detail?.method??"get").toLowerCase();s(d==="get")})})(),(()=>{const A=["January","February","March","April","May","June","July","August","September","October","November","December"],E=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],m=e=>String(e).padStart(2,"0"),f=(e,a,n)=>`${e}-${m(a+1)}-${m(n)}`,c=e=>{const a=/^(\d{4})-(\d{2})-(\d{2})$/.exec(e??"");return a?`${Number(a[3])} ${E[Number(a[2])-1]} ${a[1]}`:""},u=()=>{const e=new Date;return f(e.getFullYear(),e.getMonth(),e.getDate())};function r(e,a,n){const p=e.querySelector(".datepicker__panel"),b=e.querySelector("[data-datepicker-trigger]");p&&(p.hidden=!a),e.classList.toggle("datepicker--open",!!a),b&&(b.setAttribute("aria-expanded",a?"true":"false"),!a&&n&&b.focus())}function o(e){return{range:e.hasAttribute("data-datepicker-range"),min:e.getAttribute("data-datepicker-min")||"",max:e.getAttribute("data-datepicker-max")||"",today:e.getAttribute("data-datepicker-today")||u(),start:e.querySelector("[data-datepicker-start]")?.value||"",end:e.querySelector("[data-datepicker-end]")?.value||""}}function l(e,a,n){const p=o(e),b=e.querySelector(".datepicker__days"),S=e.querySelector(".datepicker__month");if(!b)return;b.replaceChildren(),S&&(S.textContent=`${A[n]} ${a}`),e.setAttribute("data-datepicker-view",`${a}-${n}`);const g=new Date(a,n+1,0).getDate(),k=(new Date(a,n,1).getDay()+6)%7,_=new Date(a,n,0).getDate(),i=Math.ceil((k+g)/7)*7;for(let h=0;h<i;h++){const v=h-k+1;let w=a,x=n,C=v;v<1?(x=n-1,C=_+v,x<0&&(x=11,w--)):v>g&&(x=n+1,C=v-g,x>11&&(x=0,w++));const L=f(w,x,C),q=document.createElement("button");q.type="button",q.className="datepicker__day",(v<1||v>g)&&q.classList.add("datepicker__day--outside"),L===p.today&&(q.classList.add("datepicker__day--today"),q.setAttribute("aria-current","date")),p.start&&p.end&&L>p.start&&L<p.end&&q.classList.add("datepicker__day--in-range"),L===p.start&&q.classList.add("datepicker__day--start"),L===p.end&&q.classList.add("datepicker__day--end"),(L===p.start||L===p.end)&&q.setAttribute("aria-pressed","true"),(p.min&&L<p.min||p.max&&L>p.max)&&(q.disabled=!0),q.setAttribute("data-day",L),q.setAttribute("aria-label",`${C} ${A[x]} ${w}`),q.textContent=String(C),b.append(q)}}function s(e,a,n){const p={"prev-year":[a-1,n],prev:n===0?[a-1,11]:[a,n-1],next:n===11?[a+1,0]:[a,n+1],"next-year":[a+1,n]};e.querySelectorAll("button[data-month][data-nav]").forEach(b=>{const S=p[b.getAttribute("data-nav")];S&&b.setAttribute("data-month",`${S[0]}-${S[1]}`)})}function t(e){const a=e.getAttribute("data-datepicker-view");if(a){const[b,S]=a.split("-").map(Number);return[b,S]}const n=o(e),p=n.start||n.today;return[Number(p.slice(0,4)),Number(p.slice(5,7))-1]}function d(e,a){const n=o(e),p=e.querySelector("[data-datepicker-start]"),b=e.querySelector("[data-datepicker-end]"),S=e.querySelector("[data-datepicker-label]");let g=a,k="";n.range&&n.start&&!n.end&&a>=n.start&&(g=n.start,k=a),p&&(p.value=g),b&&(b.value=k),S&&(S.textContent=n.range?`${c(g)||"Start date"} \u2013 ${c(k)||"End date"}`:c(g)),p?.dispatchEvent(new Event("change",{bubbles:!0}));const[_,i]=t(e);l(e,_,i),(!n.range||k)&&r(e,!1,!0)}document.addEventListener("click",e=>{const a=e.target.closest?.("[data-datepicker-trigger]");if(a){const p=a.closest("[data-datepicker]"),b=p?.querySelector(".datepicker__panel");b&&r(p,b.hidden);return}const n=e.target.closest?.("[data-datepicker]");if(n&&!n.hasAttribute("data-datepicker-server")){const p=e.target.closest("button[data-day]");if(p&&!p.disabled){d(n,p.getAttribute("data-day"));return}const b=e.target.closest("button[data-month]");if(b){const[S,g]=b.getAttribute("data-month").split("-").map(Number);l(n,S,g),s(n,S,g);return}}document.querySelectorAll("[data-datepicker]:not(.datepicker--inline) .datepicker__panel:not([hidden])").forEach(p=>{const b=p.closest("[data-datepicker]");b!==n&&r(b,!1)})}),document.addEventListener("datepicker:refresh",e=>{const a=e.target?.closest?.("[data-datepicker]");if(!a||a.hasAttribute("data-datepicker-server"))return;const n=e.detail?.value;if(typeof n=="string"){const S=a.querySelector("[data-datepicker-start]"),g=a.querySelector("[data-datepicker-label]");S&&(S.value=n),g&&(g.textContent=c(n)||"Pick a date"),a.removeAttribute("data-datepicker-view")}const[p,b]=t(a);l(a,p,b),s(a,p,b)});function y(){document.querySelectorAll("[data-datepicker]:not([data-datepicker-server]) input.datepicker__native").forEach(e=>{if(e.type==="hidden")return;const a=e.value;e.type="hidden",e.value=a})}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",y):y(),document.addEventListener("rapid:swapped",y),document.addEventListener("keydown",e=>{if(e.key!=="Escape"||e.defaultPrevented)return;const a=e.target.closest?.("[data-datepicker]"),n=a?.querySelector(".datepicker__panel");!n||n.hidden||a.classList.contains("datepicker--inline")||(e.preventDefault(),r(a,!1,!0))})})(),(()=>{const A=t=>String(t).padStart(2,"0");function E(t){const d=t.querySelector("[data-timepicker]");return{date:t.querySelector("[data-datepicker]"),dateInput:t.querySelector("[data-datepicker-start]"),time:d,timeValue:d?.querySelector("[data-timepicker-value]"),hour:d?.querySelector("[data-segment='hour']"),whole:t.querySelector("[data-datetime-value]")}}const m=t=>t.hasAttribute("data-datetimepicker-local");function f(t,d){const y=new Date(d||"");if(!(!d||Number.isNaN(y.getTime())))return m(t)?{date:`${y.getFullYear()}-${A(y.getMonth()+1)}-${A(y.getDate())}`,time:`${A(y.getHours())}:${A(y.getMinutes())}`}:{date:`${y.getUTCFullYear()}-${A(y.getUTCMonth()+1)}-${A(y.getUTCDate())}`,time:`${A(y.getUTCHours())}:${A(y.getUTCMinutes())}`}}function c(t,d,y){if(!d||!y)return"";const e=new Date(`${d}T${y}:00${m(t)?"":"Z"}`);return Number.isNaN(e.getTime())?"":`${e.toISOString().slice(0,16)}:00Z`}const u=(t,d,y)=>y?t.setAttribute(d,y):t.removeAttribute(d);function r(t){const d=E(t);if(!d.time||!d.whole)return;const y=d.dateInput?.value||"",e=d.timeValue?.value||"",a=f(t,t.getAttribute("data-datetimepicker-min")),n=f(t,t.getAttribute("data-datetimepicker-max"));u(d.time,"data-timepicker-min",a&&y===a.date?a.time:""),u(d.time,"data-timepicker-max",n&&y===n.date?n.time:"");const p=t.hasAttribute("data-datetimepicker-required");let b="";!y&&(e||p)?b=t.getAttribute("data-msg-date")||"Pick a date.":y&&!e&&!p&&(b=d.hour?.getAttribute("data-msg-required")||"Enter a time."),u(d.time,"data-timepicker-error",b),d.time.dispatchEvent(new CustomEvent("timepicker:refresh",{bubbles:!0}));const S=c(t,y,e);d.whole.value!==S&&(d.whole.value=S,d.whole.dispatchEvent(new Event("change",{bubbles:!0})))}function o(t,d){const y=E(t),e=f(t,d);e&&(y.date?.dispatchEvent(new CustomEvent("datepicker:refresh",{bubbles:!0,detail:{value:e.date}})),y.time?.dispatchEvent(new CustomEvent("timepicker:refresh",{bubbles:!0,detail:{value:e.time}})),r(t))}document.addEventListener("change",t=>{if(!t.target?.matches?.("[data-datepicker-start], [data-timepicker-value]"))return;const d=t.target.closest("[data-datetimepicker]");d&&r(d)}),document.addEventListener("click",t=>{const d=t.target?.closest?.("[data-datetime-preset]"),y=d?.closest("[data-datetimepicker]");!y||d.disabled||o(y,d.getAttribute("data-datetime-preset"))});function l(t){if(t.hasAttribute("data-datetimepicker-ready"))return;t.setAttribute("data-datetimepicker-ready","");const d=E(t);if(d.whole){if(d.whole.disabled=!!d.timeValue?.disabled,m(t)){const y=f(t,t.getAttribute("data-datetimepicker-min")),e=f(t,t.getAttribute("data-datetimepicker-max"));d.date&&(u(d.date,"data-datepicker-min",y?.date??""),u(d.date,"data-datepicker-max",e?.date??""));const a=t.querySelector(".timepicker__zone");if(a&&t.getAttribute("data-datetimepicker-zone")==="auto"){const n=d.whole.value?new Date(d.whole.value):new Date,p=new Intl.DateTimeFormat(void 0,{timeZoneName:"short"}).formatToParts(n).find(b=>b.type==="timeZoneName")?.value;p&&(a.textContent=p)}d.whole.value?o(t,d.whole.value):d.date?.dispatchEvent(new CustomEvent("datepicker:refresh",{bubbles:!0}))}r(t)}}const s=()=>queueMicrotask(()=>document.querySelectorAll("[data-datetimepicker]").forEach(l));document.readyState==="loading"?document.addEventListener("DOMContentLoaded",s):s(),document.addEventListener("rapid:swapped",s)})(),(()=>{const A=()=>document.querySelectorAll(".dropdown__panel.is-open"),E=o=>document.querySelector(`[data-toggle="#${CSS.escape(o.id)}"]`),m=".data-table__scroll, [data-dropdown-clip]";function f(o,l){if(!l?.closest(m))return;const s=l.getBoundingClientRect();o.classList.add("dropdown__panel--fixed");const t=o.offsetWidth;let y=o.classList.contains("dropdown__panel--end")?s.right-t:s.left;y=Math.max(8,Math.min(y,innerWidth-t-8));let e=s.bottom+4;e+o.offsetHeight>innerHeight-8&&(e=Math.max(8,s.top-o.offsetHeight-4)),o.style.left=`${y}px`,o.style.top=`${e}px`}function c(o,l){o.setAttribute("hidden",""),o.classList.remove("is-open","dropdown__panel--fixed"),o.style.removeProperty("left"),o.style.removeProperty("top"),l?.setAttribute("aria-expanded","false")}document.addEventListener("click",o=>{A().forEach(l=>{const s=E(l);if(s?.contains(o.target)){l.classList.contains("dropdown__panel--fixed")||f(l,s);return}if(l.contains(o.target)){const t=o.target.closest("a[href], button, [data-action]");if(!t||t.hasAttribute("data-toggle"))return}c(l,s)})}),document.addEventListener("keydown",o=>{if(o.key!=="Escape"||o.defaultPrevented)return;const l=o.target.closest?.(".dropdown"),s=l?l.querySelectorAll(".dropdown__panel.is-open"):A();let t=!1;s.forEach(d=>{const y=E(d);c(d,y),y?.focus(),t=!0}),t&&o.preventDefault()});const u=o=>{const l=o.closest(m)?.getBoundingClientRect(),s=o.getBoundingClientRect();return!l||s.bottom>l.top&&s.top<l.bottom&&s.right>l.left&&s.left<l.right},r=()=>{document.querySelectorAll(".dropdown__panel--fixed.is-open").forEach(o=>{const l=E(o);l&&u(l)?f(o,l):c(o,l)})};addEventListener("scroll",r,{capture:!0,passive:!0}),addEventListener("resize",r,{passive:!0})})(),(()=>{for(const c of["dragenter","dragover"])document.addEventListener(c,u=>{const r=u.target.closest?.(".dropzone__area");r&&(u.preventDefault(),r.classList.add("dropzone__area--over"))});for(const c of["dragleave","drop"])document.addEventListener(c,u=>{u.target.closest?.(".dropzone__area")?.classList.remove("dropzone__area--over")});document.addEventListener("click",c=>{const u=c.target.closest?.("[data-dropzone-remove]");u&&u.closest(".dropzone__file")?.remove()});const A=c=>c<1024?`${c} B`:c<1024*1024?`${Math.round(c/1024)} KB`:`${(c/(1024*1024)).toFixed(1)} MB`;function E(c){const u=document.createElement("div");u.className="dropzone__file dropzone__file--pending";const r=document.createElement("span");r.className="dropzone__file-icon",r.textContent=(c.name.split(".").pop()||"").slice(0,4).toLowerCase();const o=document.createElement("span");o.className="dropzone__file-body";const l=document.createElement("span");l.className="dropzone__file-row";const s=document.createElement("span");s.className="dropzone__file-name",s.textContent=c.name;const t=document.createElement("span");t.className="dropzone__file-size",t.textContent=A(c.size),l.append(s,t);const d=document.createElement("progress");return d.className="dropzone__bar",d.max=100,d.setAttribute("aria-label",`Uploading ${c.name}`),o.append(l,d),u.append(r,o),u}const m=new Map;document.addEventListener("submit",c=>{const u=c.target;if(!u?.matches?.("form[data-action]"))return;const r=u.querySelector("[data-dropzone]"),o=r?.querySelector("input[type=file]");if(!r||!o?.files?.length)return;let l=r.querySelector(".dropzone__files");l||(l=document.createElement("div"),l.className="dropzone__files",r.append(l));const s=[...o.files].map(t=>{const d=E(t);return l.append(d),d});m.set(u.getAttribute("data-action"),{zone:r,rows:s})}),document.addEventListener("rapid:progress",c=>{const u=m.get(c.detail?.url);if(!u)return;const{loaded:r,total:o}=c.detail;for(const l of u.rows){const s=l.querySelector("progress");s&&(o>0?s.value=Math.min(100,Math.round(r/o*100)):s.removeAttribute("value"))}});const f=(c,u)=>{const r=c.detail?.url,o=r?m.get(r):void 0;if(o&&(m.delete(r),!!u))for(const l of o.rows){if(!l.isConnected)continue;l.classList.remove("dropzone__file--pending"),l.classList.add("dropzone__file--error"),l.querySelector("progress")?.remove();const s=document.createElement("span");s.className="dropzone__file-error",s.textContent="Upload failed",l.querySelector(".dropzone__file-body")?.append(s)}};document.addEventListener("rapid:swapped",c=>f(c,!1)),document.addEventListener("rapid:error",c=>f(c,!0))})(),(()=>{const A={bold:["**","**"],italic:["_","_"],strike:["~~","~~"],code:["`","`"]},E={heading:"## ",quote:"> ",ul:"- ",ol:"1. "},m={heading:"h2",quote:"blockquote",code:"pre"},f={bold:"bold",italic:"italic",underline:"underline",strike:"strikeThrough"},c={ul:"insertUnorderedList",ol:"insertOrderedList"},u=g=>g.querySelector(".editor__source"),r=g=>g.querySelector("[data-editor-surface]"),o=g=>g.getAttribute("data-editor-mode")==="html";function l(g,k,_,i,h,v){g.value=g.value.slice(0,k)+i+g.value.slice(_),g.setSelectionRange(k+h,k+v),g.focus(),g.dispatchEvent(new Event("input",{bubbles:!0}))}function s(g){const k=g.value.lastIndexOf(`
3
+ `,g.selectionStart-1)+1,_=g.value.indexOf(`
4
+ `,Math.max(g.selectionEnd,k)),i=g.selectionEnd>g.selectionStart&&g.value[g.selectionEnd-1]===`
5
+ `?g.selectionEnd-1:_===-1?g.value.length:_;return[k,i]}const t=/^(#{1,6} |> |- |\* |\d+\. )+/;function d(g,k){const _=g.selectionStart,i=g.selectionEnd,h=g.value.slice(_,i);if(A[k]){const[D,M]=A[k],N=k==="code"&&h.includes(`
6
+ `),T=N?"```\n":D,O=N?"\n```":M;if(h.startsWith(T)&&h.endsWith(O)&&h.length>=T.length+O.length){const z=h.slice(T.length,h.length-O.length);l(g,_,i,z,0,z.length);return}if(g.value.slice(_-T.length,_)===T&&g.value.slice(i,i+O.length)===O){l(g,_-T.length,i+O.length,h,0,h.length);return}const I=h||k;l(g,_,i,T+I+O,T.length,T.length+I.length);return}if(k==="link"||k==="image"){const M=`${k==="image"?"!":""}[${h||(k==="image"?"alt text":"text")}](url)`;l(g,_,i,M,M.length-4,M.length-1);return}if(k==="hr"){const M=`${_===0||g.value[_-1]===`
7
7
  `?"":`
8
8
  `}
9
9
  ---
10
10
 
11
- `;l(h,_,i,M,M.length,M.length);return}const[v,w]=s(h),x=h.value.slice(v,w).split(`
12
- `);if(k==="clear"){const $=x.map(M=>M.replace(t,"")).join(`
13
- `).replace(/!\[(.*?)\]\(\S+?\)/g,"$1").replace(/\[(.+?)\]\(\S+?\)/g,"$1").replace(/(\*\*|__|~~|`)(.+?)\1/g,"$2").replace(/(^|[^\w])_(.+?)_(?=[^\w]|$)/g,"$1$2");l(h,v,w,$,0,$.length);return}const q=E[k];if(!q)return;const L=$=>k==="ol"?/^\d+\. /.test($):$.startsWith(q),D=x.every($=>$.trim()===""||L($)),C=x.map(($,M)=>{const N=$.replace(t,"");return D?N:$.trim()===""?$:(k==="ol"?`${M+1}. `:q)+N}).join(`
14
- `);l(h,v,w,C,0,C.length)}function u(h,k){const _=h.querySelector("[data-editor-preview-panel]"),i=f(h);if(h.querySelectorAll("[data-editor-view]").forEach(v=>{v.setAttribute("aria-pressed",String(v.getAttribute("data-editor-view")===(k?"preview":"write")))}),!k){h.removeAttribute("data-editor-view"),_&&(_.hidden=!0),i?.focus();return}if(h.setAttribute("data-editor-view","preview"),!_)return;_.hidden=!1;const b=h.getAttribute("data-editor-preview");if(b&&globalThis.rapid?.swap)_.setAttribute("aria-busy","true"),globalThis.rapid.swap(b,_,{method:"post",body:new URLSearchParams({text:i?.value??""}).toString()}).finally(()=>_.removeAttribute("aria-busy"));else{_.replaceChildren();const v=document.createElement("p");v.className="editor__preview-note",v.textContent="No preview route on this page \u2014 showing the Markdown source.";const w=document.createElement("pre");w.className="editor__preview-raw",w.textContent=i?.value??"",_.append(v,w)}}function e(h){const k=f(h),_=r(h);k&&_&&(k.value=_.innerHTML)}const a=()=>String(document.queryCommandValue("formatBlock")||"").toLowerCase().replace(/[<>]/g,"");function n(h,k){const _=r(h);if(!(!_||_.getAttribute("contenteditable")!=="true")){if(_.focus(),m[k])document.execCommand(m[k]);else if(c[k])document.execCommand(c[k]);else if(p[k])document.execCommand("formatBlock",!1,a()===p[k]?"<p>":`<${p[k]}>`);else if(k==="link"){const i=globalThis.prompt?.("Link URL","https://");i&&document.execCommand("createLink",!1,i)}else if(k==="image"){const i=globalThis.prompt?.("Image URL","https://");i&&document.execCommand("insertImage",!1,i)}else k==="hr"?document.execCommand("insertHorizontalRule"):k==="clear"&&(document.execCommand("removeFormat"),document.execCommand("unlink"),document.queryCommandState("insertUnorderedList")&&document.execCommand("insertUnorderedList"),document.queryCommandState("insertOrderedList")&&document.execCommand("insertOrderedList"),a()!=="p"&&a()!=="div"&&document.execCommand("formatBlock",!1,"<p>"));e(h),g(h)}}function g(h){if(!o(h))return;const k=a();h.querySelectorAll("[data-editor-cmd]").forEach(_=>{const i=_.getAttribute("data-editor-cmd");let b=!1;m[i]||c[i]?b=document.queryCommandState(m[i]??c[i]):p[i]&&(b=k===p[i]),_.setAttribute("aria-pressed",String(b))})}function y(h){if(h.dataset.editorReady)return;h.dataset.editorReady="true";const k=f(h),_=r(h);_&&k&&(_.innerHTML=k.value,_.setAttribute("contenteditable",k.disabled?"false":"true"),document.execCommand("defaultParagraphSeparator",!1,"p"))}const S=()=>document.querySelectorAll("[data-editor]").forEach(y);document.readyState==="loading"?document.addEventListener("DOMContentLoaded",S):S(),document.addEventListener("rapid:swapped",S),document.addEventListener("click",h=>{const k=h.target.closest?.("[data-editor-cmd]");if(k){const i=k.closest("[data-editor]"),b=k.getAttribute("data-editor-cmd");if(o(i))n(i,b);else{const v=f(i);v&&!v.disabled&&d(v,b)}return}const _=h.target.closest?.("[data-editor-view]");_&&u(_.closest("[data-editor]"),_.getAttribute("data-editor-view")==="preview")}),document.addEventListener("input",h=>{const k=h.target.closest?.("[data-editor-surface]");k&&e(k.closest("[data-editor]"))}),document.addEventListener("selectionchange",()=>{const h=document.activeElement?.closest?.("[data-editor]");h&&g(h)}),document.addEventListener("keydown",h=>{if(!(h.metaKey||h.ctrlKey)||h.altKey)return;const k=h.target.closest?.("[data-editor]");if(!k)return;const _={b:"bold",i:"italic",u:"underline",k:"link"}[h.key.toLowerCase()];!_||_==="underline"&&!o(k)||(h.preventDefault(),o(k)?n(k,_):d(f(k),_))})})(),(()=>{const A="input:not([type=hidden]):not([type=submit]):not([type=button]):not([type=reset]), textarea, select",E=[["valueMissing","required"],["typeMismatch","type"],["badInput","type"],["patternMismatch","pattern"],["tooShort","min-length"],["tooLong","max-length"],["rangeUnderflow","min"],["rangeOverflow","max"],["stepMismatch","step"]],p=e=>e.closest?.("form[data-validate]"),m=e=>e.type==="checkbox"||e.type==="radio"||e.offsetParent!==null;function c(e){const a=e.getAttribute("data-match");if(a){const g=document.querySelector(a),y=g&&e.value!==""&&e.value!==g.value;e.setCustomValidity(y?e.getAttribute("data-msg-match")||"Does not match":"")}const n=e.validity;if(n.valid)return"";if(n.customError)return e.validationMessage;for(const[g,y]of E)if(n[g])return e.getAttribute(`data-msg-${y}`)||e.getAttribute("data-msg")||e.validationMessage;return e.validationMessage}const f=e=>e.id?`${e.id}-error`:"";function r(e,a){const n=e.closest(".form-field")??e.parentElement,g=e.classList[0]||"input";let y=n.querySelector(":scope > .form-field__error");const S=n.querySelector(":scope > .form-field__help");if(a){y||(y=document.createElement("p"),y.className="form-field__error",y.setAttribute("role","alert"),f(e)&&(y.id=f(e)),(S??n).insertAdjacentElement(S?"beforebegin":"beforeend",y)),y.textContent=a,S&&(S.hidden=!0),e.setAttribute("aria-invalid","true"),e.classList.add(`${g}--invalid`);const h=(e.getAttribute("aria-describedby")||"").split(/\s+/).filter(Boolean);y.id&&!h.includes(y.id)&&e.setAttribute("aria-describedby",[...h,y.id].join(" ")),e.dataset.validated="invalid"}else{y?.remove(),S&&(S.hidden=!1),e.removeAttribute("aria-invalid"),e.classList.remove(`${g}--invalid`);const h=(e.getAttribute("aria-describedby")||"").split(/\s+/).filter(k=>k&&k!==f(e));h.length?e.setAttribute("aria-describedby",h.join(" ")):e.removeAttribute("aria-describedby"),e.dataset.validated="valid"}}const o=e=>{if(!m(e)||e.disabled||e.hasAttribute("data-validate-skip"))return!0;const a=c(e);return r(e,a),!a};document.addEventListener("focusout",e=>{const a=e.target;!a?.matches?.(A)||!p(a)||a.closest("[data-validate-group]")?.contains(e.relatedTarget)||(a.dataset.touched="",o(a))}),document.addEventListener("input",e=>{const a=e.target;if(!a?.matches?.(A))return;const n=p(a);n&&((a.dataset.touched!==void 0||a.dataset.validated||a.getAttribute("aria-invalid")==="true")&&(a.dataset.touched="",o(a)),a.id&&n.querySelectorAll(`[data-match="#${CSS.escape(a.id)}"]`).forEach(g=>{g.dataset.touched!==void 0&&o(g)}))}),document.addEventListener("change",e=>{const a=e.target;a?.matches?.(A)&&p(a)&&a.dataset.touched!==void 0&&o(a)});const l=new WeakMap,s=e=>{const a=document.cookie.match(new RegExp("(?:^|; )"+e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")+"=([^;]*)"));return a?decodeURIComponent(a[1]):void 0};async function t(e){const a=e.getAttribute("data-validate-action");if(!a||!e.value||!e.validity.valid)return;l.get(e)?.abort();const n=new AbortController;l.set(e,n),e.setAttribute("aria-busy","true");const g=document.body?.dataset??{},y={"content-type":"application/x-www-form-urlencoded",[g.swapHeader||"rapid-swap"]:"1"},S=s(g.csrfCookie||"csrf");S&&(y[g.csrfHeader||"x-csrf-token"]=S);const h=e.value;try{const k=await fetch(a,{method:"POST",headers:y,body:new URLSearchParams({[e.name||"value"]:h}).toString(),signal:n.signal,credentials:"same-origin"}),_=k.ok?await k.text():"",i=new DOMParser().parseFromString(_,"text/html").body.textContent.trim();if(e.value!==h)return;e.setCustomValidity(i),e.dataset.remoteValue=h,r(e,i)}catch{}finally{l.get(e)===n&&(l.delete(e),e.removeAttribute("aria-busy"))}}document.addEventListener("focusout",e=>{const a=e.target;a?.matches?.("[data-validate-action]")&&p(a)&&t(a)}),document.addEventListener("input",e=>{const a=e.target;a?.matches?.("[data-validate-action]")&&a.dataset.remoteValue!==void 0&&a.value!==a.dataset.remoteValue&&(delete a.dataset.remoteValue,a.setCustomValidity(""),a.dataset.touched!==void 0&&o(a))});const d=()=>document.querySelectorAll("form[data-guard][data-dirty]");for(const e of["input","change"])document.addEventListener(e,a=>{const n=a.target?.closest?.("form[data-guard]");n&&(n.dataset.dirty="")});document.addEventListener("reset",e=>{e.target?.matches?.("form[data-guard]")&&delete e.target.dataset.dirty}),addEventListener("beforeunload",e=>{d().length&&(e.preventDefault(),e.returnValue="")}),document.addEventListener("submit",e=>{const a=e.target;if(!a?.matches?.("form[data-validate]"))return;let n=null;for(const g of a.querySelectorAll(A))g.dataset.touched="",!o(g)&&!n&&(n=g);if(!n){delete a.dataset.dirty;return}e.preventDefault(),e.stopImmediatePropagation(),n.scrollIntoView({block:"center"}),n.focus()},!0),document.addEventListener("submit",e=>{const a=e.target;a?.matches?.("form[data-guard]:not([data-validate])")&&delete a.dataset.dirty},!0);function u(){document.querySelectorAll("form[data-validate]").forEach(e=>e.setAttribute("novalidate",""))}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",u):u(),document.addEventListener("rapid:swapped",u)})(),(()=>{const A=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"]),E=/(?:0123|1234|2345|3456|4567|5678|6789|abcd|bcde|cdef|defg|qwer|wert|asdf|sdfg|zxcv|xcvb)/i;function p(s,t){if(!s)return 0;const d=s.toLowerCase();if(A.has(d)||/^(.)\1+$/.test(s))return 1;const u=[/[a-z]/,/[A-Z]/,/[0-9]/,/[^A-Za-z0-9]/].filter(a=>a.test(s)).length;let e=0;return s.length>=t&&e++,s.length>=12&&e++,u>=3&&e++,(u===4||s.length>=16)&&e++,(E.test(d)||/(.)\1{2,}/.test(s))&&e--,Math.max(1,Math.min(4,e))}function m(s){const t=s.closest("[data-password]");if(!t)return;const d=t.querySelector("[data-password-strength]"),u=Number(s.getAttribute("minlength"))||8,e=p(s.value,u);if(t.dataset.strengthLevel=String(e),d){d.hidden=e===0;const n=d.querySelector("[data-password-label]");if(n){const g=(n.getAttribute("data-levels")||"Too weak|Weak|Good|Strong").split("|");n.textContent=e?g[e-1]:""}}const a=Number(s.getAttribute("data-strength-min"));if(a){const n=e>0&&e<a;s.setCustomValidity(n?s.getAttribute("data-msg-strength")||"Choose a stronger password":"")}}document.addEventListener("input",s=>{const t=s.target;t?.matches?.("[data-password] .password__input")&&m(t)},!0),document.addEventListener("click",s=>{const t=s.target.closest?.("[data-password-reveal]");if(!t)return;const d=document.getElementById(t.getAttribute("aria-controls"));if(!d)return;const u=d.type==="password";d.type=u?"text":"password",t.setAttribute("aria-pressed",String(u));const e=t.querySelector("[data-password-reveal-label]");e&&(e.textContent=u?t.getAttribute("data-label-hide")||"Hide":t.getAttribute("data-label-show")||"Show");const a=t.querySelector("[data-icon-show]"),n=t.querySelector("[data-icon-hide]");a&&(a.hidden=u),n&&(n.hidden=!u),d.focus()});const c=(s,t)=>{const d=s.closest("[data-password]")?.querySelector("[data-password-caps]");d&&(d.hidden=!t)};for(const s of["keydown","keyup"])document.addEventListener(s,t=>{const d=t.target;!d?.matches?.("[data-password] .password__input")||typeof t.getModifierState!="function"||c(d,t.getModifierState("CapsLock"))});document.addEventListener("focusout",s=>{s.target?.matches?.("[data-password] .password__input")&&c(s.target,!1)});function f(s){const t=s.id,d=t&&document.querySelector(`[data-counter-for="${CSS.escape(t)}"]`);if(!d)return;const u=Number(s.getAttribute("maxlength"))||0,e=s.value.length;d.textContent=`${e} / ${u}`,d.classList.toggle("input__counter--near",u>0&&e>=u*.9)}document.addEventListener("input",s=>{s.target?.matches?.("[data-counter]")&&f(s.target)});function r(s){const t=s.closest("[data-input-clear]")?.querySelector("[data-input-clear-button]");t&&(t.hidden=!s.value)}document.addEventListener("input",s=>{s.target?.closest?.("[data-input-clear]")&&r(s.target)}),document.addEventListener("click",s=>{const t=s.target.closest?.("[data-input-clear-button]");if(!t)return;const d=document.getElementById(t.getAttribute("aria-controls"))??t.closest("[data-input-clear]")?.querySelector("input");d&&(d.value="",d.dispatchEvent(new Event("input",{bubbles:!0})),d.focus())});function o(s){s.style.height="auto",s.style.height=`${s.scrollHeight}px`}document.addEventListener("input",s=>{s.target?.matches?.("[data-autosize]")&&o(s.target)});function l(){document.querySelectorAll("[data-password] .password__input").forEach(s=>{s.value&&m(s)}),document.querySelectorAll("[data-counter]").forEach(f),document.querySelectorAll("[data-input-clear] input").forEach(r),document.querySelectorAll("[data-autosize]").forEach(o)}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",l):l(),document.addEventListener("rapid:swapped",l)})(),(()=>{function A(){const E=location.href;let p=null;if(document.querySelectorAll(".menu__link[href]").forEach(c=>{if(!c.getAttribute("href")?.includes("#"))return;new URL(c.getAttribute("href"),location.href).href===E&&(p=c)}),!p)return;p.closest(".menu__list")?.querySelectorAll(".menu__link").forEach(c=>{c!==p&&c.getAttribute("href")?.includes("#")&&(c.classList.remove("menu__link--active"),c.removeAttribute("aria-current"))}),p.classList.add("menu__link--active"),p.setAttribute("aria-current","page");const m=p.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",A):A(),addEventListener("hashchange",A),document.addEventListener("rapid:swapped",A)})(),(()=>{let A=!1;document.addEventListener("pointerdown",E=>{A=E.target instanceof HTMLDialogElement&&E.target.open}),document.addEventListener("click",E=>{const p=E.target.closest?.("[data-modal-open]");if(p){const c=document.querySelector(p.getAttribute("data-modal-open")??"");c instanceof HTMLDialogElement&&!c.open&&c.showModal();return}const m=E.target.closest?.("[data-modal-close]");if(m){m.closest("dialog")?.close();return}A&&E.target instanceof HTMLDialogElement&&E.target.open&&E.target.close(),A=!1})})(),(()=>{const A=r=>Array.from(r.querySelectorAll(".otp__cell")),E=r=>r.querySelector(".otp__value");function p(r,o){const l=r.getAttribute("data-otp-mode")!=="alphanumeric";return(o||"").replace(l?/[^0-9]/g:/[^0-9a-zA-Z]/g,"")}function m(r,{fromCarrier:o=!1}={}){const l=A(r),s=E(r);if(!l.length||!s)return;if(o){const u=p(r,s.value).slice(0,l.length);l.forEach((e,a)=>e.value=u[a]??"")}const t=l.map(u=>u.value).join("");s.value=t,s.setAttribute("tabindex","-1"),s.setAttribute("aria-hidden","true"),l.forEach(u=>u.toggleAttribute("data-filled",u.value!==""));const d=l.findIndex(u=>!u.value);l.forEach((u,e)=>u.setAttribute("tabindex",e===(d<0?0:d)?"0":"-1")),t.length===l.length&&!r.hasAttribute("data-otp-completed")?(r.setAttribute("data-otp-completed",""),r.dispatchEvent(new CustomEvent("otp:complete",{bubbles:!0,detail:{value:t}})),r.hasAttribute("data-otp-submit")&&r.closest("form")?.requestSubmit()):t.length<l.length&&r.removeAttribute("data-otp-completed")}function c(r,o,l){const s=A(r),t=p(r,l);if(!t){s[o].value="",m(r);return}let d=o;for(const u of t){if(d>=s.length)break;s[d].value=u,d++}m(r),s[Math.min(d,s.length-1)].focus()}document.addEventListener("input",r=>{const o=r.target.closest?.(".otp__cell");if(!o)return;const l=o.closest("[data-otp]"),s=A(l);c(l,s.indexOf(o),o.value)}),document.addEventListener("paste",r=>{const o=r.target.closest?.(".otp__cell");if(!o)return;r.preventDefault();const l=o.closest("[data-otp]");c(l,A(l).indexOf(o),r.clipboardData?.getData("text")??"")}),document.addEventListener("keydown",r=>{const o=r.target.closest?.(".otp__cell");if(!o)return;const l=o.closest("[data-otp]"),s=A(l),t=s.indexOf(o);r.key==="Backspace"?(r.preventDefault(),o.value?o.value="":t>0&&(s[t-1].value="",s[t-1].focus()),m(l)):r.key==="Delete"?(r.preventDefault(),o.value="",m(l)):r.key==="ArrowLeft"&&t>0?(r.preventDefault(),s[t-1].focus()):r.key==="ArrowRight"&&t<s.length-1&&(r.preventDefault(),s[t+1].focus())}),document.addEventListener("focusin",r=>{const o=r.target.closest?.(".otp__cell");o&&o.select()});function f(){document.querySelectorAll("[data-otp]").forEach(r=>m(r,{fromCarrier:!0}))}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",f):f(),document.addEventListener("rapid:swapped",f)})(),(()=>{function A(p,m){const c=p.querySelector(".popover__panel"),f=p.querySelector("[data-popover-trigger]");c&&(c.hidden=!m),f&&f.setAttribute("aria-expanded",m?"true":"false")}const E=()=>document.querySelectorAll("[data-popover] .popover__panel:not([hidden])");document.addEventListener("click",p=>{const m=p.target.closest?.("[data-popover-trigger]");if(m){const f=m.closest("[data-popover]"),r=f?.querySelector(".popover__panel");r&&A(f,r.hidden);return}const c=p.target.closest?.("[data-popover]");E().forEach(f=>{const r=f.closest("[data-popover]");r!==c&&A(r,!1)})}),document.addEventListener("keydown",p=>{if(p.key!=="Escape"||p.defaultPrevented)return;const m=p.target.closest?.("[data-popover]"),c=m?[m]:Array.from(E()).map(r=>r.closest("[data-popover]"));let f=!1;c.forEach(r=>{const o=r.querySelector(".popover__panel");!o||o.hidden||(A(r,!1),r.querySelector("[data-popover-trigger]")?.focus(),f=!0)}),f&&p.preventDefault()})})(),(()=>{function A(p){const c=p.querySelector(".segmented__input:checked")?.nextElementSibling;if(!c){p.style.setProperty("--segmented-w","0px");return}const f=p.getBoundingClientRect(),r=c.getBoundingClientRect(),o=getComputedStyle(p).direction==="rtl",l=o?f.right-p.clientLeft-3-r.right:r.left-f.left-p.clientLeft-3;p.style.setProperty("--segmented-x",`${o?-l:l}px`),p.style.setProperty("--segmented-w",`${r.width}px`),p.setAttribute("data-segmented-ready","")}const E=()=>document.querySelectorAll("[data-segmented]").forEach(A);document.readyState==="loading"?document.addEventListener("DOMContentLoaded",E):E(),addEventListener("load",E),addEventListener("resize",E),document.addEventListener("rapid:swapped",E),document.addEventListener("change",p=>{const m=p.target.closest?.("[data-segmented]");m&&A(m)})})(),(()=>{function A(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 f=m.target.closest?.("[data-select]")?.querySelector(".select__native");if(!f)return;const r=m.detail?.value??"";f.value!==r&&(f.value=r,f.dispatchEvent(new Event("change",{bubbles:!0})),f.dispatchEvent(new Event("input",{bubbles:!0})))}),document.addEventListener("change",m=>{if(!m.target.matches?.(".select__native"))return;const c=m.target.closest("[data-select]"),f=A(c);if(!f)return;const r=m.target.value,o=f.options.find(t=>t.getAttribute("data-value")===r),l=o?(o.querySelector(".combobox__option-label")?.textContent??o.textContent).trim():"";f.hidden&&(f.hidden.value=r),f.input&&f.input.value!==l&&(f.input.value=l);const s=c.querySelector("[data-select-lead]");if(s){const t=o?.querySelector(".combobox__option-lead");s.replaceChildren(...t?[...t.cloneNode(!0).childNodes]:[])}f.options.forEach(t=>t.setAttribute("aria-selected",String(t===o)))});let E="",p=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 f=Date.now();E=f-p>600?m.key:E+m.key,p=f;const r=c.closest("[data-select]"),l=A(r)?.options.find(s=>s.getAttribute("aria-disabled")!=="true"&&(s.querySelector(".combobox__option-label")?.textContent??s.textContent).trim().toLowerCase().startsWith(E.toLowerCase()));l&&l.click(),m.preventDefault()})})(),(()=>{function A(m){const c=m.closest("[data-slider]");if(!c)return null;const f=Number(m.min||0),r=Number(m.max||100),o=r===f?0:(Number(m.value)-f)/(r-f)*100;return c.style.setProperty("--slider-pct",`${o.toFixed(2)}%`),c}function E(m,c){const f=m.querySelector("[data-slider-output]");if(!f)return;const r=Number(c.value),o=m.getAttribute("data-slider-labels");if(o){const t=Number(c.step||1),d=Math.round((r-Number(c.min||0))/t);let u=[];try{u=JSON.parse(o)}catch{}f.textContent=u[d]??c.value,m.querySelectorAll(".slider__scale-item").forEach((e,a)=>{e.classList.toggle("slider__scale-item--active",a===d)});return}const l=m.getAttribute("data-slider-unit"),s=m.getAttribute("data-slider-unit-one")||l;f.textContent=l?`${c.value} ${r===1?s:l}`:c.value}function p(){document.querySelectorAll("[data-slider] .slider__input").forEach(A)}document.addEventListener("input",m=>{if(!m.target.matches?.("[data-slider] .slider__input"))return;const c=A(m.target);c&&E(c,m.target)}),document.readyState==="loading"?document.addEventListener("DOMContentLoaded",p):p(),document.addEventListener("rapid:swapped",p)})(),(()=>{document.addEventListener("click",p=>{const m=p.target.closest?.(".tabs__tab");m&&E(m)}),document.addEventListener("keydown",p=>{if(!["ArrowRight","ArrowLeft","Home","End"].includes(p.key))return;const c=p.target.closest?.(".tabs__tab");if(!c)return;const f=[...c.parentElement.querySelectorAll(".tabs__tab")],r=f.indexOf(c);let o;p.key==="Home"?o=f[0]:p.key==="End"?o=f[f.length-1]:p.key==="ArrowRight"?o=f[(r+1)%f.length]:o=f[(r-1+f.length)%f.length],p.preventDefault(),o.focus(),E(o)});function A(){if(location.hash.length<2)return;const p=document.querySelector(`.tabs__tab#${CSS.escape(location.hash.slice(1))}`);if(!p)return;E(p);const m=()=>{document.activeElement===p&&p.blur()};m(),setTimeout(m,50)}A(),addEventListener("load",A),addEventListener("hashchange",A),document.addEventListener("rapid:swapped",A);function E(p){const m=p.closest(".tabs");m&&(m.querySelectorAll(":scope > .tabs__list > .tabs__tab").forEach(c=>{const f=c===p;c.setAttribute("aria-selected",String(f)),c.setAttribute("tabindex",f?"0":"-1")}),m.querySelectorAll(":scope > .tabs__panel").forEach(c=>{c.toggleAttribute("hidden",c.id!==p.getAttribute("aria-controls"))}))}})(),(()=>{const A=i=>String(i).padStart(2,"0"),E=i=>{const b=/^([01]\d|2[0-3]):([0-5]\d)$/.exec(i||"");return b?Number(b[1])*60+Number(b[2]):void 0},p=i=>{const b=(i%1440+1440)%1440;return`${A(Math.floor(b/60))}:${A(b%60)}`};function m(i){return{hour:i.querySelector("[data-segment='hour']"),minute:i.querySelector("[data-segment='minute']"),carrier:i.querySelector("[data-timepicker-value]"),list:i.querySelector(".timepicker__list"),toggle:i.querySelector("[data-timepicker-toggle]")}}const c=i=>({lo:E(i.getAttribute("data-timepicker-min")),hi:E(i.getAttribute("data-timepicker-max"))});function f(i){const{hour:b,minute:v}=m(i);if(!b?.value||!v?.value)return;const w=Number(b.value),x=Number(v.value);return w<=23&&x<=59?w*60+x:void 0}function r(i){const{hour:b,minute:v}=m(i);if(!b)return;const w=f(i),{lo:x,hi:q}=c(i),L=(C,$,M,N)=>(b.getAttribute(`data-msg-${C}`)||$).replace(M,N??"");let D="";!b.value&&!v.value?i.hasAttribute("data-timepicker-required")&&(D=L("required","Enter a time.")):w===void 0?D=L("incomplete","Enter hours and minutes."):x!==void 0&&w<x?D=L("min","Pick {min} or later.","{min}",p(x)):q!==void 0&&w>q&&(D=L("max","Pick {max} or earlier.","{max}",p(q))),b.setCustomValidity(i.getAttribute("data-timepicker-error")||D)}function o(i,b=!0){const{hour:v,minute:w,carrier:x,list:q}=m(i);if(!v||!w||!x)return;for(const C of[v,w])C.value===""?C.removeAttribute("aria-valuenow"):C.setAttribute("aria-valuenow",String(Number(C.value)));const L=f(i),D=L===void 0?"":p(L);q?.querySelectorAll("[role='option']").forEach(C=>C.setAttribute("aria-selected",String(C.getAttribute("data-value")===D))),r(i),x.value!==D&&(x.value=D,b&&x.dispatchEvent(new Event("change",{bubbles:!0})))}function l(i,b){const{hour:v,minute:w}=m(i),x=p(b);v.value=x.slice(0,2),w.value=x.slice(3),o(i)}function s(i){const{hour:b,minute:v}=m(i);let w=!1;for(const[x,q]of[[b,23],[v,59]])x&&x.value.length===1&&(x.value=A(Math.min(Number(x.value),q)),w=!0);w&&o(i)}function t(i){!i||i.disabled||(i.focus(),i.select())}const d=i=>Array.from(i.querySelectorAll(".timepicker__slot")).filter(b=>!b.hidden),u=i=>i.classList.contains("timepicker--open");function e(i,b){const{list:v}=m(i);if(i.querySelectorAll(".timepicker__slot[data-active]").forEach(x=>x.removeAttribute("data-active")),!b||!v){v?.removeAttribute("aria-activedescendant");return}b.setAttribute("data-active",""),v.setAttribute("aria-activedescendant",b.id);const w=b.offsetTop;w<v.scrollTop?v.scrollTop=w:w+b.offsetHeight>v.scrollTop+v.clientHeight&&(v.scrollTop=w+b.offsetHeight-v.clientHeight)}function a(i){const{list:b,toggle:v}=m(i);if(!b||v?.disabled)return;const{lo:w,hi:x}=c(i);i.querySelectorAll(".timepicker__slot").forEach(C=>{const $=E(C.getAttribute("data-value"));C.hidden=w!==void 0&&$<w||x!==void 0&&$>x}),b.hidden=!1,i.classList.add("timepicker--open"),v?.setAttribute("aria-expanded","true");const q=d(i),L=f(i),D=q.find(C=>C.getAttribute("aria-selected")==="true")??(L===void 0?void 0:q.find(C=>E(C.getAttribute("data-value"))>=L))??q[0];b.focus({preventScroll:!0}),e(i,D),D&&(b.scrollTop=D.offsetTop-(b.clientHeight-D.offsetHeight)/2)}function n(i,b){const{list:v,toggle:w,hour:x}=m(i);v&&(v.hidden=!0,i.classList.remove("timepicker--open"),w?.setAttribute("aria-expanded","false"),e(i,null),b&&t(x))}function g(i,b){const v=E(b?.getAttribute("data-value"));v!==void 0&&(l(i,v),n(i,!0))}let y="",S=0;function h(i,b){const v=Date.now();y=v-S>800?b:y+b,S=v;const w=d(i),x=L=>L.getAttribute("data-value").replace(":",""),q=w.find(L=>x(L).startsWith(y))??w.find(L=>x(L).replace(/^0/,"").startsWith(y));q&&e(i,q)}document.addEventListener("input",i=>{const b=i.target;if(!b?.matches?.(".timepicker__segment"))return;const v=b.closest("[data-timepicker]"),{minute:w}=m(v),x=b.value.replace(/\D/g,"").slice(0,2);b.value!==x&&(b.value=x);const q=b.getAttribute("data-segment")==="hour";if(x){const L=Number(x);if((x.length===2||L>(q?2:5))&&(b.value=A(Math.min(L,q?23:59)),q)){o(v),t(w);return}}o(v)},!0),document.addEventListener("paste",i=>{const b=i.target;if(!b?.matches?.(".timepicker__segment"))return;const v=i.clipboardData?.getData("text")??"",w=/^\s*(\d{1,2})\s*[:.h]\s*(\d{2})\s*$/.exec(v)??/^\s*(\d{1,2})(\d{2})\s*$/.exec(v);if(!w)return;i.preventDefault();const x=b.closest("[data-timepicker]");l(x,Math.min(Number(w[1]),23)*60+Math.min(Number(w[2]),59)),t(m(x).minute)}),document.addEventListener("keydown",i=>{const b=i.target,v=b?.closest?.("[data-timepicker]");if(!v)return;const{hour:w,minute:x,list:q}=m(v);if(b===q){const C=d(v),$=v.querySelector(".timepicker__slot[data-active]"),M=C.indexOf($);if(i.key==="ArrowDown"||i.key==="ArrowUp"){i.preventDefault();const N=M<0?0:M+(i.key==="ArrowDown"?1:-1);e(v,C[Math.max(0,Math.min(C.length-1,N))])}else i.key==="Home"||i.key==="End"?(i.preventDefault(),e(v,i.key==="Home"?C[0]:C[C.length-1])):i.key==="Enter"||i.key===" "?(i.preventDefault(),$&&g(v,$)):i.key==="Escape"?(i.preventDefault(),i.stopPropagation(),n(v,!0)):i.key==="Tab"?n(v,!1):/^\d$/.test(i.key)&&(i.preventDefault(),h(v,i.key));return}if(!b.matches(".timepicker__segment"))return;const L=b===w,D=L?23:59;if(i.altKey&&i.key==="ArrowDown"||i.key==="F4")i.preventDefault(),a(v);else if(i.key==="ArrowUp"||i.key==="ArrowDown"){i.preventDefault();const C=i.key==="ArrowUp"?1:-1,{lo:$}=c(v),M=L?Math.floor(($??0)/60):0,N=b.value===""?M:(Number(b.value)+C+D+1)%(D+1);b.value=A(N),o(v),b.select()}else if(i.key==="PageUp"||i.key==="PageDown"){i.preventDefault();const C=Number(q?.getAttribute("data-step"))||15,$=(Number(w.value)||0)*60+(Number(x.value)||0);l(v,$+(i.key==="PageUp"?C:-C)),b.select()}else i.key==="Home"||i.key==="End"?(i.preventDefault(),b.value=i.key==="Home"?"00":A(D),o(v),b.select()):L&&(i.key===":"||i.key==="."||i.key===" "||i.key==="ArrowRight")?(i.preventDefault(),s(v),t(x)):!L&&i.key==="ArrowLeft"||!L&&i.key==="Backspace"&&b.value===""?(i.preventDefault(),t(w)):i.key==="Escape"&&u(v)&&(i.preventDefault(),i.stopPropagation(),n(v,!0))}),document.addEventListener("focusin",i=>{i.target?.matches?.(".timepicker__segment")&&i.target.select()}),document.addEventListener("focusout",i=>{const b=i.target?.closest?.("[data-timepicker]");if(!b||b.contains(i.relatedTarget))return;s(b),u(b)&&n(b,!1);const{hour:v}=m(b);v?.closest("form[data-validate]")&&(v.dataset.touched="",v.dispatchEvent(new Event("change",{bubbles:!0})))}),document.addEventListener("click",i=>{const b=i.target,v=b?.closest?.("[data-timepicker]");if(v){if(b.closest("[data-timepicker-toggle]")){u(v)?n(v,!0):a(v);return}const w=b.closest(".timepicker__slot");if(w){g(v,w);return}b.matches(".timepicker__segment")?b.select():b.closest(".timepicker__field")&&t(m(v).hour)}document.querySelectorAll("[data-timepicker].timepicker--open").forEach(w=>{w!==v&&n(w,!1)})}),document.addEventListener("timepicker:refresh",i=>{const b=i.target?.closest?.("[data-timepicker]");if(!b)return;const v=i.detail?.value;if(typeof v=="string"){const{hour:w,minute:x}=m(b),q=E(v);w.value=q===void 0?"":v.slice(0,2),x.value=q===void 0?"":v.slice(3)}o(b)});function k(i){const{carrier:b}=m(i);if(!b||b.type==="hidden")return;const v=b.value;b.type="hidden",b.value=v,b.removeAttribute("aria-invalid"),o(i,!1)}function _(){document.querySelectorAll("[data-timepicker]").forEach(k)}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",_):_(),document.addEventListener("rapid:swapped",_)})(),(()=>{const A=new WeakMap;function E(c){const f=Number(c.dataset.toastAutodismiss);!f||A.has(c)||A.set(c,setTimeout(()=>c.remove(),f))}function p(c){const f=Number(c.dataset.toastMax)||4,r=c.querySelectorAll(":scope > .toast");for(let o=0;o<r.length-f;o++)r[o].remove()}function m(c){c.querySelectorAll?.(".toast[data-toast-autodismiss]").forEach(E),c.matches?.(".toast[data-toast-autodismiss]")&&E(c),c.querySelectorAll?.(".toast-region").forEach(p),c.closest?.(".toast-region")&&p(c.closest(".toast-region"))}m(document),new MutationObserver(c=>{for(const f of c)for(const r of f.addedNodes)r.nodeType===1&&m(r)}).observe(document.documentElement,{childList:!0,subtree:!0}),document.addEventListener("click",c=>{const f=c.target.closest?.("[data-toast-open]");if(!f)return;const r=document.querySelector(f.getAttribute("data-toast-open")??""),o=document.querySelector(f.getAttribute("data-toast-region")??"#toast-region");!r?.content||!o||o.append(r.content.cloneNode(!0))})})();
11
+ `;l(g,_,i,M,M.length,M.length);return}const[v,w]=s(g),x=g.value.slice(v,w).split(`
12
+ `);if(k==="clear"){const D=x.map(M=>M.replace(t,"")).join(`
13
+ `).replace(/!\[(.*?)\]\(\S+?\)/g,"$1").replace(/\[(.+?)\]\(\S+?\)/g,"$1").replace(/(\*\*|__|~~|`)(.+?)\1/g,"$2").replace(/(^|[^\w])_(.+?)_(?=[^\w]|$)/g,"$1$2");l(g,v,w,D,0,D.length);return}const C=E[k];if(!C)return;const L=D=>k==="ol"?/^\d+\. /.test(D):D.startsWith(C),q=x.every(D=>D.trim()===""||L(D)),$=x.map((D,M)=>{const N=D.replace(t,"");return q?N:D.trim()===""?D:(k==="ol"?`${M+1}. `:C)+N}).join(`
14
+ `);l(g,v,w,$,0,$.length)}function y(g,k){const _=g.querySelector("[data-editor-preview-panel]"),i=u(g);if(g.querySelectorAll("[data-editor-view]").forEach(v=>{v.setAttribute("aria-pressed",String(v.getAttribute("data-editor-view")===(k?"preview":"write")))}),!k){g.removeAttribute("data-editor-view"),_&&(_.hidden=!0),i?.focus();return}if(g.setAttribute("data-editor-view","preview"),!_)return;_.hidden=!1;const h=g.getAttribute("data-editor-preview");if(h&&globalThis.rapid?.swap)_.setAttribute("aria-busy","true"),globalThis.rapid.swap(h,_,{method:"post",body:new URLSearchParams({text:i?.value??""}).toString()}).finally(()=>_.removeAttribute("aria-busy"));else{_.replaceChildren();const v=document.createElement("p");v.className="editor__preview-note",v.textContent="No preview route on this page \u2014 showing the Markdown source.";const w=document.createElement("pre");w.className="editor__preview-raw",w.textContent=i?.value??"",_.append(v,w)}}function e(g){const k=u(g),_=r(g);k&&_&&(k.value=_.innerHTML)}const a=()=>String(document.queryCommandValue("formatBlock")||"").toLowerCase().replace(/[<>]/g,"");function n(g,k){const _=r(g);if(!(!_||_.getAttribute("contenteditable")!=="true")){if(_.focus(),f[k])document.execCommand(f[k]);else if(c[k])document.execCommand(c[k]);else if(m[k])document.execCommand("formatBlock",!1,a()===m[k]?"<p>":`<${m[k]}>`);else if(k==="link"){const i=globalThis.prompt?.("Link URL","https://");i&&document.execCommand("createLink",!1,i)}else if(k==="image"){const i=globalThis.prompt?.("Image URL","https://");i&&document.execCommand("insertImage",!1,i)}else k==="hr"?document.execCommand("insertHorizontalRule"):k==="clear"&&(document.execCommand("removeFormat"),document.execCommand("unlink"),document.queryCommandState("insertUnorderedList")&&document.execCommand("insertUnorderedList"),document.queryCommandState("insertOrderedList")&&document.execCommand("insertOrderedList"),a()!=="p"&&a()!=="div"&&document.execCommand("formatBlock",!1,"<p>"));e(g),p(g)}}function p(g){if(!o(g))return;const k=a();g.querySelectorAll("[data-editor-cmd]").forEach(_=>{const i=_.getAttribute("data-editor-cmd");let h=!1;f[i]||c[i]?h=document.queryCommandState(f[i]??c[i]):m[i]&&(h=k===m[i]),_.setAttribute("aria-pressed",String(h))})}function b(g){if(g.dataset.editorReady)return;g.dataset.editorReady="true";const k=u(g),_=r(g);_&&k&&(_.innerHTML=k.value,_.setAttribute("contenteditable",k.disabled?"false":"true"),document.execCommand("defaultParagraphSeparator",!1,"p"))}const S=()=>document.querySelectorAll("[data-editor]").forEach(b);document.readyState==="loading"?document.addEventListener("DOMContentLoaded",S):S(),document.addEventListener("rapid:swapped",S),document.addEventListener("click",g=>{const k=g.target.closest?.("[data-editor-cmd]");if(k){const i=k.closest("[data-editor]"),h=k.getAttribute("data-editor-cmd");if(o(i))n(i,h);else{const v=u(i);v&&!v.disabled&&d(v,h)}return}const _=g.target.closest?.("[data-editor-view]");_&&y(_.closest("[data-editor]"),_.getAttribute("data-editor-view")==="preview")}),document.addEventListener("input",g=>{const k=g.target.closest?.("[data-editor-surface]");k&&e(k.closest("[data-editor]"))}),document.addEventListener("selectionchange",()=>{const g=document.activeElement?.closest?.("[data-editor]");g&&p(g)}),document.addEventListener("keydown",g=>{if(!(g.metaKey||g.ctrlKey)||g.altKey)return;const k=g.target.closest?.("[data-editor]");if(!k)return;const _={b:"bold",i:"italic",u:"underline",k:"link"}[g.key.toLowerCase()];!_||_==="underline"&&!o(k)||(g.preventDefault(),o(k)?n(k,_):d(u(k),_))})})(),(()=>{const A="input:not([type=hidden]):not([type=submit]):not([type=button]):not([type=reset]), textarea, select",E=[["valueMissing","required"],["typeMismatch","type"],["badInput","type"],["patternMismatch","pattern"],["tooShort","min-length"],["tooLong","max-length"],["rangeUnderflow","min"],["rangeOverflow","max"],["stepMismatch","step"]],m=e=>e.closest?.("form[data-validate]"),f=e=>e.type==="checkbox"||e.type==="radio"||e.offsetParent!==null;function c(e){const a=e.getAttribute("data-match");if(a){const p=document.querySelector(a),b=p&&e.value!==""&&e.value!==p.value;e.setCustomValidity(b?e.getAttribute("data-msg-match")||"Does not match":"")}const n=e.validity;if(n.valid)return"";if(n.customError)return e.validationMessage;for(const[p,b]of E)if(n[p])return e.getAttribute(`data-msg-${b}`)||e.getAttribute("data-msg")||e.validationMessage;return e.validationMessage}const u=e=>e.id?`${e.id}-error`:"";function r(e,a){const n=e.closest(".form-field")??e.parentElement,p=e.classList[0]||"input";let b=n.querySelector(":scope > .form-field__error");const S=n.querySelector(":scope > .form-field__help");if(a){b||(b=document.createElement("p"),b.className="form-field__error",b.setAttribute("role","alert"),u(e)&&(b.id=u(e)),(S??n).insertAdjacentElement(S?"beforebegin":"beforeend",b)),b.textContent=a,S&&(S.hidden=!0),e.setAttribute("aria-invalid","true"),e.classList.add(`${p}--invalid`);const g=(e.getAttribute("aria-describedby")||"").split(/\s+/).filter(Boolean);b.id&&!g.includes(b.id)&&e.setAttribute("aria-describedby",[...g,b.id].join(" ")),e.dataset.validated="invalid"}else{b?.remove(),S&&(S.hidden=!1),e.removeAttribute("aria-invalid"),e.classList.remove(`${p}--invalid`);const g=(e.getAttribute("aria-describedby")||"").split(/\s+/).filter(k=>k&&k!==u(e));g.length?e.setAttribute("aria-describedby",g.join(" ")):e.removeAttribute("aria-describedby"),e.dataset.validated="valid"}}const o=e=>{if(!f(e)||e.disabled||e.hasAttribute("data-validate-skip"))return!0;const a=c(e);return r(e,a),!a};document.addEventListener("focusout",e=>{const a=e.target;!a?.matches?.(A)||!m(a)||a.closest("[data-validate-group]")?.contains(e.relatedTarget)||(a.dataset.touched="",o(a))}),document.addEventListener("input",e=>{const a=e.target;if(!a?.matches?.(A))return;const n=m(a);n&&((a.dataset.touched!==void 0||a.dataset.validated||a.getAttribute("aria-invalid")==="true")&&(a.dataset.touched="",o(a)),a.id&&n.querySelectorAll(`[data-match="#${CSS.escape(a.id)}"]`).forEach(p=>{p.dataset.touched!==void 0&&o(p)}))}),document.addEventListener("change",e=>{const a=e.target;a?.matches?.(A)&&m(a)&&a.dataset.touched!==void 0&&o(a)});const l=new WeakMap,s=e=>{const a=document.cookie.match(new RegExp("(?:^|; )"+e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")+"=([^;]*)"));return a?decodeURIComponent(a[1]):void 0};async function t(e){const a=e.getAttribute("data-validate-action");if(!a||!e.value||!e.validity.valid)return;l.get(e)?.abort();const n=new AbortController;l.set(e,n),e.setAttribute("aria-busy","true");const p=document.body?.dataset??{},b={"content-type":"application/x-www-form-urlencoded",[p.swapHeader||"rapid-swap"]:"1"},S=s(p.csrfCookie||"csrf");S&&(b[p.csrfHeader||"x-csrf-token"]=S);const g=e.value;try{const k=await fetch(a,{method:"POST",headers:b,body:new URLSearchParams({[e.name||"value"]:g}).toString(),signal:n.signal,credentials:"same-origin"}),_=k.ok?await k.text():"",i=new DOMParser().parseFromString(_,"text/html").body.textContent.trim();if(e.value!==g)return;e.setCustomValidity(i),e.dataset.remoteValue=g,r(e,i)}catch{}finally{l.get(e)===n&&(l.delete(e),e.removeAttribute("aria-busy"))}}document.addEventListener("focusout",e=>{const a=e.target;a?.matches?.("[data-validate-action]")&&m(a)&&t(a)}),document.addEventListener("input",e=>{const a=e.target;a?.matches?.("[data-validate-action]")&&a.dataset.remoteValue!==void 0&&a.value!==a.dataset.remoteValue&&(delete a.dataset.remoteValue,a.setCustomValidity(""),a.dataset.touched!==void 0&&o(a))});const d=()=>document.querySelectorAll("form[data-guard][data-dirty]");for(const e of["input","change"])document.addEventListener(e,a=>{const n=a.target?.closest?.("form[data-guard]");n&&(n.dataset.dirty="")});document.addEventListener("reset",e=>{e.target?.matches?.("form[data-guard]")&&delete e.target.dataset.dirty}),addEventListener("beforeunload",e=>{d().length&&(e.preventDefault(),e.returnValue="")}),document.addEventListener("submit",e=>{const a=e.target;if(!a?.matches?.("form[data-validate]"))return;let n=null;for(const p of a.querySelectorAll(A))p.dataset.touched="",!o(p)&&!n&&(n=p);if(!n){delete a.dataset.dirty;return}e.preventDefault(),e.stopImmediatePropagation(),n.scrollIntoView({block:"center"}),n.focus()},!0),document.addEventListener("submit",e=>{const a=e.target;a?.matches?.("form[data-guard]:not([data-validate])")&&delete a.dataset.dirty},!0);function y(){document.querySelectorAll("form[data-validate]").forEach(e=>e.setAttribute("novalidate",""))}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",y):y(),document.addEventListener("rapid:swapped",y)})(),(()=>{const A=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"]),E=/(?:0123|1234|2345|3456|4567|5678|6789|abcd|bcde|cdef|defg|qwer|wert|asdf|sdfg|zxcv|xcvb)/i;function m(s,t){if(!s)return 0;const d=s.toLowerCase();if(A.has(d)||/^(.)\1+$/.test(s))return 1;const y=[/[a-z]/,/[A-Z]/,/[0-9]/,/[^A-Za-z0-9]/].filter(a=>a.test(s)).length;let e=0;return s.length>=t&&e++,s.length>=12&&e++,y>=3&&e++,(y===4||s.length>=16)&&e++,(E.test(d)||/(.)\1{2,}/.test(s))&&e--,Math.max(1,Math.min(4,e))}function f(s){const t=s.closest("[data-password]");if(!t)return;const d=t.querySelector("[data-password-strength]"),y=Number(s.getAttribute("minlength"))||8,e=m(s.value,y);if(t.dataset.strengthLevel=String(e),d){d.hidden=e===0;const n=d.querySelector("[data-password-label]");if(n){const p=(n.getAttribute("data-levels")||"Too weak|Weak|Good|Strong").split("|");n.textContent=e?p[e-1]:""}}const a=Number(s.getAttribute("data-strength-min"));if(a){const n=e>0&&e<a;s.setCustomValidity(n?s.getAttribute("data-msg-strength")||"Choose a stronger password":"")}}document.addEventListener("input",s=>{const t=s.target;t?.matches?.("[data-password] .password__input")&&f(t)},!0),document.addEventListener("click",s=>{const t=s.target.closest?.("[data-password-reveal]");if(!t)return;const d=document.getElementById(t.getAttribute("aria-controls"));if(!d)return;const y=d.type==="password";d.type=y?"text":"password",t.setAttribute("aria-pressed",String(y));const e=t.querySelector("[data-password-reveal-label]");e&&(e.textContent=y?t.getAttribute("data-label-hide")||"Hide":t.getAttribute("data-label-show")||"Show");const a=t.querySelector("[data-icon-show]"),n=t.querySelector("[data-icon-hide]");a&&(a.hidden=y),n&&(n.hidden=!y),d.focus()});const c=(s,t)=>{const d=s.closest("[data-password]")?.querySelector("[data-password-caps]");d&&(d.hidden=!t)};for(const s of["keydown","keyup"])document.addEventListener(s,t=>{const d=t.target;!d?.matches?.("[data-password] .password__input")||typeof t.getModifierState!="function"||c(d,t.getModifierState("CapsLock"))});document.addEventListener("focusout",s=>{s.target?.matches?.("[data-password] .password__input")&&c(s.target,!1)});function u(s){const t=s.id,d=t&&document.querySelector(`[data-counter-for="${CSS.escape(t)}"]`);if(!d)return;const y=Number(s.getAttribute("maxlength"))||0,e=s.value.length;d.textContent=`${e} / ${y}`,d.classList.toggle("input__counter--near",y>0&&e>=y*.9)}document.addEventListener("input",s=>{s.target?.matches?.("[data-counter]")&&u(s.target)});function r(s){const t=s.closest("[data-input-clear]")?.querySelector("[data-input-clear-button]");t&&(t.hidden=!s.value)}document.addEventListener("input",s=>{s.target?.closest?.("[data-input-clear]")&&r(s.target)}),document.addEventListener("click",s=>{const t=s.target.closest?.("[data-input-clear-button]");if(!t)return;const d=document.getElementById(t.getAttribute("aria-controls"))??t.closest("[data-input-clear]")?.querySelector("input");d&&(d.value="",d.dispatchEvent(new Event("input",{bubbles:!0})),d.focus())});function o(s){s.style.height="auto",s.style.height=`${s.scrollHeight}px`}document.addEventListener("input",s=>{s.target?.matches?.("[data-autosize]")&&o(s.target)});function l(){document.querySelectorAll("[data-password] .password__input").forEach(s=>{s.value&&f(s)}),document.querySelectorAll("[data-counter]").forEach(u),document.querySelectorAll("[data-input-clear] input").forEach(r),document.querySelectorAll("[data-autosize]").forEach(o)}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",l):l(),document.addEventListener("rapid:swapped",l)})(),(()=>{function A(){const E=location.href;let m=null;if(document.querySelectorAll(".menu__link[href]").forEach(c=>{if(!c.getAttribute("href")?.includes("#"))return;new URL(c.getAttribute("href"),location.href).href===E&&(m=c)}),!m)return;m.closest(".menu__list")?.querySelectorAll(".menu__link").forEach(c=>{c!==m&&c.getAttribute("href")?.includes("#")&&(c.classList.remove("menu__link--active"),c.removeAttribute("aria-current"))}),m.classList.add("menu__link--active"),m.setAttribute("aria-current","page");const f=m.closest(".menu__sublist");f&&(f.hidden=!1,f.classList.add("is-open"),document.querySelector(`[data-toggle="#${CSS.escape(f.id)}"]`)?.setAttribute("aria-expanded","true"))}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",A):A(),addEventListener("hashchange",A),document.addEventListener("rapid:swapped",A)})(),(()=>{let A=!1;document.addEventListener("pointerdown",E=>{A=E.target instanceof HTMLDialogElement&&E.target.open}),document.addEventListener("click",E=>{const m=E.target.closest?.("[data-modal-open]");if(m){const c=document.querySelector(m.getAttribute("data-modal-open")??"");c instanceof HTMLDialogElement&&!c.open&&c.showModal();return}const f=E.target.closest?.("[data-modal-close]");if(f){f.closest("dialog")?.close();return}A&&E.target instanceof HTMLDialogElement&&E.target.open&&E.target.close(),A=!1})})(),(()=>{const A=r=>Array.from(r.querySelectorAll(".otp__cell")),E=r=>r.querySelector(".otp__value");function m(r,o){const l=r.getAttribute("data-otp-mode")!=="alphanumeric";return(o||"").replace(l?/[^0-9]/g:/[^0-9a-zA-Z]/g,"")}function f(r,{fromCarrier:o=!1}={}){const l=A(r),s=E(r);if(!l.length||!s)return;if(o){const y=m(r,s.value).slice(0,l.length);l.forEach((e,a)=>e.value=y[a]??"")}const t=l.map(y=>y.value).join("");s.value=t,s.setAttribute("tabindex","-1"),s.setAttribute("aria-hidden","true"),l.forEach(y=>y.toggleAttribute("data-filled",y.value!==""));const d=l.findIndex(y=>!y.value);l.forEach((y,e)=>y.setAttribute("tabindex",e===(d<0?0:d)?"0":"-1")),t.length===l.length&&!r.hasAttribute("data-otp-completed")?(r.setAttribute("data-otp-completed",""),r.dispatchEvent(new CustomEvent("otp:complete",{bubbles:!0,detail:{value:t}})),r.hasAttribute("data-otp-submit")&&r.closest("form")?.requestSubmit()):t.length<l.length&&r.removeAttribute("data-otp-completed")}function c(r,o,l){const s=A(r),t=m(r,l);if(!t){s[o].value="",f(r);return}let d=o;for(const y of t){if(d>=s.length)break;s[d].value=y,d++}f(r),s[Math.min(d,s.length-1)].focus()}document.addEventListener("input",r=>{const o=r.target.closest?.(".otp__cell");if(!o)return;const l=o.closest("[data-otp]"),s=A(l);c(l,s.indexOf(o),o.value)}),document.addEventListener("paste",r=>{const o=r.target.closest?.(".otp__cell");if(!o)return;r.preventDefault();const l=o.closest("[data-otp]");c(l,A(l).indexOf(o),r.clipboardData?.getData("text")??"")}),document.addEventListener("keydown",r=>{const o=r.target.closest?.(".otp__cell");if(!o)return;const l=o.closest("[data-otp]"),s=A(l),t=s.indexOf(o);r.key==="Backspace"?(r.preventDefault(),o.value?o.value="":t>0&&(s[t-1].value="",s[t-1].focus()),f(l)):r.key==="Delete"?(r.preventDefault(),o.value="",f(l)):r.key==="ArrowLeft"&&t>0?(r.preventDefault(),s[t-1].focus()):r.key==="ArrowRight"&&t<s.length-1&&(r.preventDefault(),s[t+1].focus())}),document.addEventListener("focusin",r=>{const o=r.target.closest?.(".otp__cell");o&&o.select()});function u(){document.querySelectorAll("[data-otp]").forEach(r=>f(r,{fromCarrier:!0}))}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",u):u(),document.addEventListener("rapid:swapped",u)})(),(()=>{function A(m,f){const c=m.querySelector(".popover__panel"),u=m.querySelector("[data-popover-trigger]");c&&(c.hidden=!f),u&&u.setAttribute("aria-expanded",f?"true":"false")}const E=()=>document.querySelectorAll("[data-popover] .popover__panel:not([hidden])");document.addEventListener("click",m=>{const f=m.target.closest?.("[data-popover-trigger]");if(f){const u=f.closest("[data-popover]"),r=u?.querySelector(".popover__panel");r&&A(u,r.hidden);return}const c=m.target.closest?.("[data-popover]");E().forEach(u=>{const r=u.closest("[data-popover]");r!==c&&A(r,!1)})}),document.addEventListener("keydown",m=>{if(m.key!=="Escape"||m.defaultPrevented)return;const f=m.target.closest?.("[data-popover]"),c=f?[f]:Array.from(E()).map(r=>r.closest("[data-popover]"));let u=!1;c.forEach(r=>{const o=r.querySelector(".popover__panel");!o||o.hidden||(A(r,!1),r.querySelector("[data-popover-trigger]")?.focus(),u=!0)}),u&&m.preventDefault()})})(),(()=>{function A(m){const c=m.querySelector(".segmented__input:checked")?.nextElementSibling;if(!c){m.style.setProperty("--segmented-w","0px");return}const u=m.getBoundingClientRect(),r=c.getBoundingClientRect(),o=getComputedStyle(m).direction==="rtl",l=o?u.right-m.clientLeft-3-r.right:r.left-u.left-m.clientLeft-3;m.style.setProperty("--segmented-x",`${o?-l:l}px`),m.style.setProperty("--segmented-w",`${r.width}px`),m.setAttribute("data-segmented-ready","")}const E=()=>document.querySelectorAll("[data-segmented]").forEach(A);document.readyState==="loading"?document.addEventListener("DOMContentLoaded",E):E(),addEventListener("load",E),addEventListener("resize",E),document.addEventListener("rapid:swapped",E),document.addEventListener("change",m=>{const f=m.target.closest?.("[data-segmented]");f&&A(f)})})(),(()=>{function A(f){const c=f.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",f=>{const u=f.target.closest?.("[data-select]")?.querySelector(".select__native");if(!u)return;const r=f.detail?.value??"";u.value!==r&&(u.value=r,u.dispatchEvent(new Event("change",{bubbles:!0})),u.dispatchEvent(new Event("input",{bubbles:!0})))}),document.addEventListener("change",f=>{if(!f.target.matches?.(".select__native"))return;const c=f.target.closest("[data-select]"),u=A(c);if(!u)return;const r=f.target.value,o=u.options.find(t=>t.getAttribute("data-value")===r),l=o?(o.querySelector(".combobox__option-label")?.textContent??o.textContent).trim():"";u.hidden&&(u.hidden.value=r),u.input&&u.input.value!==l&&(u.input.value=l);const s=c.querySelector("[data-select-lead]");if(s){const t=o?.querySelector(".combobox__option-lead");s.replaceChildren(...t?[...t.cloneNode(!0).childNodes]:[])}u.options.forEach(t=>t.setAttribute("aria-selected",String(t===o)))});let E="",m=0;document.addEventListener("keydown",f=>{const c=f.target;if(!c.matches?.("[data-select-ui] input[role='combobox']")||f.key.length!==1||f.metaKey||f.ctrlKey||f.altKey)return;const u=Date.now();E=u-m>600?f.key:E+f.key,m=u;const r=c.closest("[data-select]"),l=A(r)?.options.find(s=>s.getAttribute("aria-disabled")!=="true"&&(s.querySelector(".combobox__option-label")?.textContent??s.textContent).trim().toLowerCase().startsWith(E.toLowerCase()));l&&l.click(),f.preventDefault()})})(),(()=>{function A(f){const c=f.closest("[data-slider]");if(!c)return null;const u=Number(f.min||0),r=Number(f.max||100),o=r===u?0:(Number(f.value)-u)/(r-u)*100;return c.style.setProperty("--slider-pct",`${o.toFixed(2)}%`),c}function E(f,c){const u=f.querySelector("[data-slider-output]");if(!u)return;const r=Number(c.value),o=f.getAttribute("data-slider-labels");if(o){const t=Number(c.step||1),d=Math.round((r-Number(c.min||0))/t);let y=[];try{y=JSON.parse(o)}catch{}u.textContent=y[d]??c.value,f.querySelectorAll(".slider__scale-item").forEach((e,a)=>{e.classList.toggle("slider__scale-item--active",a===d)});return}const l=f.getAttribute("data-slider-unit"),s=f.getAttribute("data-slider-unit-one")||l;u.textContent=l?`${c.value} ${r===1?s:l}`:c.value}function m(){document.querySelectorAll("[data-slider] .slider__input").forEach(A)}document.addEventListener("input",f=>{if(!f.target.matches?.("[data-slider] .slider__input"))return;const c=A(f.target);c&&E(c,f.target)}),document.readyState==="loading"?document.addEventListener("DOMContentLoaded",m):m(),document.addEventListener("rapid:swapped",m)})(),(()=>{document.addEventListener("click",m=>{const f=m.target.closest?.(".tabs__tab");f&&E(f)}),document.addEventListener("keydown",m=>{if(!["ArrowRight","ArrowLeft","Home","End"].includes(m.key))return;const c=m.target.closest?.(".tabs__tab");if(!c)return;const u=[...c.parentElement.querySelectorAll(".tabs__tab")],r=u.indexOf(c);let o;m.key==="Home"?o=u[0]:m.key==="End"?o=u[u.length-1]:m.key==="ArrowRight"?o=u[(r+1)%u.length]:o=u[(r-1+u.length)%u.length],m.preventDefault(),o.focus(),E(o)});function A(){if(location.hash.length<2)return;const m=document.querySelector(`.tabs__tab#${CSS.escape(location.hash.slice(1))}`);if(!m)return;E(m);const f=()=>{document.activeElement===m&&m.blur()};f(),setTimeout(f,50)}A(),addEventListener("load",A),addEventListener("hashchange",A),document.addEventListener("rapid:swapped",A);function E(m){const f=m.closest(".tabs");f&&(f.querySelectorAll(":scope > .tabs__list > .tabs__tab").forEach(c=>{const u=c===m;c.setAttribute("aria-selected",String(u)),c.setAttribute("tabindex",u?"0":"-1")}),f.querySelectorAll(":scope > .tabs__panel").forEach(c=>{c.toggleAttribute("hidden",c.id!==m.getAttribute("aria-controls"))}))}})(),(()=>{const A=i=>String(i).padStart(2,"0"),E=i=>{const h=/^([01]\d|2[0-3]):([0-5]\d)$/.exec(i||"");return h?Number(h[1])*60+Number(h[2]):void 0},m=i=>{const h=(i%1440+1440)%1440;return`${A(Math.floor(h/60))}:${A(h%60)}`};function f(i){return{hour:i.querySelector("[data-segment='hour']"),minute:i.querySelector("[data-segment='minute']"),carrier:i.querySelector("[data-timepicker-value]"),list:i.querySelector(".timepicker__list"),toggle:i.querySelector("[data-timepicker-toggle]")}}const c=i=>({lo:E(i.getAttribute("data-timepicker-min")),hi:E(i.getAttribute("data-timepicker-max"))});function u(i){const{hour:h,minute:v}=f(i);if(!h?.value||!v?.value)return;const w=Number(h.value),x=Number(v.value);return w<=23&&x<=59?w*60+x:void 0}function r(i){const{hour:h,minute:v}=f(i);if(!h)return;const w=u(i),{lo:x,hi:C}=c(i),L=($,D,M,N)=>(h.getAttribute(`data-msg-${$}`)||D).replace(M,N??"");let q="";!h.value&&!v.value?i.hasAttribute("data-timepicker-required")&&(q=L("required","Enter a time.")):w===void 0?q=L("incomplete","Enter hours and minutes."):x!==void 0&&w<x?q=L("min","Pick {min} or later.","{min}",m(x)):C!==void 0&&w>C&&(q=L("max","Pick {max} or earlier.","{max}",m(C))),h.setCustomValidity(i.getAttribute("data-timepicker-error")||q)}function o(i,h=!0){const{hour:v,minute:w,carrier:x,list:C}=f(i);if(!v||!w||!x)return;for(const $ of[v,w])$.value===""?$.removeAttribute("aria-valuenow"):$.setAttribute("aria-valuenow",String(Number($.value)));const L=u(i),q=L===void 0?"":m(L);C?.querySelectorAll("[role='option']").forEach($=>$.setAttribute("aria-selected",String($.getAttribute("data-value")===q))),r(i),x.value!==q&&(x.value=q,h&&x.dispatchEvent(new Event("change",{bubbles:!0})))}function l(i,h){const{hour:v,minute:w}=f(i),x=m(h);v.value=x.slice(0,2),w.value=x.slice(3),o(i)}function s(i){const{hour:h,minute:v}=f(i);let w=!1;for(const[x,C]of[[h,23],[v,59]])x&&x.value.length===1&&(x.value=A(Math.min(Number(x.value),C)),w=!0);w&&o(i)}function t(i){!i||i.disabled||(i.focus(),i.select())}const d=i=>Array.from(i.querySelectorAll(".timepicker__slot")).filter(h=>!h.hidden),y=i=>i.classList.contains("timepicker--open");function e(i,h){const{list:v}=f(i);if(i.querySelectorAll(".timepicker__slot[data-active]").forEach(x=>x.removeAttribute("data-active")),!h||!v){v?.removeAttribute("aria-activedescendant");return}h.setAttribute("data-active",""),v.setAttribute("aria-activedescendant",h.id);const w=h.offsetTop;w<v.scrollTop?v.scrollTop=w:w+h.offsetHeight>v.scrollTop+v.clientHeight&&(v.scrollTop=w+h.offsetHeight-v.clientHeight)}function a(i){const{list:h,toggle:v}=f(i);if(!h||v?.disabled)return;const{lo:w,hi:x}=c(i);i.querySelectorAll(".timepicker__slot").forEach($=>{const D=E($.getAttribute("data-value"));$.hidden=w!==void 0&&D<w||x!==void 0&&D>x}),h.hidden=!1,i.classList.add("timepicker--open"),v?.setAttribute("aria-expanded","true");const C=d(i),L=u(i),q=C.find($=>$.getAttribute("aria-selected")==="true")??(L===void 0?void 0:C.find($=>E($.getAttribute("data-value"))>=L))??C[0];h.focus({preventScroll:!0}),e(i,q),q&&(h.scrollTop=q.offsetTop-(h.clientHeight-q.offsetHeight)/2)}function n(i,h){const{list:v,toggle:w,hour:x}=f(i);v&&(v.hidden=!0,i.classList.remove("timepicker--open"),w?.setAttribute("aria-expanded","false"),e(i,null),h&&t(x))}function p(i,h){const v=E(h?.getAttribute("data-value"));v!==void 0&&(l(i,v),n(i,!0))}let b="",S=0;function g(i,h){const v=Date.now();b=v-S>800?h:b+h,S=v;const w=d(i),x=L=>L.getAttribute("data-value").replace(":",""),C=w.find(L=>x(L).startsWith(b))??w.find(L=>x(L).replace(/^0/,"").startsWith(b));C&&e(i,C)}document.addEventListener("input",i=>{const h=i.target;if(!h?.matches?.(".timepicker__segment"))return;const v=h.closest("[data-timepicker]"),{minute:w}=f(v),x=h.value.replace(/\D/g,"").slice(0,2);h.value!==x&&(h.value=x);const C=h.getAttribute("data-segment")==="hour";if(x){const L=Number(x);if((x.length===2||L>(C?2:5))&&(h.value=A(Math.min(L,C?23:59)),C)){o(v),t(w);return}}o(v)},!0),document.addEventListener("paste",i=>{const h=i.target;if(!h?.matches?.(".timepicker__segment"))return;const v=i.clipboardData?.getData("text")??"",w=/^\s*(\d{1,2})\s*[:.h]\s*(\d{2})\s*$/.exec(v)??/^\s*(\d{1,2})(\d{2})\s*$/.exec(v);if(!w)return;i.preventDefault();const x=h.closest("[data-timepicker]");l(x,Math.min(Number(w[1]),23)*60+Math.min(Number(w[2]),59)),t(f(x).minute)}),document.addEventListener("keydown",i=>{const h=i.target,v=h?.closest?.("[data-timepicker]");if(!v)return;const{hour:w,minute:x,list:C}=f(v);if(h===C){const $=d(v),D=v.querySelector(".timepicker__slot[data-active]"),M=$.indexOf(D);if(i.key==="ArrowDown"||i.key==="ArrowUp"){i.preventDefault();const N=M<0?0:M+(i.key==="ArrowDown"?1:-1);e(v,$[Math.max(0,Math.min($.length-1,N))])}else i.key==="Home"||i.key==="End"?(i.preventDefault(),e(v,i.key==="Home"?$[0]:$[$.length-1])):i.key==="Enter"||i.key===" "?(i.preventDefault(),D&&p(v,D)):i.key==="Escape"?(i.preventDefault(),i.stopPropagation(),n(v,!0)):i.key==="Tab"?n(v,!1):/^\d$/.test(i.key)&&(i.preventDefault(),g(v,i.key));return}if(!h.matches(".timepicker__segment"))return;const L=h===w,q=L?23:59;if(i.altKey&&i.key==="ArrowDown"||i.key==="F4")i.preventDefault(),a(v);else if(i.key==="ArrowUp"||i.key==="ArrowDown"){i.preventDefault();const $=i.key==="ArrowUp"?1:-1,{lo:D}=c(v),M=L?Math.floor((D??0)/60):0,N=h.value===""?M:(Number(h.value)+$+q+1)%(q+1);h.value=A(N),o(v),h.select()}else if(i.key==="PageUp"||i.key==="PageDown"){i.preventDefault();const $=Number(C?.getAttribute("data-step"))||15,D=(Number(w.value)||0)*60+(Number(x.value)||0);l(v,D+(i.key==="PageUp"?$:-$)),h.select()}else i.key==="Home"||i.key==="End"?(i.preventDefault(),h.value=i.key==="Home"?"00":A(q),o(v),h.select()):L&&(i.key===":"||i.key==="."||i.key===" "||i.key==="ArrowRight")?(i.preventDefault(),s(v),t(x)):!L&&i.key==="ArrowLeft"||!L&&i.key==="Backspace"&&h.value===""?(i.preventDefault(),t(w)):i.key==="Escape"&&y(v)&&(i.preventDefault(),i.stopPropagation(),n(v,!0))}),document.addEventListener("focusin",i=>{i.target?.matches?.(".timepicker__segment")&&i.target.select()}),document.addEventListener("focusout",i=>{const h=i.target?.closest?.("[data-timepicker]");if(!h||h.contains(i.relatedTarget))return;s(h),y(h)&&n(h,!1);const{hour:v}=f(h);v?.closest("form[data-validate]")&&(v.dataset.touched="",v.dispatchEvent(new Event("change",{bubbles:!0})))}),document.addEventListener("click",i=>{const h=i.target,v=h?.closest?.("[data-timepicker]");if(v){if(h.closest("[data-timepicker-toggle]")){y(v)?n(v,!0):a(v);return}const w=h.closest(".timepicker__slot");if(w){p(v,w);return}h.matches(".timepicker__segment")?h.select():h.closest(".timepicker__field")&&t(f(v).hour)}document.querySelectorAll("[data-timepicker].timepicker--open").forEach(w=>{w!==v&&n(w,!1)})}),document.addEventListener("timepicker:refresh",i=>{const h=i.target?.closest?.("[data-timepicker]");if(!h)return;const v=i.detail?.value;if(typeof v=="string"){const{hour:w,minute:x}=f(h),C=E(v);w.value=C===void 0?"":v.slice(0,2),x.value=C===void 0?"":v.slice(3)}o(h)});function k(i){const{carrier:h}=f(i);if(!h||h.type==="hidden")return;const v=h.value;h.type="hidden",h.value=v,h.removeAttribute("aria-invalid"),o(i,!1)}function _(){document.querySelectorAll("[data-timepicker]").forEach(k)}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",_):_(),document.addEventListener("rapid:swapped",_)})(),(()=>{const A=new WeakMap;function E(c){const u=Number(c.dataset.toastAutodismiss);!u||A.has(c)||A.set(c,setTimeout(()=>c.remove(),u))}function m(c){const u=Number(c.dataset.toastMax)||4,r=c.querySelectorAll(":scope > .toast");for(let o=0;o<r.length-u;o++)r[o].remove()}function f(c){c.querySelectorAll?.(".toast[data-toast-autodismiss]").forEach(E),c.matches?.(".toast[data-toast-autodismiss]")&&E(c),c.querySelectorAll?.(".toast-region").forEach(m),c.closest?.(".toast-region")&&m(c.closest(".toast-region"))}f(document),new MutationObserver(c=>{for(const u of c)for(const r of u.addedNodes)r.nodeType===1&&f(r)}).observe(document.documentElement,{childList:!0,subtree:!0}),document.addEventListener("click",c=>{const u=c.target.closest?.("[data-toast-open]");if(!u)return;const r=document.querySelector(u.getAttribute("data-toast-open")??""),o=document.querySelector(u.getAttribute("data-toast-region")??"#toast-region");!r?.content||!o||o.append(r.content.cloneNode(!0))})})();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tundralibs/ui",
3
- "version": "0.10.0",
3
+ "version": "0.10.1",
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",