@schumann-dev/ui 0.12.0 → 0.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +547 -539
- package/dist/molecules/FormField/FormField.d.ts +4 -2
- package/dist/molecules/SegmentedControl/SegmentedControl.d.ts +3 -1
- package/dist/organisms/ConfirmModal/ConfirmModal.d.ts +3 -1
- package/dist/organisms/Modal/Modal.d.ts +3 -1
- package/dist/styles.css +1 -1
- package/package.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ReactNode } from 'react';
|
|
1
|
+
import { CSSProperties, ReactNode } from 'react';
|
|
2
2
|
export interface FormFieldProps {
|
|
3
3
|
label?: ReactNode;
|
|
4
4
|
hint?: ReactNode;
|
|
@@ -8,9 +8,11 @@ export interface FormFieldProps {
|
|
|
8
8
|
/** Explicit id for the control; auto-generated otherwise. */
|
|
9
9
|
id?: string;
|
|
10
10
|
className?: string;
|
|
11
|
+
/** Inline style on the wrapper — útil p/ flex layout (ex.: `style={{ flex: 1 }}` em linha). */
|
|
12
|
+
style?: CSSProperties;
|
|
11
13
|
children: ReactNode;
|
|
12
14
|
}
|
|
13
15
|
/** Wraps a control with a label, hint/error text and the ARIA wiring
|
|
14
16
|
* (`id`, `aria-invalid`, `aria-describedby`) any Schumann.ui control reads
|
|
15
17
|
* automatically via context. */
|
|
16
|
-
export declare function FormField({ label, hint, error, required, id, className, children, }: FormFieldProps): import("react").JSX.Element;
|
|
18
|
+
export declare function FormField({ label, hint, error, required, id, className, style, children, }: FormFieldProps): import("react").JSX.Element;
|
|
@@ -13,7 +13,9 @@ export interface SegmentedControlProps {
|
|
|
13
13
|
/** `pill`: linha compacta com dot colorido. `card`: cartões empilhados com sublabel.
|
|
14
14
|
* `tab`: barra de abas (ativo com fill sólido brand, sem dot). */
|
|
15
15
|
variant?: 'pill' | 'card' | 'tab';
|
|
16
|
+
/** Desabilita a interação (ex.: campo travado ao editar). */
|
|
17
|
+
disabled?: boolean;
|
|
16
18
|
className?: string;
|
|
17
19
|
}
|
|
18
20
|
/** Grupo de opções mutuamente exclusivas (toggle buttons coloridos). */
|
|
19
|
-
export declare function SegmentedControl({ options, value, onChange, variant, className, }: SegmentedControlProps): import("react").JSX.Element;
|
|
21
|
+
export declare function SegmentedControl({ options, value, onChange, variant, disabled, className, }: SegmentedControlProps): import("react").JSX.Element;
|
|
@@ -10,10 +10,12 @@ export interface ConfirmModalProps {
|
|
|
10
10
|
busyLabel?: string;
|
|
11
11
|
confirmVariant?: ButtonVariant;
|
|
12
12
|
icon?: ReactNode;
|
|
13
|
+
/** Modo alerta: esconde o botão Cancelar (só o de ação, ex.: "Entendi"). */
|
|
14
|
+
hideCancel?: boolean;
|
|
13
15
|
/** Pode lançar/rejeitar: o erro é exibido no modal e ele permanece aberto. */
|
|
14
16
|
onConfirm: () => void | Promise<void>;
|
|
15
17
|
/** Converte o erro lançado em mensagem amigável (mapa de erros fica no app). */
|
|
16
18
|
formatError?: (error: unknown) => ReactNode;
|
|
17
19
|
}
|
|
18
20
|
/** Diálogo de confirmação com estado de espera e exibição de erro embutidos. */
|
|
19
|
-
export declare function ConfirmModal({ open, onOpenChange, title, message, confirmLabel, cancelLabel, busyLabel, confirmVariant, icon, onConfirm, formatError, }: ConfirmModalProps): import("react").JSX.Element;
|
|
21
|
+
export declare function ConfirmModal({ open, onOpenChange, title, message, confirmLabel, cancelLabel, busyLabel, confirmVariant, icon, hideCancel, onConfirm, formatError, }: ConfirmModalProps): import("react").JSX.Element;
|
|
@@ -13,13 +13,15 @@ export interface ModalContentProps {
|
|
|
13
13
|
/** Required for accessibility — becomes the dialog's aria-label/title. */
|
|
14
14
|
title: ReactNode;
|
|
15
15
|
description?: ReactNode;
|
|
16
|
+
/** Chip de ícone opcional exibido antes do título no header (ex.: <IconBox>…</IconBox>). */
|
|
17
|
+
icon?: ReactNode;
|
|
16
18
|
maxWidth?: number;
|
|
17
19
|
/** Hide the built-in close (×) button. */
|
|
18
20
|
hideClose?: boolean;
|
|
19
21
|
className?: string;
|
|
20
22
|
children?: ReactNode;
|
|
21
23
|
}
|
|
22
|
-
declare function ModalContent({ title, description, maxWidth, hideClose, className, children, }: ModalContentProps): import("react").JSX.Element;
|
|
24
|
+
declare function ModalContent({ title, description, icon, maxWidth, hideClose, className, children, }: ModalContentProps): import("react").JSX.Element;
|
|
23
25
|
declare function ModalFooter({ className, ...rest }: HTMLAttributes<HTMLDivElement>): import("react").JSX.Element;
|
|
24
26
|
export declare const Modal: typeof ModalRoot & {
|
|
25
27
|
Trigger: import('react').ForwardRefExoticComponent<Dialog.DialogTriggerProps & import('react').RefAttributes<HTMLButtonElement>>;
|
package/dist/styles.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.sui-icon{fill:none;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.sui-icon-img{display:block;flex-shrink:0;object-fit:cover}.sui-iconbox{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.sui-spinner{display:inline-block;width:var(--sui-spinner-size, 16px);height:var(--sui-spinner-size, 16px);border:2px solid currentColor;border-right-color:transparent;border-radius:var(--radius-full);animation:sui-spin .6s linear infinite;flex-shrink:0}@keyframes sui-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.sui-spinner{animation-duration:1.5s}}.sui-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);border:1px solid transparent;border-radius:var(--radius-md);font-family:var(--font-sans);font-weight:var(--weight-semibold);line-height:1;white-space:nowrap;cursor:pointer;transition:background var(--transition-base),border-color var(--transition-base),color var(--transition-base),opacity var(--transition-base);position:relative}.sui-btn--full{width:100%}.sui-btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--interactive-focus-ring)}.sui-btn:disabled{cursor:not-allowed;opacity:.55}.sui-btn__icon{display:inline-flex;flex-shrink:0}.sui-btn[data-size=sm]{height:32px;padding:0 var(--space-3);font-size:var(--text-xs)}.sui-btn[data-size=md]{height:40px;padding:0 var(--space-4);font-size:var(--text-sm)}.sui-btn[data-size=lg]{height:48px;padding:0 var(--space-5);font-size:var(--text-base)}.sui-btn[data-variant=primary]{background:var(--interactive-primary);border-color:var(--interactive-primary);color:var(--interactive-primary-text)}.sui-btn[data-variant=primary]:not(:disabled):hover{background:var(--interactive-primary-hover);border-color:var(--interactive-primary-hover)}.sui-btn[data-variant=secondary]{background:var(--surface-raised);border-color:var(--interactive-outline-border);color:var(--text-primary)}.sui-btn[data-variant=secondary]:not(:disabled):hover{background:var(--interactive-outline-hover)}.sui-btn[data-variant=success]{background:var(--color-green-400);border-color:var(--color-green-400);color:#fff}.sui-btn[data-variant=success]:not(:disabled):hover{filter:brightness(1.08)}.sui-btn[data-variant=danger]{background:var(--color-rose-600);border-color:var(--color-rose-600);color:#fff}.sui-btn[data-variant=danger]:not(:disabled):hover{filter:brightness(1.08)}.sui-btn[data-variant=ghost]{background:transparent;border-color:transparent;color:var(--text-secondary)}.sui-btn[data-variant=ghost]:not(:disabled):hover{background:var(--interactive-outline-hover);color:var(--text-primary)}.sui-iconbtn{display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;background:transparent;color:var(--text-primary);cursor:pointer;flex-shrink:0;transition:background var(--transition-base),color var(--transition-base)}.sui-iconbtn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--interactive-focus-ring)}.sui-iconbtn:disabled{cursor:not-allowed;opacity:.5}.sui-iconbtn[data-size=sm]{width:28px;height:28px}.sui-iconbtn[data-size=md]{width:34px;height:34px}.sui-iconbtn[data-size=lg]{width:40px;height:40px}.sui-iconbtn[data-shape=square]{border-radius:var(--radius-lg)}.sui-iconbtn[data-shape=circle]{border-radius:var(--radius-full)}.sui-iconbtn[data-variant=ghost]:not(:disabled):hover{background:var(--interactive-outline-hover)}.sui-iconbtn[data-variant=outline]{border-color:var(--surface-border);background:var(--surface-inset)}.sui-iconbtn[data-variant=outline]:not(:disabled):hover{background:var(--interactive-outline-hover)}.sui-iconbtn[data-variant=primary]{background:var(--interactive-primary);color:var(--interactive-primary-text)}.sui-iconbtn[data-variant=primary]:not(:disabled):hover{background:var(--interactive-primary-hover)}.sui-input{display:flex;align-items:center;width:100%;background:var(--surface-raised);border:1px solid var(--surface-border);border-radius:var(--radius-lg);color:var(--text-primary);transition:border-color var(--transition-base),box-shadow var(--transition-base)}.sui-input:focus-within{border-color:var(--interactive-primary);box-shadow:0 0 0 3px var(--interactive-focus-ring)}.sui-input[data-invalid]{border-color:var(--color-rose-400)}.sui-input[data-invalid]:focus-within{box-shadow:0 0 0 3px var(--status-error-bd)}.sui-input[data-disabled]{opacity:.6;cursor:not-allowed}.sui-input__control{flex:1;min-width:0;width:100%;border:none;outline:none;background:transparent;color:inherit;font-family:var(--font-sans)}.sui-input__control::placeholder{color:var(--text-muted)}.sui-input__control:disabled{cursor:not-allowed}.sui-input__addon{display:inline-flex;align-items:center;color:var(--text-secondary);flex-shrink:0}.sui-input[data-size=sm]{min-height:36px;padding:0 var(--space-3);font-size:var(--text-xs)}.sui-input[data-size=md]{min-height:44px;padding:0 var(--space-3);font-size:var(--text-sm)}.sui-input[data-size=lg]{min-height:48px;padding:0 var(--space-4);font-size:var(--text-base)}.sui-input__control{padding:var(--space-2-5) var(--space-1)}.sui-input__addon--left{padding-right:var(--space-2)}.sui-input__addon--right{padding-left:var(--space-2)}.sui-text{font-family:var(--font-sans);margin:0}.sui-text--mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.sui-text--truncate{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sui-text[data-size=xs]{font-size:var(--text-xs);line-height:1.4}.sui-text[data-size=sm]{font-size:var(--text-sm);line-height:1.45}.sui-text[data-size=base]{font-size:var(--text-base);line-height:1.5}.sui-text[data-size=lg]{font-size:var(--text-lg);line-height:1.5}.sui-text[data-size=xl]{font-size:var(--text-xl);line-height:1.5}.sui-text[data-weight=regular]{font-weight:var(--weight-regular)}.sui-text[data-weight=medium]{font-weight:var(--weight-medium)}.sui-text[data-weight=semibold]{font-weight:var(--weight-semibold)}.sui-text[data-weight=bold]{font-weight:var(--weight-bold)}.sui-text[data-tone=primary]{color:var(--text-primary)}.sui-text[data-tone=secondary]{color:var(--text-secondary)}.sui-text[data-tone=muted]{color:var(--text-muted)}.sui-text[data-tone=brand]{color:var(--text-brand)}.sui-text[data-tone=success]{color:var(--text-success)}.sui-text[data-tone=error]{color:var(--text-error)}.sui-text[data-tone=warning]{color:var(--text-warning)}.sui-text[data-align=start]{text-align:left}.sui-text[data-align=center]{text-align:center}.sui-text[data-align=end]{text-align:right}.sui-heading{font-family:var(--font-sans);color:var(--text-primary);margin:0;letter-spacing:var(--tracking-tight)}.sui-heading[data-level="1"]{font-size:var(--text-title-md);font-weight:var(--weight-extrabold);line-height:1.15}.sui-heading[data-level="2"]{font-size:var(--text-title-sm);font-weight:var(--weight-bold);line-height:1.2}.sui-heading[data-level="3"]{font-size:var(--text-xl);font-weight:var(--weight-bold);line-height:1.3}.sui-heading[data-level="4"]{font-size:var(--text-lg);font-weight:var(--weight-semibold);line-height:1.35}.sui-label{display:inline-flex;align-items:center;gap:var(--space-1);font-family:var(--font-sans);font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--text-primary)}.sui-label__required{color:var(--text-error)}.sui-badge{display:inline-flex;align-items:center;gap:var(--space-1-5);border:1px solid transparent;border-radius:var(--radius-full);font-family:var(--font-sans);font-weight:var(--weight-bold);white-space:nowrap;line-height:1}.sui-badge__dot{width:6px;height:6px;border-radius:var(--radius-full);background:currentColor;flex-shrink:0}.sui-badge__icon{display:inline-flex;flex-shrink:0}.sui-badge[data-size=sm]{padding:2px var(--space-2);font-size:11px}.sui-badge[data-size=md]{padding:3px var(--space-2-5);font-size:var(--text-xs)}.sui-badge[data-status=neutral]{background:var(--status-neutral-bg);color:var(--status-neutral-fg);border-color:var(--surface-border)}.sui-badge[data-status=brand]{background:#5961f729;color:var(--text-brand);border-color:#5961f74d}.sui-badge[data-status=success]{background:var(--status-success-bg);color:var(--status-success-fg);border-color:var(--status-success-bd)}.sui-badge[data-status=error]{background:var(--status-error-bg);color:var(--status-error-fg);border-color:var(--status-error-bd)}.sui-badge[data-status=warning]{background:var(--status-warning-bg);color:var(--status-warning-fg);border-color:var(--status-warning-bd)}.sui-badge[data-status=info]{background:var(--status-info-bg);color:var(--status-info-fg);border-color:var(--status-info-bd)}.sui-avatar{display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);overflow:hidden;flex-shrink:0;background:var(--color-brand-500);color:#fff;font-weight:var(--weight-bold);-webkit-user-select:none;user-select:none}.sui-avatar img{width:100%;height:100%;object-fit:cover}.sui-switch{position:relative;display:inline-block;width:44px;height:24px;border-radius:var(--radius-full);background:var(--surface-raised);border:1px solid var(--surface-border);transition:background var(--transition-base);flex-shrink:0;cursor:pointer;padding:0}.sui-switch[data-checked]{background:var(--color-brand-500);border-color:var(--color-brand-500)}.sui-switch:focus-visible{outline:none;box-shadow:0 0 0 3px var(--interactive-focus-ring)}.sui-switch:disabled{opacity:.5;cursor:not-allowed}.sui-switch__thumb{position:absolute;top:1px;left:1px;width:20px;height:20px;border-radius:var(--radius-full);background:var(--text-muted);transition:left var(--transition-base),background var(--transition-base)}.sui-switch[data-checked] .sui-switch__thumb{left:21px;background:#fff}.sui-skeleton{display:block;background:linear-gradient(90deg,#ffffff0a 25%,#ffffff17 37%,#ffffff0a 63%);background-size:900px 100%;animation:sui-shimmer 1.5s infinite}:root[data-theme=light] .sui-skeleton{background:linear-gradient(90deg,#0000000d 25%,#0000001a 37%,#0000000d 63%);background-size:900px 100%}@keyframes sui-shimmer{0%{background-position:-450px 0}to{background-position:450px 0}}@media (prefers-reduced-motion: reduce){.sui-skeleton{animation:none}}.sui-progressbar{width:100%;border-radius:var(--radius-full);background:var(--surface-inset);overflow:hidden}.sui-progressbar__fill{height:100%;border-radius:inherit;transition:width .3s ease}@media (prefers-reduced-motion: reduce){.sui-progressbar__fill{transition:none}}.sui-formfield{display:flex;flex-direction:column;gap:var(--space-1-5);width:100%}.sui-combobox{position:relative;width:100%}.sui-combobox__trigger{width:100%;min-height:44px;padding:var(--space-2-5) var(--space-8) var(--space-2-5) var(--space-3);border-radius:var(--radius-lg);border:1px solid var(--surface-border);background:var(--surface-raised);color:var(--text-primary);font-size:var(--text-sm);display:flex;align-items:center;gap:var(--space-2);cursor:text;position:relative;transition:border-color var(--transition-base),box-shadow var(--transition-base)}.sui-combobox__trigger:focus-visible,.sui-combobox__trigger:focus-within{outline:none;border-color:var(--interactive-primary);box-shadow:0 0 0 3px var(--interactive-focus-ring)}.sui-combobox__trigger[data-disabled]{opacity:.72;cursor:not-allowed}.sui-combobox__trigger[data-invalid]{border-color:var(--color-rose-400)}.sui-combobox__leading{display:inline-flex;flex-shrink:0}.sui-combobox__value{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sui-combobox__value--empty{color:var(--text-secondary)}.sui-combobox__search{flex:1;min-width:0;border:none;outline:none;background:transparent;color:var(--text-primary);font-size:var(--text-sm);font-family:var(--font-sans);padding:0}.sui-combobox__chev{position:absolute;right:var(--space-3);top:50%;transform:translateY(-50%);pointer-events:none;color:var(--text-secondary);display:inline-flex}.sui-combobox__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:calc(var(--z-dropdown) - 1)}.sui-combobox__list{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:var(--z-dropdown);max-height:230px;overflow-y:auto;background:var(--surface-overlay);border:1px solid var(--surface-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);padding:var(--space-1-5);display:flex;flex-direction:column;gap:2px}.sui-combobox__empty{padding:var(--space-2-5);font-size:var(--text-xs);color:var(--text-secondary);text-align:center}.sui-combobox__option{display:flex;align-items:center;gap:var(--space-2-5);width:100%;padding:var(--space-2) var(--space-2);border-radius:var(--radius-lg);border:none;cursor:pointer;font-size:var(--text-sm);font-weight:var(--weight-semibold);font-family:var(--font-sans);background:transparent;color:var(--text-primary);text-align:left}.sui-combobox__option[data-selected]{background:#5961f724}.sui-combobox__option[data-highlight]{box-shadow:inset 0 0 0 1px var(--color-brand-500)}.sui-combobox__option[data-highlight]:not([data-selected]){background:var(--interactive-outline-hover)}.sui-combobox__option-label{flex:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sui-multiselect{position:relative;width:100%}.sui-multiselect__trigger{width:100%;min-height:44px;padding:7px var(--space-3);border-radius:var(--radius-lg);border:1px solid var(--surface-border);background:var(--surface-raised);color:var(--text-primary);display:flex;align-items:center;gap:var(--space-2);cursor:text;transition:border-color var(--transition-base),box-shadow var(--transition-base)}.sui-multiselect__trigger:focus-visible,.sui-multiselect__trigger:focus-within{outline:none;border-color:var(--interactive-primary);box-shadow:0 0 0 3px var(--interactive-focus-ring)}.sui-multiselect__trigger[data-invalid]{border-color:var(--color-rose-400)}.sui-multiselect__chips{flex:1;min-width:0;display:flex;flex-wrap:wrap;gap:var(--space-1-5);align-items:center;min-height:24px}.sui-multiselect__chip{display:inline-flex;align-items:center;gap:var(--space-1-5);padding:3px var(--space-2);border-radius:7px;font-size:.76rem;font-weight:var(--weight-semibold)}.sui-multiselect__chip-x{background:none;border:none;color:inherit;cursor:pointer;font-size:.95rem;line-height:1;padding:0;opacity:.75}.sui-multiselect__dot{width:7px;height:7px;border-radius:var(--radius-full);flex-shrink:0}.sui-multiselect__dot--lg{width:9px;height:9px}.sui-multiselect__search{flex:1 0 60px;min-width:60px;border:none;outline:none;background:transparent;color:var(--text-primary);font-size:var(--text-sm);font-family:var(--font-sans);padding:0}.sui-multiselect__chev{color:var(--text-secondary);flex-shrink:0;display:inline-flex}.sui-multiselect__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:calc(var(--z-dropdown) - 1)}.sui-multiselect__list{position:fixed;z-index:var(--z-dropdown);max-height:320px;overflow-y:auto;background:var(--surface-overlay);border:1px solid var(--surface-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);padding:var(--space-1-5);display:flex;flex-direction:column;gap:2px}.sui-multiselect__empty{padding:var(--space-2-5);font-size:var(--text-xs);color:var(--text-secondary);text-align:center}.sui-multiselect__option{display:flex;align-items:center;gap:var(--space-2-5);width:100%;padding:var(--space-2) var(--space-2);border-radius:var(--radius-lg);border:none;cursor:pointer;font-size:var(--text-sm);font-weight:var(--weight-semibold);font-family:var(--font-sans);background:transparent;color:var(--text-primary);text-align:left}.sui-multiselect__option[data-checked]{background:#5961f724}.sui-multiselect__option[data-highlight]{box-shadow:inset 0 0 0 1px var(--color-brand-500)}.sui-multiselect__option[data-highlight]:not([data-checked]){background:var(--interactive-outline-hover)}.sui-multiselect__check{width:18px;height:18px;border-radius:5px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--surface-border);background:transparent}.sui-multiselect__option-text{flex:1;min-width:0;overflow:hidden}.sui-multiselect__option-label{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sui-multiselect__option-sub{display:block;font-size:.72rem;font-weight:var(--weight-semibold);color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sui-segmented{display:flex;gap:var(--space-1)}.sui-segmented[data-variant=pill]{padding:var(--space-1);min-height:44px;box-sizing:border-box;border-radius:var(--radius-xl);border:1px solid var(--surface-border);background:var(--surface-raised)}.sui-segmented[data-variant=card]{gap:var(--space-2)}.sui-segmented[data-variant=tab]{display:inline-flex;gap:2px;padding:2px;border-radius:var(--radius-lg);border:1px solid var(--surface-border);background:var(--status-neutral-bg)}.sui-segmented__option{flex:1 1 0;min-width:0;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:none;cursor:pointer;white-space:nowrap;font-family:var(--font-sans);font-size:.8rem;font-weight:var(--weight-semibold);color:var(--text-secondary);background:transparent;transition:background var(--transition-fast),color var(--transition-fast)}.sui-segmented__option:focus-visible{outline:none;box-shadow:0 0 0 3px var(--interactive-focus-ring)}.sui-segmented[data-variant=pill] .sui-segmented__option{padding:7px var(--space-2-5);border-radius:7px}.sui-segmented[data-variant=card] .sui-segmented__option{flex-direction:column;gap:2px;padding:var(--space-2-5) var(--space-1-5);border-radius:var(--radius-xl);border:1px solid var(--surface-border);background:var(--surface-inset);text-align:center}.sui-segmented[data-variant=card] .sui-segmented__option[data-on]{color:var(--text-primary)}.sui-segmented[data-variant=tab] .sui-segmented__option{flex:0 0 auto;padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-size:.82rem}.sui-segmented[data-variant=tab] .sui-segmented__option[data-on]{background:var(--interactive-primary);color:var(--interactive-primary-text)}.sui-segmented[data-variant=tab] .sui-segmented__option:not([data-on]):hover{color:var(--text-primary)}.sui-segmented__dot{width:7px;height:7px;border-radius:var(--radius-full);flex-shrink:0}.sui-segmented__label{overflow:hidden;text-overflow:ellipsis}.sui-segmented__sublabel{font-size:.7rem;font-weight:var(--weight-bold);color:var(--text-muted)}.sui-switchcard{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3-5);padding:var(--space-3-5) var(--space-4);border-radius:var(--radius-xl);border:1px solid var(--surface-border);background:var(--surface-inset);cursor:pointer}.sui-switchcard[data-disabled]{opacity:.6;cursor:not-allowed}.sui-switchcard__text{flex:1;min-width:0}.sui-switchcard__title{font-size:.9rem;font-weight:var(--weight-semibold);color:var(--text-primary)}.sui-switchcard__desc{font-size:.76rem;color:var(--text-secondary);line-height:1.5;margin-top:3px}.sui-moneyinput .sui-input__control{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.sui-moneyinput__currency{font-size:.82rem;font-family:var(--font-mono)}.sui-monthpicker{position:relative;display:inline-block}.sui-monthpicker__bar{display:inline-flex;align-items:center;gap:var(--space-1);background:var(--surface-raised);border:1px solid var(--surface-border);border-radius:var(--radius-full);padding:6px 6px 6px 8px}.sui-monthpicker__label{display:flex;align-items:center;gap:var(--space-2);background:transparent;border:none;padding:6px 8px;border-radius:var(--radius-full);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--weight-semibold);white-space:nowrap;cursor:pointer;transition:background var(--transition-fast)}.sui-monthpicker__label:hover{background:var(--surface-overlay)}.sui-monthpicker__label:focus-visible{outline:none;box-shadow:0 0 0 3px var(--interactive-focus-ring)}.sui-monthpicker__label-text{position:relative;display:inline-block;padding:0 2px;font-variant-numeric:tabular-nums}.sui-monthpicker__label-ghost{visibility:hidden;display:block}.sui-monthpicker__label-value{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;white-space:nowrap}.sui-monthpicker__divider{width:1px;height:18px;background:var(--surface-border);flex-shrink:0}.sui-monthpicker__step{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:none;border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;flex-shrink:0;transition:background var(--transition-fast),color var(--transition-fast)}.sui-monthpicker__step:hover{background:var(--surface-overlay);color:var(--text-primary)}.sui-monthpicker__step:focus-visible{outline:none;box-shadow:0 0 0 3px var(--interactive-focus-ring)}.sui-monthpicker__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:calc(var(--z-dropdown) - 1)}.sui-monthpicker__panel{position:absolute;top:calc(100% + 8px);left:0;z-index:var(--z-dropdown);width:272px;padding:var(--space-5);background:var(--surface-overlay);border:1px solid var(--surface-border);border-radius:var(--radius-2xl);box-shadow:var(--shadow-lg);animation:sui-monthpicker-pop .14s ease}@keyframes sui-monthpicker-pop{0%{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.sui-monthpicker__panel{animation:none}}.sui-monthpicker__yearbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4)}.sui-monthpicker__step--year{width:30px;height:30px}.sui-monthpicker__step--year:hover{background:var(--surface-raised)}.sui-monthpicker__year{font-family:var(--font-mono);font-size:var(--text-lg);font-weight:var(--weight-extrabold);letter-spacing:var(--tracking-tight);color:var(--text-primary);font-variant-numeric:tabular-nums}.sui-monthpicker__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-2)}.sui-monthpicker__month{height:44px;display:flex;align-items:center;justify-content:center;border:none;border-radius:var(--radius-lg);background:transparent;color:var(--text-secondary);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;transition:background .15s ease,color .15s ease}.sui-monthpicker__month:hover{background:var(--surface-raised)}.sui-monthpicker__month:focus-visible{outline:none;box-shadow:0 0 0 3px var(--interactive-focus-ring)}.sui-monthpicker__month[data-current]{color:var(--text-brand)}.sui-monthpicker__month[data-selected]{background:var(--interactive-primary);color:#fff;font-weight:var(--weight-bold)}.sui-monthpicker__month[data-selected]:hover{background:var(--interactive-primary-hover)}.sui-colorpicker{display:flex;flex-direction:column;gap:var(--space-3);width:100%}.sui-colorpicker__swatches{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.sui-colorpicker__swatch{width:34px;height:34px;border-radius:var(--radius-full);padding:0;cursor:pointer;border:none;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:box-shadow .15s ease,transform .15s ease}.sui-colorpicker__swatch:hover{transform:scale(1.1)}.sui-colorpicker__swatch:focus-visible{outline:none;box-shadow:0 0 0 3px var(--interactive-focus-ring)!important}.sui-colorpicker__wheel{width:34px;height:34px;border-radius:var(--radius-full);padding:0;cursor:pointer;border:none;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:conic-gradient(from 0deg,#f7547a,#f59e0b,#facc15,#15b887,#38bdf8,#3b5cf5,#8b5cf6,#ec4899,#f7547a);transition:box-shadow .15s ease,transform .15s ease}.sui-colorpicker__wheel:hover{transform:scale(1.1)}.sui-colorpicker__wheel:focus-visible{outline:none;box-shadow:0 0 0 3px var(--interactive-focus-ring)!important}.sui-colorpicker__wheel-center{width:22px;height:22px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;transition:background .15s ease}.sui-colorpicker__panel{background:var(--surface-raised);border:1px solid var(--surface-border);border-radius:var(--radius-lg);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-4)}.sui-colorpicker__sv{position:relative;width:100%;height:168px;border-radius:10px;cursor:crosshair;touch-action:none;box-shadow:inset 0 0 0 1px #ffffff14}.sui-colorpicker__hue{position:relative;width:100%;height:12px;border-radius:var(--radius-full);cursor:pointer;touch-action:none;background:linear-gradient(to right,red,#ff0 17%,#0f0 33%,#0ff,#00f 67%,#f0f 83%,red);box-shadow:inset 0 0 0 1px #ffffff1a}.sui-colorpicker__knob{position:absolute;width:20px;height:20px;margin:-10px 0 0 -10px;border-radius:var(--radius-full);border:3px solid #fff;box-shadow:0 2px 6px #00000080,0 0 0 1px #0000004d;pointer-events:none}.sui-colorpicker__inputrow{display:flex;align-items:center;gap:var(--space-3)}.sui-colorpicker__preview{width:44px;height:44px;border-radius:var(--radius-lg);flex-shrink:0;transition:box-shadow .2s ease}.sui-colorpicker__field{flex:1;min-width:0;display:flex;align-items:center;background:var(--surface-card);border:1px solid var(--surface-border);border-radius:var(--radius-md);padding:0 var(--space-3);height:40px;transition:border-color var(--transition-base)}.sui-colorpicker__field:focus-within{border-color:var(--interactive-primary)}.sui-colorpicker__prefix{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-muted);-webkit-user-select:none;user-select:none}.sui-colorpicker__hexinput{flex:1;min-width:0;border:none;outline:none;background:transparent;color:var(--text-primary);font-size:var(--text-sm);font-family:var(--font-mono);padding:0 0 0 2px;letter-spacing:.02em}.sui-colorpicker__rgbfields{flex:1;display:flex;align-items:center;justify-content:space-between}.sui-colorpicker__rgbfield-wrap{display:flex;align-items:center;gap:var(--space-1)}.sui-colorpicker__rgbinput{width:34px;border:none;outline:none;background:transparent;color:var(--text-primary);font-size:var(--text-sm);font-family:var(--font-mono);text-align:center;padding:0}.sui-colorpicker__rgbsep{color:var(--text-muted);font-family:var(--font-mono);font-size:var(--text-sm);-webkit-user-select:none;user-select:none}.sui-colorpicker__modetoggle{display:flex;align-items:center;gap:2px;background:var(--surface-card);border:1px solid var(--surface-border);border-radius:var(--radius-md);padding:3px;height:40px;box-sizing:border-box;flex-shrink:0}.sui-colorpicker__modetab{border:none;cursor:pointer;font-family:var(--font-mono);font-size:10px;font-weight:var(--weight-bold);letter-spacing:.08em;padding:0 10px;height:100%;border-radius:calc(var(--radius-md) - 3px);background:transparent;color:var(--text-muted);transition:background .15s ease,color .15s ease}.sui-colorpicker__modetab[data-active]{background:var(--surface-overlay);color:var(--text-primary)}.sui-colorpicker__modetab:focus-visible{outline:none;box-shadow:0 0 0 2px var(--interactive-focus-ring)}.sui-iconpicker{display:flex;flex-direction:column;gap:var(--space-2-5)}.sui-iconpicker__search{width:100%;min-height:38px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-lg);border:1px solid var(--surface-border);background:var(--surface-raised);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--text-sm);outline:none;transition:border-color var(--transition-base),box-shadow var(--transition-base)}.sui-iconpicker__search:focus-visible{border-color:var(--interactive-primary);box-shadow:0 0 0 3px var(--interactive-focus-ring)}.sui-iconpicker__search::placeholder{color:var(--text-muted)}.sui-iconpicker__grid{display:flex;flex-wrap:wrap;gap:var(--space-2)}.sui-iconpicker__grid[data-scroll]{max-height:320px;overflow-y:auto;padding-right:var(--space-1)}.sui-iconpicker__empty{width:100%;padding:var(--space-4);text-align:center;font-size:var(--text-xs);color:var(--text-secondary)}.sui-iconpicker__cell{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-2xl);cursor:pointer;flex-shrink:0;background:var(--surface-inset);border:1px solid var(--surface-border);transition:background var(--transition-fast);padding:0}.sui-iconpicker__cell:hover:not([data-on]){background:var(--interactive-outline-hover)}.sui-iconpicker__cell:focus-visible{outline:none;box-shadow:0 0 0 3px var(--interactive-focus-ring)}.sui-statcard{background:var(--surface-inset);border:1px solid var(--surface-divider);border-radius:var(--radius-xl);padding:var(--space-3-5) var(--space-4)}.sui-statcard--interactive{cursor:pointer;transition:transform var(--transition-fast),border-color var(--transition-fast)}.sui-statcard--interactive:hover{transform:translateY(-1px);border-color:var(--surface-border)}.sui-statcard--interactive:focus-visible{outline:none;box-shadow:0 0 0 3px var(--interactive-focus-ring)}.sui-statcard__head{display:flex;align-items:center;gap:7px;margin-bottom:9px;color:var(--sui-stat-accent, var(--text-secondary))}.sui-statcard__icon{display:inline-flex;flex-shrink:0}.sui-statcard__label{font-size:.72rem;font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:.07em}.sui-statcard__value{font-family:var(--font-mono);font-size:1.4rem;font-weight:var(--weight-bold);letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1;margin-bottom:5px;color:var(--sui-stat-accent, var(--text-primary))}.sui-statcard__sub{font-size:.74rem;color:var(--text-secondary)}.sui-emptystate{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:var(--space-2);padding:var(--space-10) var(--space-5)}.sui-emptystate--dashed{border:1.5px dashed var(--surface-border);border-radius:var(--radius-xl);background:var(--surface-inset)}.sui-emptystate__icon{display:inline-flex;color:var(--text-muted);margin-bottom:var(--space-1)}.sui-emptystate__title{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--text-primary)}.sui-emptystate__desc{font-size:var(--text-xs);color:var(--text-secondary);line-height:1.5;max-width:340px}.sui-emptystate__actions{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-3)}.sui-tooltip{max-width:260px;padding:var(--space-2) var(--space-2-5);background:var(--surface-overlay);border:1px solid var(--surface-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--text-xs);line-height:1.4;z-index:var(--z-toast);animation:sui-tooltip-in .12s ease}.sui-tooltip__arrow{fill:var(--surface-overlay)}@keyframes sui-tooltip-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.sui-tooltip{animation:none}}.sui-card{background:var(--surface-card);border:1px solid var(--surface-border);border-radius:var(--radius-card);box-shadow:var(--shadow-md);overflow:hidden}.sui-card--interactive{cursor:pointer;transition:transform var(--transition-fast),border-color var(--transition-fast)}.sui-card--interactive:hover{transform:translateY(-1px);border-color:var(--interactive-outline-border)}.sui-card__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--surface-divider)}.sui-card__title{margin:0}.sui-card__content{padding:var(--space-6)}.sui-card__footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);padding:var(--space-4) var(--space-6);border-top:1px solid var(--surface-divider)}.sui-modal__overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:var(--z-overlay);animation:sui-modal-fade .15s ease}.sui-modal__content{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:calc(100vw - var(--space-8));max-height:92vh;overflow-y:auto;background:var(--surface-card);border:1px solid var(--surface-border);border-radius:var(--radius-card);box-shadow:var(--shadow-xl);z-index:var(--z-modal);animation:sui-modal-pop .16s ease}.sui-modal__content:focus{outline:none}.sui-modal__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);padding:var(--space-5) var(--space-6) var(--space-4);border-bottom:1px solid var(--surface-divider)}.sui-modal__title{margin:0;font-family:var(--font-sans);font-size:var(--text-lg);font-weight:var(--weight-bold);color:var(--text-primary)}.sui-modal__desc{margin:var(--space-1) 0 0;font-size:var(--text-sm);color:var(--text-secondary)}.sui-modal__close{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:var(--radius-lg);background:transparent;color:var(--text-secondary);cursor:pointer;flex-shrink:0;transition:background var(--transition-base),color var(--transition-base)}.sui-modal__close:hover{background:var(--interactive-outline-hover);color:var(--text-primary)}.sui-modal__close:focus-visible{outline:none;box-shadow:0 0 0 3px var(--interactive-focus-ring)}.sui-modal__body{padding:var(--space-6)}.sui-modal__footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);padding:var(--space-4) var(--space-6);border-top:1px solid var(--surface-divider)}@keyframes sui-modal-fade{0%{opacity:0}to{opacity:1}}@keyframes sui-modal-pop{0%{opacity:0;transform:translate(-50%,-48%) scale(.98)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@media (prefers-reduced-motion: reduce){.sui-modal__overlay,.sui-modal__content{animation:none}}.sui-confirm__overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:var(--z-overlay)}.sui-confirm{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:calc(100vw - var(--space-8));max-width:400px;background:var(--surface-card);border:1px solid var(--surface-border);border-radius:var(--radius-card);box-shadow:var(--shadow-xl);padding:var(--space-6);z-index:var(--z-modal)}.sui-confirm:focus{outline:none}.sui-confirm__head{display:flex;align-items:flex-start;gap:var(--space-3-5)}.sui-confirm__title{margin:0 0 5px;font-size:1.1rem;font-weight:var(--weight-bold);color:var(--text-primary);font-family:var(--font-sans)}.sui-confirm__message{margin:0;font-size:.86rem;color:var(--text-secondary);line-height:1.5}.sui-confirm__error{margin-top:var(--space-3-5);font-size:var(--text-xs);color:var(--status-error-fg);background:var(--status-error-bg);border:1px solid var(--status-error-bd);border-radius:var(--radius-lg);padding:9px var(--space-3)}.sui-confirm__actions{display:flex;gap:var(--space-2-5);margin-top:var(--space-5)}.sui-menu__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:calc(var(--z-dropdown) - 1)}.sui-menu{position:fixed;z-index:var(--z-dropdown);min-width:210px;max-height:60vh;overflow-y:auto;padding:var(--space-1-5);background:var(--surface-overlay);border:1px solid var(--surface-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;gap:2px}.sui-menu__sep{height:1px;background:var(--surface-divider);margin:5px 0}.sui-menu__item{display:flex;align-items:center;gap:var(--space-2-5);width:100%;padding:9px 13px;background:transparent;border:none;border-radius:var(--radius-lg);text-align:left;font-size:var(--text-sm);font-weight:var(--weight-medium);font-family:var(--font-sans);cursor:pointer;color:var(--text-primary)}.sui-menu__item:hover,.sui-menu__item:focus-visible{background:var(--interactive-outline-hover)}.sui-menu__item[data-danger]{color:var(--status-error-fg)}.sui-menu__item[data-danger]:hover,.sui-menu__item[data-danger]:focus-visible{background:var(--status-error-bg)}.sui-menu__item:focus-visible{outline:none;box-shadow:inset 0 0 0 1px var(--color-brand-500)}.sui-datatable{background:var(--surface-card);border:1px solid var(--surface-border);border-radius:var(--radius-card);overflow:hidden;font-family:var(--font-sans)}.sui-datatable__toolbar{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;padding:var(--space-3-5) var(--space-4);border-bottom:1px solid var(--surface-divider)}.sui-datatable__title{margin:0 4px 0 0;font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--text-primary)}.sui-datatable__pagesize{display:flex;align-items:center;gap:var(--space-2);font-size:13px;color:var(--text-secondary)}.sui-datatable__pagesize-btn{display:inline-flex;align-items:center;gap:var(--space-1-5);background:var(--surface-inset);color:var(--text-primary);border:1px solid var(--surface-border);border-radius:var(--radius-md);padding:6px 8px 6px 11px;font-size:13px;font-family:var(--font-sans);font-weight:var(--weight-semibold);cursor:pointer}.sui-datatable__search{display:flex;align-items:center;gap:var(--space-2);height:34px;padding:0 var(--space-3);border-radius:var(--radius-full);border:1px solid var(--surface-border);background:var(--surface-inset);min-width:180px;flex:0 1 240px;transition:border-color var(--transition-base),box-shadow var(--transition-base)}.sui-datatable__search:focus-within{border-color:var(--interactive-primary);box-shadow:0 0 0 3px var(--interactive-focus-ring)}.sui-datatable__search input{border:none;background:transparent;outline:none;color:var(--text-primary);font-family:var(--font-sans);font-size:13px;width:100%}.sui-datatable__actions{margin-left:auto;display:flex;gap:var(--space-2);align-items:center}.sui-datatable__bulkbar{display:flex;align-items:center;gap:var(--space-3);padding:9px var(--space-4);background:var(--status-info-bg);border-bottom:1px solid var(--surface-divider)}.sui-datatable__bulkcount{font-size:13px;font-weight:var(--weight-semibold);color:var(--text-primary)}.sui-datatable__bulkactions{margin-left:auto;display:flex;gap:var(--space-2)}.sui-datatable__scroll{overflow-x:auto}.sui-datatable table{width:100%;border-collapse:collapse}.sui-datatable thead{border-bottom:1px solid var(--surface-divider)}.sui-datatable__th{text-align:left;padding:11px var(--space-4);font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary);white-space:nowrap;-webkit-user-select:none;user-select:none}.sui-datatable__th[data-align=right]{text-align:right}.sui-datatable__th[data-sortable]{cursor:pointer}.sui-datatable__th--check{width:40px}.sui-datatable__th-inner{display:inline-flex;align-items:center;gap:var(--space-1)}.sui-datatable__sort{font-size:9px;color:var(--text-muted);opacity:.5}.sui-datatable__sort[data-active]{color:var(--text-brand);opacity:1}.sui-datatable__row{border-bottom:1px solid var(--surface-divider);transition:background var(--transition-fast)}.sui-datatable__row[data-clickable]{cursor:pointer}.sui-datatable__row:hover{background:#ffffff06}.sui-datatable__row[data-selected]{background:#5961f71a}.sui-datatable__row[data-selected]:hover{background:#5961f729}:root[data-theme=light] .sui-datatable__row:hover{background:#00000005}.sui-datatable__td{padding:var(--space-2) var(--space-4);font-size:var(--text-sm);color:var(--text-primary);white-space:nowrap}.sui-datatable__td[data-align=right]{text-align:right}.sui-datatable input[type=checkbox]{accent-color:var(--color-brand-500);cursor:pointer}.sui-datatable__empty{padding:var(--space-12) var(--space-4);text-align:center;color:var(--text-muted);font-size:13px}.sui-datatable__footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:11px var(--space-4);border-top:1px solid var(--surface-divider)}.sui-datatable__range{font-size:var(--text-xs);color:var(--text-secondary)}.sui-datatable__pager{display:flex;align-items:center;gap:var(--space-1-5)}.sui-datatable__pager button{width:28px;height:28px;border-radius:var(--radius-md);border:1px solid var(--surface-border);background:transparent;color:var(--text-primary);cursor:pointer}.sui-datatable__pager button:disabled{cursor:not-allowed;opacity:.4}.sui-datatable__pageinfo{font-size:var(--text-xs);color:var(--text-secondary);padding:0 var(--space-1-5);font-variant-numeric:tabular-nums}.sui-page{width:100%;max-width:var(--sui-page-max, 1280px);margin:0 auto;padding:var(--space-6) var(--space-8) var(--space-16)}@media (max-width: 640px){.sui-page{padding:var(--space-5) var(--space-4) var(--space-12)}}.sui-appshell{display:grid;grid-template-columns:220px 1fr;grid-template-rows:56px 1fr;grid-template-areas:"topbar topbar" "sidebar content";width:100%;height:100vh;overflow:hidden;background:var(--surface-bg)}.sui-appshell[data-collapsed]{grid-template-columns:66px 1fr}.sui-appshell[data-mobile]{grid-template-columns:1fr;grid-template-areas:"topbar" "content"}.sui-appshell__topbar{grid-area:topbar;display:flex;align-items:center;gap:var(--space-3);height:56px;padding:0 var(--space-3-5);background:var(--surface-topbar);border-bottom:1px solid var(--surface-border);z-index:30;position:relative}.sui-appshell__topbar-start{display:flex;align-items:center;gap:var(--space-3);flex:1;min-width:0}.sui-appshell__logo{display:flex;align-items:center;-webkit-user-select:none;user-select:none}.sui-appshell__topbar-center{display:flex;align-items:center;gap:var(--space-2-5);flex-shrink:0}.sui-appshell__topbar-end{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2-5);flex:1;min-width:0}.sui-appshell__sidebar{grid-area:sidebar;display:flex;flex-direction:column;overflow:hidden;background:var(--surface-sidebar);border-right:1px solid var(--surface-border);padding:var(--space-4) var(--space-3)}.sui-appshell[data-mobile] .sui-appshell__sidebar{position:fixed;left:0;top:56px;bottom:0;width:250px;z-index:25;transform:translate(-102%);transition:transform var(--transition-base)}.sui-appshell[data-mobile] .sui-appshell__sidebar[data-open]{transform:none;box-shadow:var(--shadow-xl)}.sui-appshell__search{display:flex;align-items:center;gap:var(--space-2);height:36px;padding:0 var(--space-2-5);margin-bottom:var(--space-3-5);border:1px solid var(--surface-border);border-radius:10px;background:var(--surface-inset);flex-shrink:0;transition:border-color var(--transition-base),box-shadow var(--transition-base)}.sui-appshell__search:focus-within{border-color:var(--interactive-primary);box-shadow:0 0 0 3px var(--interactive-focus-ring)}.sui-appshell__search input{flex:1;min-width:0;border:none;outline:none;background:transparent;color:var(--text-primary);font-family:var(--font-sans);font-size:13px}.sui-appshell__search input::placeholder{color:var(--text-muted)}.sui-appshell__nav{flex:1;overflow-y:auto;overflow-x:hidden}.sui-appshell__navgroup{margin-bottom:var(--space-4)}.sui-appshell__navlabel{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-secondary);margin:0 0 var(--space-1-5) 9px;font-weight:var(--weight-bold);white-space:nowrap}.sui-appshell__navitem{display:flex;align-items:center;gap:11px;justify-content:flex-start;padding:var(--space-2) 11px;width:100%;border-radius:9px;cursor:pointer;color:var(--text-secondary);text-align:left;font-size:13.5px;font-weight:var(--weight-medium);font-family:var(--font-sans);border:none;background:transparent;white-space:nowrap;margin-bottom:2px;transition:background var(--transition-fast),color var(--transition-fast)}.sui-appshell__navitem[data-icon-only]{gap:0;justify-content:center;padding:9px 0}.sui-appshell__navitem:hover:not([data-active]){background:var(--interactive-outline-hover);color:var(--text-primary)}.sui-appshell__navitem[data-active]{color:var(--text-primary);font-weight:var(--weight-semibold);background:#5961f724}.sui-appshell__navitem:focus-visible{outline:none;box-shadow:0 0 0 3px var(--interactive-focus-ring)}.sui-appshell__navicon{display:inline-flex;flex-shrink:0}.sui-appshell__sidebar-footer{border-top:1px solid var(--surface-divider);padding-top:var(--space-2-5);margin-top:var(--space-1-5)}.sui-appshell__content{grid-area:content;overflow-y:auto}.sui-appshell__scrim{position:fixed;top:56px;right:0;bottom:0;left:0;background:#0000008c;z-index:20}.sui-pageheader{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;margin-bottom:var(--space-5)}.sui-pageheader__text{min-width:0}.sui-pageheader__eyebrow{display:block;font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--text-secondary);font-weight:var(--weight-bold);margin-bottom:var(--space-1-5)}.sui-pageheader__title{font-size:2rem;font-weight:var(--weight-extrabold);letter-spacing:-.03em;line-height:1;margin:0;color:var(--text-primary)}.sui-pageheader__desc{margin:var(--space-2) 0 0;font-size:var(--text-sm);color:var(--text-secondary);line-height:1.5}.sui-pageheader__actions{display:flex;align-items:center;gap:var(--space-2-5);flex-shrink:0}:root{--color-brand-25: #f4f5ff;--color-brand-50: #eceefe;--color-brand-100: #dcdffe;--color-brand-200: #bcc0fc;--color-brand-300: #969cfa;--color-brand-400: #7c82f9;--color-brand-500: #5961f7;--color-brand-600: #4850e0;--color-brand-700: #3a41c4;--color-brand-800: #2f35a0;--color-brand-900: #2a3080;--color-brand-950: #191c4d;--color-green-25: #f0fdf9;--color-green-50: #dcfcef;--color-green-100: #b9f7de;--color-green-200: #85edc6;--color-green-300: #4fdcab;--color-green-400: #15803d;--color-green-500: #166534;--color-green-600: #14532d;--color-green-700: #0f3d21;--color-green-800: #0b2d18;--color-green-900: #06210f;--color-rose-25: #fff5f7;--color-rose-50: #ffe9ee;--color-rose-100: #ffd3dc;--color-rose-200: #feacbd;--color-rose-300: #fc7f99;--color-rose-400: #e11d48;--color-rose-500: #c81e1e;--color-rose-600: #b91c1c;--color-rose-700: #991b1b;--color-rose-800: #7f1d1d;--color-rose-900: #661010;--color-warning-50: #fffaeb;--color-warning-100: #fef0c7;--color-warning-300: #fec84b;--color-warning-400: #fdb022;--color-warning-500: #f59e0b;--color-warning-600: #d97706;--color-warning-700: #b45309;--color-info-50: #ecf9ff;--color-info-100: #d5f1ff;--color-info-300: #7ad4fb;--color-info-400: #38bdf8;--color-info-500: #0ea5e9;--color-info-600: #0284c7;--color-info-700: #0369a1;--color-gray-25: #fbfbfb;--color-gray-50: #f6f6f7;--color-gray-100: #ececee;--color-gray-200: #d5d6da;--color-gray-300: #b1b3ba;--color-gray-400: #8a8d96;--color-gray-500: #676a73;--color-gray-600: #4b4d55;--color-gray-700: #33353b;--color-gray-800: #232323;--color-gray-900: #1c1c1c;--color-gray-950: #161616;--space-0: 0px;--space-0-5: 2px;--space-1: 4px;--space-1-5: 6px;--space-2: 8px;--space-2-5: 10px;--space-3: 12px;--space-3-5: 14px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 28px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--radius-2xl: 16px;--radius-card: 18px;--radius-full: 9999px;--font-sans: "Roboto", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", "Cascadia Code", "Consolas", monospace;--text-title-lg: 48px;--text-title-md: 36px;--text-title-sm: 30px;--text-xl: 20px;--text-lg: 18px;--text-base: 16px;--text-sm: 14px;--text-xs: 12px;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--weight-extrabold: 800;--tracking-tight: -.02em;--tracking-wide: .02em;--tracking-widest: .1em;--z-overlay: 1100;--z-modal: 1200;--z-dropdown: 1250;--z-toast: 1300;--transition-fast: .12s ease;--transition-base: .2s ease-in-out}:root,:root[data-theme=dark]{--surface-bg: #181818;--surface-sidebar: #161616;--surface-topbar: #1f1f1f;--surface-card: #1c1c1c;--surface-raised: #232323;--surface-overlay: #262626;--surface-inset: rgba(255, 255, 255, .04);--surface-border: rgba(255, 255, 255, .1);--surface-divider: rgba(255, 255, 255, .06);--text-primary: rgba(255, 255, 255, .87);--text-secondary: rgba(255, 255, 255, .55);--text-muted: rgba(255, 255, 255, .4);--text-inverse: #181818;--text-brand: #7c82f9;--text-success: #4fdcab;--text-error: #fca5a5;--text-warning: #f59e0b;--text-info: #38bdf8;--interactive-primary: #5961f7;--interactive-primary-hover: #4850e0;--interactive-primary-text: #ffffff;--interactive-outline-border: rgba(255, 255, 255, .14);--interactive-outline-hover: rgba(255, 255, 255, .06);--interactive-focus-ring: rgba(89, 97, 247, .35);--status-success-bg: rgba(10, 114, 2, .16);--status-success-fg: #4fdcab;--status-success-bd: rgba(10, 114, 2, .3);--status-error-bg: rgba(247, 84, 122, .16);--status-error-fg: #fca5a5;--status-error-bd: rgba(247, 84, 122, .28);--status-warning-bg: rgba(245, 158, 11, .16);--status-warning-fg: #fcd34d;--status-warning-bd: rgba(250, 204, 21, .28);--status-info-bg: rgba(37, 99, 235, .18);--status-info-fg: #9fc1ff;--status-info-bd: rgba(96, 165, 250, .36);--status-neutral-bg: rgba(255, 255, 255, .06);--status-neutral-fg: rgba(255, 255, 255, .55);--shadow-sm: 0px 1px 3px 0px rgba(0, 0, 0, .25), 0px 1px 2px 0px rgba(0, 0, 0, .15);--shadow-md: 0px 4px 8px -2px rgba(0, 0, 0, .3), 0px 2px 4px -2px rgba(0, 0, 0, .2);--shadow-lg: 0px 12px 16px -4px rgba(0, 0, 0, .35), 0px 4px 6px -2px rgba(0, 0, 0, .15);--shadow-xl: 0px 20px 24px -4px rgba(0, 0, 0, .4), 0px 8px 8px -4px rgba(0, 0, 0, .2);--scrollbar-thumb: rgba(255, 255, 255, .12);--scrollbar-thumb-hover: rgba(255, 255, 255, .2)}:root[data-theme=light]{--surface-bg: #f6f6f7;--surface-sidebar: #ffffff;--surface-topbar: #ffffff;--surface-card: #ffffff;--surface-raised: #ffffff;--surface-overlay: #ffffff;--surface-inset: rgba(0, 0, 0, .03);--surface-border: rgba(0, 0, 0, .12);--surface-divider: rgba(0, 0, 0, .08);--text-primary: rgba(20, 20, 22, .92);--text-secondary: rgba(20, 20, 22, .6);--text-muted: rgba(20, 20, 22, .42);--text-inverse: #ffffff;--text-brand: #4850e0;--text-success: #166534;--text-error: #b91c1c;--text-warning: #b45309;--text-info: #0369a1;--interactive-primary: #5961f7;--interactive-primary-hover: #4850e0;--interactive-primary-text: #ffffff;--interactive-outline-border: rgba(0, 0, 0, .14);--interactive-outline-hover: rgba(0, 0, 0, .04);--interactive-focus-ring: rgba(89, 97, 247, .3);--status-success-bg: rgba(22, 101, 52, .12);--status-success-fg: #166534;--status-success-bd: rgba(22, 101, 52, .24);--status-error-bg: rgba(185, 28, 28, .1);--status-error-fg: #b91c1c;--status-error-bd: rgba(185, 28, 28, .24);--status-warning-bg: rgba(245, 158, 11, .14);--status-warning-fg: #b45309;--status-warning-bd: rgba(245, 158, 11, .3);--status-info-bg: rgba(14, 165, 233, .12);--status-info-fg: #0369a1;--status-info-bd: rgba(14, 165, 233, .3);--status-neutral-bg: rgba(0, 0, 0, .05);--status-neutral-fg: rgba(20, 20, 22, .6);--shadow-sm: 0px 1px 3px 0px rgba(0, 0, 0, .08), 0px 1px 2px 0px rgba(0, 0, 0, .06);--shadow-md: 0px 4px 8px -2px rgba(0, 0, 0, .1), 0px 2px 4px -2px rgba(0, 0, 0, .06);--shadow-lg: 0px 12px 16px -4px rgba(0, 0, 0, .12), 0px 4px 6px -2px rgba(0, 0, 0, .06);--shadow-xl: 0px 20px 24px -4px rgba(0, 0, 0, .14), 0px 8px 8px -4px rgba(0, 0, 0, .08);--scrollbar-thumb: rgba(0, 0, 0, .2);--scrollbar-thumb-hover: rgba(0, 0, 0, .32)}*,*:before,*:after{box-sizing:border-box}.sui-root,[data-sui-theme]{font-family:var(--font-sans);color:var(--text-primary)}button,input,select,textarea{font-family:inherit;font-size:100%}*{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) transparent}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}
|
|
1
|
+
.sui-icon{fill:none;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.sui-icon-img{display:block;flex-shrink:0;object-fit:cover}.sui-iconbox{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.sui-spinner{display:inline-block;width:var(--sui-spinner-size, 16px);height:var(--sui-spinner-size, 16px);border:2px solid currentColor;border-right-color:transparent;border-radius:var(--radius-full);animation:sui-spin .6s linear infinite;flex-shrink:0}@keyframes sui-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.sui-spinner{animation-duration:1.5s}}.sui-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);border:1px solid transparent;border-radius:var(--radius-md);font-family:var(--font-sans);font-weight:var(--weight-semibold);line-height:1;white-space:nowrap;cursor:pointer;transition:background var(--transition-base),border-color var(--transition-base),color var(--transition-base),opacity var(--transition-base);position:relative}.sui-btn--full{width:100%}.sui-btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--interactive-focus-ring)}.sui-btn:disabled{cursor:not-allowed;opacity:.55}.sui-btn__icon{display:inline-flex;flex-shrink:0}.sui-btn[data-size=sm]{height:32px;padding:0 var(--space-3);font-size:var(--text-xs)}.sui-btn[data-size=md]{height:40px;padding:0 var(--space-4);font-size:var(--text-sm)}.sui-btn[data-size=lg]{height:48px;padding:0 var(--space-5);font-size:var(--text-base)}.sui-btn[data-variant=primary]{background:var(--interactive-primary);border-color:var(--interactive-primary);color:var(--interactive-primary-text)}.sui-btn[data-variant=primary]:not(:disabled):hover{background:var(--interactive-primary-hover);border-color:var(--interactive-primary-hover)}.sui-btn[data-variant=secondary]{background:var(--surface-raised);border-color:var(--interactive-outline-border);color:var(--text-primary)}.sui-btn[data-variant=secondary]:not(:disabled):hover{background:var(--interactive-outline-hover)}.sui-btn[data-variant=success]{background:var(--color-green-400);border-color:var(--color-green-400);color:#fff}.sui-btn[data-variant=success]:not(:disabled):hover{filter:brightness(1.08)}.sui-btn[data-variant=danger]{background:var(--color-rose-600);border-color:var(--color-rose-600);color:#fff}.sui-btn[data-variant=danger]:not(:disabled):hover{filter:brightness(1.08)}.sui-btn[data-variant=ghost]{background:transparent;border-color:transparent;color:var(--text-secondary)}.sui-btn[data-variant=ghost]:not(:disabled):hover{background:var(--interactive-outline-hover);color:var(--text-primary)}.sui-iconbtn{display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;background:transparent;color:var(--text-primary);cursor:pointer;flex-shrink:0;transition:background var(--transition-base),color var(--transition-base)}.sui-iconbtn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--interactive-focus-ring)}.sui-iconbtn:disabled{cursor:not-allowed;opacity:.5}.sui-iconbtn[data-size=sm]{width:28px;height:28px}.sui-iconbtn[data-size=md]{width:34px;height:34px}.sui-iconbtn[data-size=lg]{width:40px;height:40px}.sui-iconbtn[data-shape=square]{border-radius:var(--radius-lg)}.sui-iconbtn[data-shape=circle]{border-radius:var(--radius-full)}.sui-iconbtn[data-variant=ghost]:not(:disabled):hover{background:var(--interactive-outline-hover)}.sui-iconbtn[data-variant=outline]{border-color:var(--surface-border);background:var(--surface-inset)}.sui-iconbtn[data-variant=outline]:not(:disabled):hover{background:var(--interactive-outline-hover)}.sui-iconbtn[data-variant=primary]{background:var(--interactive-primary);color:var(--interactive-primary-text)}.sui-iconbtn[data-variant=primary]:not(:disabled):hover{background:var(--interactive-primary-hover)}.sui-input{display:flex;align-items:center;width:100%;background:var(--surface-raised);border:1px solid var(--surface-border);border-radius:var(--radius-lg);color:var(--text-primary);transition:border-color var(--transition-base),box-shadow var(--transition-base)}.sui-input:focus-within{border-color:var(--interactive-primary);box-shadow:0 0 0 3px var(--interactive-focus-ring)}.sui-input[data-invalid]{border-color:var(--color-rose-400)}.sui-input[data-invalid]:focus-within{box-shadow:0 0 0 3px var(--status-error-bd)}.sui-input[data-disabled]{opacity:.6;cursor:not-allowed}.sui-input__control{flex:1;min-width:0;width:100%;border:none;outline:none;background:transparent;color:inherit;font-family:var(--font-sans)}.sui-input__control::placeholder{color:var(--text-muted)}.sui-input__control:disabled{cursor:not-allowed}.sui-input__addon{display:inline-flex;align-items:center;color:var(--text-secondary);flex-shrink:0}.sui-input[data-size=sm]{min-height:36px;padding:0 var(--space-3);font-size:var(--text-xs)}.sui-input[data-size=md]{min-height:44px;padding:0 var(--space-3);font-size:var(--text-sm)}.sui-input[data-size=lg]{min-height:48px;padding:0 var(--space-4);font-size:var(--text-base)}.sui-input__control{padding:var(--space-2-5) var(--space-1)}.sui-input__addon--left{padding-right:var(--space-2)}.sui-input__addon--right{padding-left:var(--space-2)}.sui-text{font-family:var(--font-sans);margin:0}.sui-text--mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.sui-text--truncate{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sui-text[data-size=xs]{font-size:var(--text-xs);line-height:1.4}.sui-text[data-size=sm]{font-size:var(--text-sm);line-height:1.45}.sui-text[data-size=base]{font-size:var(--text-base);line-height:1.5}.sui-text[data-size=lg]{font-size:var(--text-lg);line-height:1.5}.sui-text[data-size=xl]{font-size:var(--text-xl);line-height:1.5}.sui-text[data-weight=regular]{font-weight:var(--weight-regular)}.sui-text[data-weight=medium]{font-weight:var(--weight-medium)}.sui-text[data-weight=semibold]{font-weight:var(--weight-semibold)}.sui-text[data-weight=bold]{font-weight:var(--weight-bold)}.sui-text[data-tone=primary]{color:var(--text-primary)}.sui-text[data-tone=secondary]{color:var(--text-secondary)}.sui-text[data-tone=muted]{color:var(--text-muted)}.sui-text[data-tone=brand]{color:var(--text-brand)}.sui-text[data-tone=success]{color:var(--text-success)}.sui-text[data-tone=error]{color:var(--text-error)}.sui-text[data-tone=warning]{color:var(--text-warning)}.sui-text[data-align=start]{text-align:left}.sui-text[data-align=center]{text-align:center}.sui-text[data-align=end]{text-align:right}.sui-heading{font-family:var(--font-sans);color:var(--text-primary);margin:0;letter-spacing:var(--tracking-tight)}.sui-heading[data-level="1"]{font-size:var(--text-title-md);font-weight:var(--weight-extrabold);line-height:1.15}.sui-heading[data-level="2"]{font-size:var(--text-title-sm);font-weight:var(--weight-bold);line-height:1.2}.sui-heading[data-level="3"]{font-size:var(--text-xl);font-weight:var(--weight-bold);line-height:1.3}.sui-heading[data-level="4"]{font-size:var(--text-lg);font-weight:var(--weight-semibold);line-height:1.35}.sui-label{display:inline-flex;align-items:center;gap:var(--space-1);font-family:var(--font-sans);font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--text-primary)}.sui-label__required{color:var(--text-error)}.sui-badge{display:inline-flex;align-items:center;gap:var(--space-1-5);border:1px solid transparent;border-radius:var(--radius-full);font-family:var(--font-sans);font-weight:var(--weight-bold);white-space:nowrap;line-height:1}.sui-badge__dot{width:6px;height:6px;border-radius:var(--radius-full);background:currentColor;flex-shrink:0}.sui-badge__icon{display:inline-flex;flex-shrink:0}.sui-badge[data-size=sm]{padding:2px var(--space-2);font-size:11px}.sui-badge[data-size=md]{padding:3px var(--space-2-5);font-size:var(--text-xs)}.sui-badge[data-status=neutral]{background:var(--status-neutral-bg);color:var(--status-neutral-fg);border-color:var(--surface-border)}.sui-badge[data-status=brand]{background:#5961f729;color:var(--text-brand);border-color:#5961f74d}.sui-badge[data-status=success]{background:var(--status-success-bg);color:var(--status-success-fg);border-color:var(--status-success-bd)}.sui-badge[data-status=error]{background:var(--status-error-bg);color:var(--status-error-fg);border-color:var(--status-error-bd)}.sui-badge[data-status=warning]{background:var(--status-warning-bg);color:var(--status-warning-fg);border-color:var(--status-warning-bd)}.sui-badge[data-status=info]{background:var(--status-info-bg);color:var(--status-info-fg);border-color:var(--status-info-bd)}.sui-avatar{display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);overflow:hidden;flex-shrink:0;background:var(--color-brand-500);color:#fff;font-weight:var(--weight-bold);-webkit-user-select:none;user-select:none}.sui-avatar img{width:100%;height:100%;object-fit:cover}.sui-switch{position:relative;display:inline-block;width:44px;height:24px;border-radius:var(--radius-full);background:var(--surface-raised);border:1px solid var(--surface-border);transition:background var(--transition-base);flex-shrink:0;cursor:pointer;padding:0}.sui-switch[data-checked]{background:var(--color-brand-500);border-color:var(--color-brand-500)}.sui-switch:focus-visible{outline:none;box-shadow:0 0 0 3px var(--interactive-focus-ring)}.sui-switch:disabled{opacity:.5;cursor:not-allowed}.sui-switch__thumb{position:absolute;top:1px;left:1px;width:20px;height:20px;border-radius:var(--radius-full);background:var(--text-muted);transition:left var(--transition-base),background var(--transition-base)}.sui-switch[data-checked] .sui-switch__thumb{left:21px;background:#fff}.sui-skeleton{display:block;background:linear-gradient(90deg,#ffffff0a 25%,#ffffff17 37%,#ffffff0a 63%);background-size:900px 100%;animation:sui-shimmer 1.5s infinite}:root[data-theme=light] .sui-skeleton{background:linear-gradient(90deg,#0000000d 25%,#0000001a 37%,#0000000d 63%);background-size:900px 100%}@keyframes sui-shimmer{0%{background-position:-450px 0}to{background-position:450px 0}}@media (prefers-reduced-motion: reduce){.sui-skeleton{animation:none}}.sui-progressbar{width:100%;border-radius:var(--radius-full);background:var(--surface-inset);overflow:hidden}.sui-progressbar__fill{height:100%;border-radius:inherit;transition:width .3s ease}@media (prefers-reduced-motion: reduce){.sui-progressbar__fill{transition:none}}.sui-formfield{display:flex;flex-direction:column;gap:var(--space-1-5);width:100%}.sui-combobox{position:relative;width:100%}.sui-combobox__trigger{width:100%;min-height:44px;padding:var(--space-2-5) var(--space-8) var(--space-2-5) var(--space-3);border-radius:var(--radius-lg);border:1px solid var(--surface-border);background:var(--surface-raised);color:var(--text-primary);font-size:var(--text-sm);display:flex;align-items:center;gap:var(--space-2);cursor:text;position:relative;transition:border-color var(--transition-base),box-shadow var(--transition-base)}.sui-combobox__trigger:focus-visible,.sui-combobox__trigger:focus-within{outline:none;border-color:var(--interactive-primary);box-shadow:0 0 0 3px var(--interactive-focus-ring)}.sui-combobox__trigger[data-disabled]{opacity:.72;cursor:not-allowed}.sui-combobox__trigger[data-invalid]{border-color:var(--color-rose-400)}.sui-combobox__leading{display:inline-flex;flex-shrink:0}.sui-combobox__value{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sui-combobox__value--empty{color:var(--text-secondary)}.sui-combobox__search{flex:1;min-width:0;border:none;outline:none;background:transparent;color:var(--text-primary);font-size:var(--text-sm);font-family:var(--font-sans);padding:0}.sui-combobox__chev{position:absolute;right:var(--space-3);top:50%;transform:translateY(-50%);pointer-events:none;color:var(--text-secondary);display:inline-flex}.sui-combobox__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:calc(var(--z-dropdown) - 1)}.sui-combobox__list{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:var(--z-dropdown);max-height:230px;overflow-y:auto;background:var(--surface-overlay);border:1px solid var(--surface-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);padding:var(--space-1-5);display:flex;flex-direction:column;gap:2px}.sui-combobox__empty{padding:var(--space-2-5);font-size:var(--text-xs);color:var(--text-secondary);text-align:center}.sui-combobox__option{display:flex;align-items:center;gap:var(--space-2-5);width:100%;padding:var(--space-2) var(--space-2);border-radius:var(--radius-lg);border:none;cursor:pointer;font-size:var(--text-sm);font-weight:var(--weight-semibold);font-family:var(--font-sans);background:transparent;color:var(--text-primary);text-align:left}.sui-combobox__option[data-selected]{background:#5961f724}.sui-combobox__option[data-highlight]{box-shadow:inset 0 0 0 1px var(--color-brand-500)}.sui-combobox__option[data-highlight]:not([data-selected]){background:var(--interactive-outline-hover)}.sui-combobox__option-label{flex:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sui-multiselect{position:relative;width:100%}.sui-multiselect__trigger{width:100%;min-height:44px;padding:7px var(--space-3);border-radius:var(--radius-lg);border:1px solid var(--surface-border);background:var(--surface-raised);color:var(--text-primary);display:flex;align-items:center;gap:var(--space-2);cursor:text;transition:border-color var(--transition-base),box-shadow var(--transition-base)}.sui-multiselect__trigger:focus-visible,.sui-multiselect__trigger:focus-within{outline:none;border-color:var(--interactive-primary);box-shadow:0 0 0 3px var(--interactive-focus-ring)}.sui-multiselect__trigger[data-invalid]{border-color:var(--color-rose-400)}.sui-multiselect__chips{flex:1;min-width:0;display:flex;flex-wrap:wrap;gap:var(--space-1-5);align-items:center;min-height:24px}.sui-multiselect__chip{display:inline-flex;align-items:center;gap:var(--space-1-5);padding:3px var(--space-2);border-radius:7px;font-size:.76rem;font-weight:var(--weight-semibold)}.sui-multiselect__chip-x{background:none;border:none;color:inherit;cursor:pointer;font-size:.95rem;line-height:1;padding:0;opacity:.75}.sui-multiselect__dot{width:7px;height:7px;border-radius:var(--radius-full);flex-shrink:0}.sui-multiselect__dot--lg{width:9px;height:9px}.sui-multiselect__search{flex:1 0 60px;min-width:60px;border:none;outline:none;background:transparent;color:var(--text-primary);font-size:var(--text-sm);font-family:var(--font-sans);padding:0}.sui-multiselect__chev{color:var(--text-secondary);flex-shrink:0;display:inline-flex}.sui-multiselect__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:calc(var(--z-dropdown) - 1)}.sui-multiselect__list{position:fixed;z-index:var(--z-dropdown);max-height:320px;overflow-y:auto;background:var(--surface-overlay);border:1px solid var(--surface-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);padding:var(--space-1-5);display:flex;flex-direction:column;gap:2px}.sui-multiselect__empty{padding:var(--space-2-5);font-size:var(--text-xs);color:var(--text-secondary);text-align:center}.sui-multiselect__option{display:flex;align-items:center;gap:var(--space-2-5);width:100%;padding:var(--space-2) var(--space-2);border-radius:var(--radius-lg);border:none;cursor:pointer;font-size:var(--text-sm);font-weight:var(--weight-semibold);font-family:var(--font-sans);background:transparent;color:var(--text-primary);text-align:left}.sui-multiselect__option[data-checked]{background:#5961f724}.sui-multiselect__option[data-highlight]{box-shadow:inset 0 0 0 1px var(--color-brand-500)}.sui-multiselect__option[data-highlight]:not([data-checked]){background:var(--interactive-outline-hover)}.sui-multiselect__check{width:18px;height:18px;border-radius:5px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--surface-border);background:transparent}.sui-multiselect__option-text{flex:1;min-width:0;overflow:hidden}.sui-multiselect__option-label{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sui-multiselect__option-sub{display:block;font-size:.72rem;font-weight:var(--weight-semibold);color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sui-segmented{display:flex;gap:var(--space-1)}.sui-segmented[data-disabled]{opacity:.55}.sui-segmented[data-disabled] .sui-segmented__option{cursor:not-allowed}.sui-segmented[data-variant=pill]{padding:var(--space-1);min-height:44px;box-sizing:border-box;border-radius:var(--radius-xl);border:1px solid var(--surface-border);background:var(--surface-raised)}.sui-segmented[data-variant=card]{gap:var(--space-2)}.sui-segmented[data-variant=tab]{display:inline-flex;gap:2px;padding:2px;border-radius:var(--radius-lg);border:1px solid var(--surface-border);background:var(--status-neutral-bg)}.sui-segmented__option{flex:1 1 0;min-width:0;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:none;cursor:pointer;white-space:nowrap;font-family:var(--font-sans);font-size:.8rem;font-weight:var(--weight-semibold);color:var(--text-secondary);background:transparent;transition:background var(--transition-fast),color var(--transition-fast)}.sui-segmented__option:focus-visible{outline:none;box-shadow:0 0 0 3px var(--interactive-focus-ring)}.sui-segmented[data-variant=pill] .sui-segmented__option{flex:1 1 auto;min-width:max-content;padding:7px var(--space-2-5);border-radius:7px}.sui-segmented[data-variant=card] .sui-segmented__option{flex-direction:column;gap:2px;padding:var(--space-2-5) var(--space-1-5);border-radius:var(--radius-xl);border:1px solid var(--surface-border);background:var(--surface-inset);text-align:center}.sui-segmented[data-variant=card] .sui-segmented__option[data-on]{color:var(--text-primary)}.sui-segmented[data-variant=tab] .sui-segmented__option{flex:0 0 auto;padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-size:.82rem}.sui-segmented[data-variant=tab] .sui-segmented__option[data-on]{background:var(--interactive-primary);color:var(--interactive-primary-text)}.sui-segmented[data-variant=tab] .sui-segmented__option:not([data-on]):hover{color:var(--text-primary)}.sui-segmented__dot{width:7px;height:7px;border-radius:var(--radius-full);flex-shrink:0}.sui-segmented__label{overflow:hidden;text-overflow:ellipsis}.sui-segmented__sublabel{font-size:.7rem;font-weight:var(--weight-bold);color:var(--text-muted)}.sui-switchcard{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3-5);padding:var(--space-3-5) var(--space-4);border-radius:var(--radius-xl);border:1px solid var(--surface-border);background:var(--surface-inset);cursor:pointer}.sui-switchcard[data-disabled]{opacity:.6;cursor:not-allowed}.sui-switchcard__text{flex:1;min-width:0}.sui-switchcard__title{font-size:.9rem;font-weight:var(--weight-semibold);color:var(--text-primary)}.sui-switchcard__desc{font-size:.76rem;color:var(--text-secondary);line-height:1.5;margin-top:3px}.sui-moneyinput .sui-input__control{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.sui-moneyinput__currency{font-size:.82rem;font-family:var(--font-mono)}.sui-monthpicker{position:relative;display:inline-block}.sui-monthpicker__bar{display:inline-flex;align-items:center;gap:var(--space-1);background:var(--surface-raised);border:1px solid var(--surface-border);border-radius:var(--radius-full);padding:6px 6px 6px 8px}.sui-monthpicker__label{display:flex;align-items:center;gap:var(--space-2);background:transparent;border:none;padding:6px 8px;border-radius:var(--radius-full);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--weight-semibold);white-space:nowrap;cursor:pointer;transition:background var(--transition-fast)}.sui-monthpicker__label:hover{background:var(--surface-overlay)}.sui-monthpicker__label:focus-visible{outline:none;box-shadow:0 0 0 3px var(--interactive-focus-ring)}.sui-monthpicker__label-text{position:relative;display:inline-block;padding:0 2px;font-variant-numeric:tabular-nums}.sui-monthpicker__label-ghost{visibility:hidden;display:block}.sui-monthpicker__label-value{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;white-space:nowrap}.sui-monthpicker__divider{width:1px;height:18px;background:var(--surface-border);flex-shrink:0}.sui-monthpicker__step{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:none;border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;flex-shrink:0;transition:background var(--transition-fast),color var(--transition-fast)}.sui-monthpicker__step:hover{background:var(--surface-overlay);color:var(--text-primary)}.sui-monthpicker__step:focus-visible{outline:none;box-shadow:0 0 0 3px var(--interactive-focus-ring)}.sui-monthpicker__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:calc(var(--z-dropdown) - 1)}.sui-monthpicker__panel{position:absolute;top:calc(100% + 8px);left:0;z-index:var(--z-dropdown);width:272px;padding:var(--space-5);background:var(--surface-overlay);border:1px solid var(--surface-border);border-radius:var(--radius-2xl);box-shadow:var(--shadow-lg);animation:sui-monthpicker-pop .14s ease}@keyframes sui-monthpicker-pop{0%{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.sui-monthpicker__panel{animation:none}}.sui-monthpicker__yearbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4)}.sui-monthpicker__step--year{width:30px;height:30px}.sui-monthpicker__step--year:hover{background:var(--surface-raised)}.sui-monthpicker__year{font-family:var(--font-mono);font-size:var(--text-lg);font-weight:var(--weight-extrabold);letter-spacing:var(--tracking-tight);color:var(--text-primary);font-variant-numeric:tabular-nums}.sui-monthpicker__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-2)}.sui-monthpicker__month{height:44px;display:flex;align-items:center;justify-content:center;border:none;border-radius:var(--radius-lg);background:transparent;color:var(--text-secondary);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;transition:background .15s ease,color .15s ease}.sui-monthpicker__month:hover{background:var(--surface-raised)}.sui-monthpicker__month:focus-visible{outline:none;box-shadow:0 0 0 3px var(--interactive-focus-ring)}.sui-monthpicker__month[data-current]{color:var(--text-brand)}.sui-monthpicker__month[data-selected]{background:var(--interactive-primary);color:#fff;font-weight:var(--weight-bold)}.sui-monthpicker__month[data-selected]:hover{background:var(--interactive-primary-hover)}.sui-colorpicker{display:flex;flex-direction:column;gap:var(--space-3);width:100%}.sui-colorpicker__swatches{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.sui-colorpicker__swatch{width:34px;height:34px;border-radius:var(--radius-full);padding:0;cursor:pointer;border:none;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:box-shadow .15s ease,transform .15s ease}.sui-colorpicker__swatch:hover{transform:scale(1.1)}.sui-colorpicker__swatch:focus-visible{outline:none;box-shadow:0 0 0 3px var(--interactive-focus-ring)!important}.sui-colorpicker__wheel{width:34px;height:34px;border-radius:var(--radius-full);padding:0;cursor:pointer;border:none;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:conic-gradient(from 0deg,#f7547a,#f59e0b,#facc15,#15b887,#38bdf8,#3b5cf5,#8b5cf6,#ec4899,#f7547a);transition:box-shadow .15s ease,transform .15s ease}.sui-colorpicker__wheel:hover{transform:scale(1.1)}.sui-colorpicker__wheel:focus-visible{outline:none;box-shadow:0 0 0 3px var(--interactive-focus-ring)!important}.sui-colorpicker__wheel-center{width:22px;height:22px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;transition:background .15s ease}.sui-colorpicker__panel{background:var(--surface-raised);border:1px solid var(--surface-border);border-radius:var(--radius-lg);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-4)}.sui-colorpicker__sv{position:relative;width:100%;height:168px;border-radius:10px;cursor:crosshair;touch-action:none;box-shadow:inset 0 0 0 1px #ffffff14}.sui-colorpicker__hue{position:relative;width:100%;height:12px;border-radius:var(--radius-full);cursor:pointer;touch-action:none;background:linear-gradient(to right,red,#ff0 17%,#0f0 33%,#0ff,#00f 67%,#f0f 83%,red);box-shadow:inset 0 0 0 1px #ffffff1a}.sui-colorpicker__knob{position:absolute;width:20px;height:20px;margin:-10px 0 0 -10px;border-radius:var(--radius-full);border:3px solid #fff;box-shadow:0 2px 6px #00000080,0 0 0 1px #0000004d;pointer-events:none}.sui-colorpicker__inputrow{display:flex;align-items:center;gap:var(--space-3)}.sui-colorpicker__preview{width:44px;height:44px;border-radius:var(--radius-lg);flex-shrink:0;transition:box-shadow .2s ease}.sui-colorpicker__field{flex:1;min-width:0;display:flex;align-items:center;background:var(--surface-card);border:1px solid var(--surface-border);border-radius:var(--radius-md);padding:0 var(--space-3);height:40px;transition:border-color var(--transition-base)}.sui-colorpicker__field:focus-within{border-color:var(--interactive-primary)}.sui-colorpicker__prefix{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-muted);-webkit-user-select:none;user-select:none}.sui-colorpicker__hexinput{flex:1;min-width:0;border:none;outline:none;background:transparent;color:var(--text-primary);font-size:var(--text-sm);font-family:var(--font-mono);padding:0 0 0 2px;letter-spacing:.02em}.sui-colorpicker__rgbfields{flex:1;display:flex;align-items:center;justify-content:space-between}.sui-colorpicker__rgbfield-wrap{display:flex;align-items:center;gap:var(--space-1)}.sui-colorpicker__rgbinput{width:34px;border:none;outline:none;background:transparent;color:var(--text-primary);font-size:var(--text-sm);font-family:var(--font-mono);text-align:center;padding:0}.sui-colorpicker__rgbsep{color:var(--text-muted);font-family:var(--font-mono);font-size:var(--text-sm);-webkit-user-select:none;user-select:none}.sui-colorpicker__modetoggle{display:flex;align-items:center;gap:2px;background:var(--surface-card);border:1px solid var(--surface-border);border-radius:var(--radius-md);padding:3px;height:40px;box-sizing:border-box;flex-shrink:0}.sui-colorpicker__modetab{border:none;cursor:pointer;font-family:var(--font-mono);font-size:10px;font-weight:var(--weight-bold);letter-spacing:.08em;padding:0 10px;height:100%;border-radius:calc(var(--radius-md) - 3px);background:transparent;color:var(--text-muted);transition:background .15s ease,color .15s ease}.sui-colorpicker__modetab[data-active]{background:var(--surface-overlay);color:var(--text-primary)}.sui-colorpicker__modetab:focus-visible{outline:none;box-shadow:0 0 0 2px var(--interactive-focus-ring)}.sui-iconpicker{display:flex;flex-direction:column;gap:var(--space-2-5)}.sui-iconpicker__search{width:100%;min-height:38px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-lg);border:1px solid var(--surface-border);background:var(--surface-raised);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--text-sm);outline:none;transition:border-color var(--transition-base),box-shadow var(--transition-base)}.sui-iconpicker__search:focus-visible{border-color:var(--interactive-primary);box-shadow:0 0 0 3px var(--interactive-focus-ring)}.sui-iconpicker__search::placeholder{color:var(--text-muted)}.sui-iconpicker__grid{display:flex;flex-wrap:wrap;gap:var(--space-2)}.sui-iconpicker__grid[data-scroll]{max-height:320px;overflow-y:auto;padding-right:var(--space-1)}.sui-iconpicker__empty{width:100%;padding:var(--space-4);text-align:center;font-size:var(--text-xs);color:var(--text-secondary)}.sui-iconpicker__cell{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-2xl);cursor:pointer;flex-shrink:0;background:var(--surface-inset);border:1px solid var(--surface-border);transition:background var(--transition-fast);padding:0}.sui-iconpicker__cell:hover:not([data-on]){background:var(--interactive-outline-hover)}.sui-iconpicker__cell:focus-visible{outline:none;box-shadow:0 0 0 3px var(--interactive-focus-ring)}.sui-statcard{background:var(--surface-inset);border:1px solid var(--surface-divider);border-radius:var(--radius-xl);padding:var(--space-3-5) var(--space-4)}.sui-statcard--interactive{cursor:pointer;transition:transform var(--transition-fast),border-color var(--transition-fast)}.sui-statcard--interactive:hover{transform:translateY(-1px);border-color:var(--surface-border)}.sui-statcard--interactive:focus-visible{outline:none;box-shadow:0 0 0 3px var(--interactive-focus-ring)}.sui-statcard__head{display:flex;align-items:center;gap:7px;margin-bottom:9px;color:var(--sui-stat-accent, var(--text-secondary))}.sui-statcard__icon{display:inline-flex;flex-shrink:0}.sui-statcard__label{font-size:.72rem;font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:.07em}.sui-statcard__value{font-family:var(--font-mono);font-size:1.4rem;font-weight:var(--weight-bold);letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1;margin-bottom:5px;color:var(--sui-stat-accent, var(--text-primary))}.sui-statcard__sub{font-size:.74rem;color:var(--text-secondary)}.sui-emptystate{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:var(--space-2);padding:var(--space-10) var(--space-5)}.sui-emptystate--dashed{border:1.5px dashed var(--surface-border);border-radius:var(--radius-xl);background:var(--surface-inset)}.sui-emptystate__icon{display:inline-flex;color:var(--text-muted);margin-bottom:var(--space-1)}.sui-emptystate__title{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--text-primary)}.sui-emptystate__desc{font-size:var(--text-xs);color:var(--text-secondary);line-height:1.5;max-width:340px}.sui-emptystate__actions{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-3)}.sui-tooltip{max-width:260px;padding:var(--space-2) var(--space-2-5);background:var(--surface-overlay);border:1px solid var(--surface-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--text-xs);line-height:1.4;z-index:var(--z-toast);animation:sui-tooltip-in .12s ease}.sui-tooltip__arrow{fill:var(--surface-overlay)}@keyframes sui-tooltip-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.sui-tooltip{animation:none}}.sui-card{background:var(--surface-card);border:1px solid var(--surface-border);border-radius:var(--radius-card);box-shadow:var(--shadow-md);overflow:hidden}.sui-card--interactive{cursor:pointer;transition:transform var(--transition-fast),border-color var(--transition-fast)}.sui-card--interactive:hover{transform:translateY(-1px);border-color:var(--interactive-outline-border)}.sui-card__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--surface-divider)}.sui-card__title{margin:0}.sui-card__content{padding:var(--space-6)}.sui-card__footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);padding:var(--space-4) var(--space-6);border-top:1px solid var(--surface-divider)}.sui-modal__overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:var(--z-overlay);animation:sui-modal-fade .15s ease}.sui-modal__content{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:calc(100vw - var(--space-8));max-height:92vh;overflow-y:auto;background:var(--surface-card);border:1px solid var(--surface-border);border-radius:var(--radius-card);box-shadow:var(--shadow-xl);z-index:var(--z-modal);animation:sui-modal-pop .16s ease}.sui-modal__content:focus{outline:none}.sui-modal__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);padding:var(--space-5) var(--space-6) var(--space-4);border-bottom:1px solid var(--surface-divider)}.sui-modal__headlead{display:flex;align-items:flex-start;gap:var(--space-3);min-width:0}.sui-modal__icon{flex-shrink:0;display:inline-flex}.sui-modal__title{margin:0;font-family:var(--font-sans);font-size:var(--text-lg);font-weight:var(--weight-bold);color:var(--text-primary)}.sui-modal__desc{margin:var(--space-1) 0 0;font-size:var(--text-sm);color:var(--text-secondary)}.sui-modal__close{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:var(--radius-lg);background:transparent;color:var(--text-secondary);cursor:pointer;flex-shrink:0;transition:background var(--transition-base),color var(--transition-base)}.sui-modal__close:hover{background:var(--interactive-outline-hover);color:var(--text-primary)}.sui-modal__close:focus-visible{outline:none;box-shadow:0 0 0 3px var(--interactive-focus-ring)}.sui-modal__body{padding:var(--space-6)}.sui-modal__footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);margin:var(--space-5) calc(-1 * var(--space-6)) calc(-1 * var(--space-6));padding:var(--space-4) var(--space-6);border-top:1px solid var(--surface-divider)}@keyframes sui-modal-fade{0%{opacity:0}to{opacity:1}}@keyframes sui-modal-pop{0%{opacity:0;transform:translate(-50%,-48%) scale(.98)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@media (prefers-reduced-motion: reduce){.sui-modal__overlay,.sui-modal__content{animation:none}}.sui-confirm__overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:var(--z-overlay)}.sui-confirm{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:calc(100vw - var(--space-8));max-width:400px;background:var(--surface-card);border:1px solid var(--surface-border);border-radius:var(--radius-card);box-shadow:var(--shadow-xl);padding:var(--space-6);z-index:var(--z-modal)}.sui-confirm:focus{outline:none}.sui-confirm__head{display:flex;align-items:flex-start;gap:var(--space-3-5)}.sui-confirm__title{margin:0 0 5px;font-size:1.1rem;font-weight:var(--weight-bold);color:var(--text-primary);font-family:var(--font-sans)}.sui-confirm__message{margin:0;font-size:.86rem;color:var(--text-secondary);line-height:1.5}.sui-confirm__error{margin-top:var(--space-3-5);font-size:var(--text-xs);color:var(--status-error-fg);background:var(--status-error-bg);border:1px solid var(--status-error-bd);border-radius:var(--radius-lg);padding:9px var(--space-3)}.sui-confirm__actions{display:flex;gap:var(--space-2-5);margin-top:var(--space-5)}.sui-menu__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:calc(var(--z-dropdown) - 1)}.sui-menu{position:fixed;z-index:var(--z-dropdown);min-width:210px;max-height:60vh;overflow-y:auto;padding:var(--space-1-5);background:var(--surface-overlay);border:1px solid var(--surface-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;gap:2px}.sui-menu__sep{height:1px;background:var(--surface-divider);margin:5px 0}.sui-menu__item{display:flex;align-items:center;gap:var(--space-2-5);width:100%;padding:9px 13px;background:transparent;border:none;border-radius:var(--radius-lg);text-align:left;font-size:var(--text-sm);font-weight:var(--weight-medium);font-family:var(--font-sans);cursor:pointer;color:var(--text-primary)}.sui-menu__item:hover,.sui-menu__item:focus-visible{background:var(--interactive-outline-hover)}.sui-menu__item[data-danger]{color:var(--status-error-fg)}.sui-menu__item[data-danger]:hover,.sui-menu__item[data-danger]:focus-visible{background:var(--status-error-bg)}.sui-menu__item:focus-visible{outline:none;box-shadow:inset 0 0 0 1px var(--color-brand-500)}.sui-datatable{background:var(--surface-card);border:1px solid var(--surface-border);border-radius:var(--radius-card);overflow:hidden;font-family:var(--font-sans)}.sui-datatable__toolbar{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;padding:var(--space-3-5) var(--space-4);border-bottom:1px solid var(--surface-divider)}.sui-datatable__title{margin:0 4px 0 0;font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--text-primary)}.sui-datatable__pagesize{display:flex;align-items:center;gap:var(--space-2);font-size:13px;color:var(--text-secondary)}.sui-datatable__pagesize-btn{display:inline-flex;align-items:center;gap:var(--space-1-5);background:var(--surface-inset);color:var(--text-primary);border:1px solid var(--surface-border);border-radius:var(--radius-md);padding:6px 8px 6px 11px;font-size:13px;font-family:var(--font-sans);font-weight:var(--weight-semibold);cursor:pointer}.sui-datatable__search{display:flex;align-items:center;gap:var(--space-2);height:34px;padding:0 var(--space-3);border-radius:var(--radius-full);border:1px solid var(--surface-border);background:var(--surface-inset);min-width:180px;flex:0 1 240px;transition:border-color var(--transition-base),box-shadow var(--transition-base)}.sui-datatable__search:focus-within{border-color:var(--interactive-primary);box-shadow:0 0 0 3px var(--interactive-focus-ring)}.sui-datatable__search input{border:none;background:transparent;outline:none;color:var(--text-primary);font-family:var(--font-sans);font-size:13px;width:100%}.sui-datatable__actions{margin-left:auto;display:flex;gap:var(--space-2);align-items:center}.sui-datatable__bulkbar{display:flex;align-items:center;gap:var(--space-3);padding:9px var(--space-4);background:var(--status-info-bg);border-bottom:1px solid var(--surface-divider)}.sui-datatable__bulkcount{font-size:13px;font-weight:var(--weight-semibold);color:var(--text-primary)}.sui-datatable__bulkactions{margin-left:auto;display:flex;gap:var(--space-2)}.sui-datatable__scroll{overflow-x:auto}.sui-datatable table{width:100%;border-collapse:collapse}.sui-datatable thead{border-bottom:1px solid var(--surface-divider)}.sui-datatable__th{text-align:left;padding:11px var(--space-4);font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary);white-space:nowrap;-webkit-user-select:none;user-select:none}.sui-datatable__th[data-align=right]{text-align:right}.sui-datatable__th[data-sortable]{cursor:pointer}.sui-datatable__th--check{width:40px}.sui-datatable__th-inner{display:inline-flex;align-items:center;gap:var(--space-1)}.sui-datatable__sort{font-size:9px;color:var(--text-muted);opacity:.5}.sui-datatable__sort[data-active]{color:var(--text-brand);opacity:1}.sui-datatable__row{border-bottom:1px solid var(--surface-divider);transition:background var(--transition-fast)}.sui-datatable__row[data-clickable]{cursor:pointer}.sui-datatable__row:hover{background:#ffffff06}.sui-datatable__row[data-selected]{background:#5961f71a}.sui-datatable__row[data-selected]:hover{background:#5961f729}:root[data-theme=light] .sui-datatable__row:hover{background:#00000005}.sui-datatable__td{padding:var(--space-2) var(--space-4);font-size:var(--text-sm);color:var(--text-primary);white-space:nowrap}.sui-datatable__td[data-align=right]{text-align:right}.sui-datatable input[type=checkbox]{accent-color:var(--color-brand-500);cursor:pointer}.sui-datatable__empty{padding:var(--space-12) var(--space-4);text-align:center;color:var(--text-muted);font-size:13px}.sui-datatable__footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:11px var(--space-4);border-top:1px solid var(--surface-divider)}.sui-datatable__range{font-size:var(--text-xs);color:var(--text-secondary)}.sui-datatable__pager{display:flex;align-items:center;gap:var(--space-1-5)}.sui-datatable__pager button{width:28px;height:28px;border-radius:var(--radius-md);border:1px solid var(--surface-border);background:transparent;color:var(--text-primary);cursor:pointer}.sui-datatable__pager button:disabled{cursor:not-allowed;opacity:.4}.sui-datatable__pageinfo{font-size:var(--text-xs);color:var(--text-secondary);padding:0 var(--space-1-5);font-variant-numeric:tabular-nums}.sui-page{width:100%;max-width:var(--sui-page-max, 1280px);margin:0 auto;padding:var(--space-6) var(--space-8) var(--space-16)}@media (max-width: 640px){.sui-page{padding:var(--space-5) var(--space-4) var(--space-12)}}.sui-appshell{display:grid;grid-template-columns:220px 1fr;grid-template-rows:56px 1fr;grid-template-areas:"topbar topbar" "sidebar content";width:100%;height:100vh;overflow:hidden;background:var(--surface-bg)}.sui-appshell[data-collapsed]{grid-template-columns:66px 1fr}.sui-appshell[data-mobile]{grid-template-columns:1fr;grid-template-areas:"topbar" "content"}.sui-appshell__topbar{grid-area:topbar;display:flex;align-items:center;gap:var(--space-3);height:56px;padding:0 var(--space-3-5);background:var(--surface-topbar);border-bottom:1px solid var(--surface-border);z-index:30;position:relative}.sui-appshell__topbar-start{display:flex;align-items:center;gap:var(--space-3);flex:1;min-width:0}.sui-appshell__logo{display:flex;align-items:center;-webkit-user-select:none;user-select:none}.sui-appshell__topbar-center{display:flex;align-items:center;gap:var(--space-2-5);flex-shrink:0}.sui-appshell__topbar-end{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2-5);flex:1;min-width:0}.sui-appshell__sidebar{grid-area:sidebar;display:flex;flex-direction:column;overflow:hidden;background:var(--surface-sidebar);border-right:1px solid var(--surface-border);padding:var(--space-4) var(--space-3)}.sui-appshell[data-mobile] .sui-appshell__sidebar{position:fixed;left:0;top:56px;bottom:0;width:250px;z-index:25;transform:translate(-102%);transition:transform var(--transition-base)}.sui-appshell[data-mobile] .sui-appshell__sidebar[data-open]{transform:none;box-shadow:var(--shadow-xl)}.sui-appshell__search{display:flex;align-items:center;gap:var(--space-2);height:36px;padding:0 var(--space-2-5);margin-bottom:var(--space-3-5);border:1px solid var(--surface-border);border-radius:10px;background:var(--surface-inset);flex-shrink:0;transition:border-color var(--transition-base),box-shadow var(--transition-base)}.sui-appshell__search:focus-within{border-color:var(--interactive-primary);box-shadow:0 0 0 3px var(--interactive-focus-ring)}.sui-appshell__search input{flex:1;min-width:0;border:none;outline:none;background:transparent;color:var(--text-primary);font-family:var(--font-sans);font-size:13px}.sui-appshell__search input::placeholder{color:var(--text-muted)}.sui-appshell__nav{flex:1;overflow-y:auto;overflow-x:hidden}.sui-appshell__navgroup{margin-bottom:var(--space-4)}.sui-appshell__navlabel{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-secondary);margin:0 0 var(--space-1-5) 9px;font-weight:var(--weight-bold);white-space:nowrap}.sui-appshell__navitem{display:flex;align-items:center;gap:11px;justify-content:flex-start;padding:var(--space-2) 11px;width:100%;border-radius:9px;cursor:pointer;color:var(--text-secondary);text-align:left;font-size:13.5px;font-weight:var(--weight-medium);font-family:var(--font-sans);border:none;background:transparent;white-space:nowrap;margin-bottom:2px;transition:background var(--transition-fast),color var(--transition-fast)}.sui-appshell__navitem[data-icon-only]{gap:0;justify-content:center;padding:9px 0}.sui-appshell__navitem:hover:not([data-active]){background:var(--interactive-outline-hover);color:var(--text-primary)}.sui-appshell__navitem[data-active]{color:var(--text-primary);font-weight:var(--weight-semibold);background:#5961f724}.sui-appshell__navitem:focus-visible{outline:none;box-shadow:0 0 0 3px var(--interactive-focus-ring)}.sui-appshell__navicon{display:inline-flex;flex-shrink:0}.sui-appshell__sidebar-footer{border-top:1px solid var(--surface-divider);padding-top:var(--space-2-5);margin-top:var(--space-1-5)}.sui-appshell__content{grid-area:content;overflow-y:auto}.sui-appshell__scrim{position:fixed;top:56px;right:0;bottom:0;left:0;background:#0000008c;z-index:20}.sui-pageheader{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;margin-bottom:var(--space-5)}.sui-pageheader__text{min-width:0}.sui-pageheader__eyebrow{display:block;font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--text-secondary);font-weight:var(--weight-bold);margin-bottom:var(--space-1-5)}.sui-pageheader__title{font-size:2rem;font-weight:var(--weight-extrabold);letter-spacing:-.03em;line-height:1;margin:0;color:var(--text-primary)}.sui-pageheader__desc{margin:var(--space-2) 0 0;font-size:var(--text-sm);color:var(--text-secondary);line-height:1.5}.sui-pageheader__actions{display:flex;align-items:center;gap:var(--space-2-5);flex-shrink:0}:root{--color-brand-25: #f4f5ff;--color-brand-50: #eceefe;--color-brand-100: #dcdffe;--color-brand-200: #bcc0fc;--color-brand-300: #969cfa;--color-brand-400: #7c82f9;--color-brand-500: #5961f7;--color-brand-600: #4850e0;--color-brand-700: #3a41c4;--color-brand-800: #2f35a0;--color-brand-900: #2a3080;--color-brand-950: #191c4d;--color-green-25: #f0fdf9;--color-green-50: #dcfcef;--color-green-100: #b9f7de;--color-green-200: #85edc6;--color-green-300: #4fdcab;--color-green-400: #15803d;--color-green-500: #166534;--color-green-600: #14532d;--color-green-700: #0f3d21;--color-green-800: #0b2d18;--color-green-900: #06210f;--color-rose-25: #fff5f7;--color-rose-50: #ffe9ee;--color-rose-100: #ffd3dc;--color-rose-200: #feacbd;--color-rose-300: #fc7f99;--color-rose-400: #e11d48;--color-rose-500: #c81e1e;--color-rose-600: #b91c1c;--color-rose-700: #991b1b;--color-rose-800: #7f1d1d;--color-rose-900: #661010;--color-warning-50: #fffaeb;--color-warning-100: #fef0c7;--color-warning-300: #fec84b;--color-warning-400: #fdb022;--color-warning-500: #f59e0b;--color-warning-600: #d97706;--color-warning-700: #b45309;--color-info-50: #ecf9ff;--color-info-100: #d5f1ff;--color-info-300: #7ad4fb;--color-info-400: #38bdf8;--color-info-500: #0ea5e9;--color-info-600: #0284c7;--color-info-700: #0369a1;--color-gray-25: #fbfbfb;--color-gray-50: #f6f6f7;--color-gray-100: #ececee;--color-gray-200: #d5d6da;--color-gray-300: #b1b3ba;--color-gray-400: #8a8d96;--color-gray-500: #676a73;--color-gray-600: #4b4d55;--color-gray-700: #33353b;--color-gray-800: #232323;--color-gray-900: #1c1c1c;--color-gray-950: #161616;--space-0: 0px;--space-0-5: 2px;--space-1: 4px;--space-1-5: 6px;--space-2: 8px;--space-2-5: 10px;--space-3: 12px;--space-3-5: 14px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 28px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--radius-2xl: 16px;--radius-card: 18px;--radius-full: 9999px;--font-sans: "Roboto", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", "Cascadia Code", "Consolas", monospace;--text-title-lg: 48px;--text-title-md: 36px;--text-title-sm: 30px;--text-xl: 20px;--text-lg: 18px;--text-base: 16px;--text-sm: 14px;--text-xs: 12px;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--weight-extrabold: 800;--tracking-tight: -.02em;--tracking-wide: .02em;--tracking-widest: .1em;--z-overlay: 1100;--z-modal: 1200;--z-dropdown: 1250;--z-toast: 1300;--transition-fast: .12s ease;--transition-base: .2s ease-in-out}:root,:root[data-theme=dark]{--surface-bg: #181818;--surface-sidebar: #161616;--surface-topbar: #1f1f1f;--surface-card: #1c1c1c;--surface-raised: #232323;--surface-overlay: #262626;--surface-inset: rgba(255, 255, 255, .04);--surface-border: rgba(255, 255, 255, .1);--surface-divider: rgba(255, 255, 255, .06);--text-primary: rgba(255, 255, 255, .87);--text-secondary: rgba(255, 255, 255, .55);--text-muted: rgba(255, 255, 255, .4);--text-inverse: #181818;--text-brand: #7c82f9;--text-success: #4fdcab;--text-error: #fca5a5;--text-warning: #f59e0b;--text-info: #38bdf8;--interactive-primary: #5961f7;--interactive-primary-hover: #4850e0;--interactive-primary-text: #ffffff;--interactive-outline-border: rgba(255, 255, 255, .14);--interactive-outline-hover: rgba(255, 255, 255, .06);--interactive-focus-ring: rgba(89, 97, 247, .35);--status-success-bg: rgba(10, 114, 2, .16);--status-success-fg: #4fdcab;--status-success-bd: rgba(10, 114, 2, .3);--status-error-bg: rgba(247, 84, 122, .16);--status-error-fg: #fca5a5;--status-error-bd: rgba(247, 84, 122, .28);--status-warning-bg: rgba(245, 158, 11, .16);--status-warning-fg: #fcd34d;--status-warning-bd: rgba(250, 204, 21, .28);--status-info-bg: rgba(37, 99, 235, .18);--status-info-fg: #9fc1ff;--status-info-bd: rgba(96, 165, 250, .36);--status-neutral-bg: rgba(255, 255, 255, .06);--status-neutral-fg: rgba(255, 255, 255, .55);--shadow-sm: 0px 1px 3px 0px rgba(0, 0, 0, .25), 0px 1px 2px 0px rgba(0, 0, 0, .15);--shadow-md: 0px 4px 8px -2px rgba(0, 0, 0, .3), 0px 2px 4px -2px rgba(0, 0, 0, .2);--shadow-lg: 0px 12px 16px -4px rgba(0, 0, 0, .35), 0px 4px 6px -2px rgba(0, 0, 0, .15);--shadow-xl: 0px 20px 24px -4px rgba(0, 0, 0, .4), 0px 8px 8px -4px rgba(0, 0, 0, .2);--scrollbar-thumb: rgba(255, 255, 255, .12);--scrollbar-thumb-hover: rgba(255, 255, 255, .2)}:root[data-theme=light]{--surface-bg: #f6f6f7;--surface-sidebar: #ffffff;--surface-topbar: #ffffff;--surface-card: #ffffff;--surface-raised: #ffffff;--surface-overlay: #ffffff;--surface-inset: rgba(0, 0, 0, .03);--surface-border: rgba(0, 0, 0, .12);--surface-divider: rgba(0, 0, 0, .08);--text-primary: rgba(20, 20, 22, .92);--text-secondary: rgba(20, 20, 22, .6);--text-muted: rgba(20, 20, 22, .42);--text-inverse: #ffffff;--text-brand: #4850e0;--text-success: #166534;--text-error: #b91c1c;--text-warning: #b45309;--text-info: #0369a1;--interactive-primary: #5961f7;--interactive-primary-hover: #4850e0;--interactive-primary-text: #ffffff;--interactive-outline-border: rgba(0, 0, 0, .14);--interactive-outline-hover: rgba(0, 0, 0, .04);--interactive-focus-ring: rgba(89, 97, 247, .3);--status-success-bg: rgba(22, 101, 52, .12);--status-success-fg: #166534;--status-success-bd: rgba(22, 101, 52, .24);--status-error-bg: rgba(185, 28, 28, .1);--status-error-fg: #b91c1c;--status-error-bd: rgba(185, 28, 28, .24);--status-warning-bg: rgba(245, 158, 11, .14);--status-warning-fg: #b45309;--status-warning-bd: rgba(245, 158, 11, .3);--status-info-bg: rgba(14, 165, 233, .12);--status-info-fg: #0369a1;--status-info-bd: rgba(14, 165, 233, .3);--status-neutral-bg: rgba(0, 0, 0, .05);--status-neutral-fg: rgba(20, 20, 22, .6);--shadow-sm: 0px 1px 3px 0px rgba(0, 0, 0, .08), 0px 1px 2px 0px rgba(0, 0, 0, .06);--shadow-md: 0px 4px 8px -2px rgba(0, 0, 0, .1), 0px 2px 4px -2px rgba(0, 0, 0, .06);--shadow-lg: 0px 12px 16px -4px rgba(0, 0, 0, .12), 0px 4px 6px -2px rgba(0, 0, 0, .06);--shadow-xl: 0px 20px 24px -4px rgba(0, 0, 0, .14), 0px 8px 8px -4px rgba(0, 0, 0, .08);--scrollbar-thumb: rgba(0, 0, 0, .2);--scrollbar-thumb-hover: rgba(0, 0, 0, .32)}*,*:before,*:after{box-sizing:border-box}.sui-root,[data-sui-theme]{font-family:var(--font-sans);color:var(--text-primary)}button,input,select,textarea{font-family:inherit;font-size:100%}*{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) transparent}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}
|