@esperanca-ui/componentes 2.8.3 → 2.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.
@@ -5,7 +5,8 @@ export type ComboBoxOption = {
5
5
  value: string | number;
6
6
  disabled?: boolean;
7
7
  };
8
- export interface ComboBoxProps extends Omit<React.SelectHTMLAttributes<HTMLSelectElement>, 'children' | 'value' | 'onChange'> {
8
+ type ComboBoxValue = string | number;
9
+ export interface ComboBoxProps extends Omit<React.SelectHTMLAttributes<HTMLSelectElement>, 'children' | 'value' | 'defaultValue' | 'onChange' | 'multiple'> {
9
10
  label?: React.ReactNode;
10
11
  helperText?: React.ReactNode;
11
12
  error?: React.ReactNode;
@@ -16,11 +17,18 @@ export interface ComboBoxProps extends Omit<React.SelectHTMLAttributes<HTMLSelec
16
17
  className?: string;
17
18
  style?: React.CSSProperties;
18
19
  fullWidth?: boolean;
19
- value?: string | number;
20
- onChange?: (value: string | number, option: ComboBoxOption) => void;
20
+ value?: ComboBoxValue;
21
+ defaultValue?: ComboBoxValue;
22
+ onChange?: (value: ComboBoxValue, option: ComboBoxOption) => void;
23
+ multiple?: boolean;
24
+ values?: ComboBoxValue[];
25
+ defaultValues?: ComboBoxValue[];
26
+ onValuesChange?: (values: ComboBoxValue[], options: ComboBoxOption[]) => void;
27
+ maxVisibleValues?: number;
21
28
  searchable?: boolean;
22
29
  searchPlaceholder?: string;
23
30
  emptyText?: string;
24
31
  maxRenderedItems?: number;
25
32
  }
26
33
  export declare const ComboBox: React.ForwardRefExoticComponent<ComboBoxProps & React.RefAttributes<HTMLSelectElement>>;
34
+ export {};
@@ -0,0 +1,64 @@
1
+ import { default as React } from 'react';
2
+ import { CardProps } from '../Card/Card';
3
+ import { TaskPriority } from '../TaskPriorityBadge/TaskPriorityBadge';
4
+ import { TaskBadgeColors, TaskStatus } from '../TaskStatusBadge/TaskStatusBadge';
5
+
6
+ export type GanttChartDateValue = string | Date;
7
+ export type GanttChartView = 'week' | 'month';
8
+ export interface GanttChartItem {
9
+ id: string;
10
+ title: React.ReactNode;
11
+ description?: React.ReactNode;
12
+ startDate: GanttChartDateValue;
13
+ endDate?: GanttChartDateValue;
14
+ status?: TaskStatus | string;
15
+ priority?: TaskPriority | string;
16
+ statusName?: React.ReactNode;
17
+ priorityName?: React.ReactNode;
18
+ statusColors?: TaskBadgeColors;
19
+ priorityColors?: TaskBadgeColors;
20
+ progress?: number;
21
+ assignee?: React.ReactNode;
22
+ project?: React.ReactNode;
23
+ meta?: React.ReactNode;
24
+ color?: string;
25
+ }
26
+ export interface GanttChartGroup {
27
+ id: string;
28
+ title: React.ReactNode;
29
+ subtitle?: React.ReactNode;
30
+ kind?: 'project' | 'assignee' | 'group';
31
+ items: GanttChartItem[];
32
+ startDate?: GanttChartDateValue;
33
+ endDate?: GanttChartDateValue;
34
+ progress?: number;
35
+ meta?: React.ReactNode;
36
+ color?: string;
37
+ }
38
+ export interface GanttChartRenderContext {
39
+ view: GanttChartView;
40
+ anchorDate: Date;
41
+ visibleStart: Date;
42
+ visibleEnd: Date;
43
+ }
44
+ export interface GanttChartProps extends Omit<CardProps, 'children'> {
45
+ groups: GanttChartGroup[];
46
+ view?: GanttChartView;
47
+ defaultView?: GanttChartView;
48
+ onViewChange?: (view: GanttChartView) => void;
49
+ date?: GanttChartDateValue;
50
+ defaultDate?: GanttChartDateValue;
51
+ onDateChange?: (date: Date) => void;
52
+ locale?: string;
53
+ heading?: React.ReactNode;
54
+ description?: React.ReactNode;
55
+ emptyLabel?: React.ReactNode;
56
+ showViewSwitcher?: boolean;
57
+ views?: GanttChartView[];
58
+ leftColumnWidth?: number;
59
+ onItemClick?: (item: GanttChartItem, group: GanttChartGroup) => void;
60
+ onGroupClick?: (group: GanttChartGroup) => void;
61
+ renderItemLabel?: (item: GanttChartItem, group: GanttChartGroup) => React.ReactNode;
62
+ renderGroupLabel?: (group: GanttChartGroup) => React.ReactNode;
63
+ }
64
+ export declare const GanttChart: React.ForwardRefExoticComponent<GanttChartProps & React.RefAttributes<HTMLDivElement>>;
@@ -19,6 +19,7 @@ interface DataTableProps<T> {
19
19
  layoutMode?: 'fit' | 'scroll';
20
20
  onLayoutModeChange?: (mode: 'fit' | 'scroll') => void;
21
21
  layoutModeStorageKey?: string;
22
+ dragToScroll?: boolean;
22
23
  allColumns?: Column<T>[];
23
24
  preferences?: {
24
25
  hiddenColumns?: string[];
@@ -29,8 +30,9 @@ interface DataTableProps<T> {
29
30
  pagination?: PaginationProps;
30
31
  onPageChange?: (page: number) => void;
31
32
  onPageSizeChange?: (size: number) => void;
33
+ pageSizeOptions?: readonly number[];
32
34
  /** Chave usada para salvar a preferência de itens por página no localStorage */
33
35
  pageSizeStorageKey?: string;
34
36
  }
35
- export declare function DataTable<T extends Record<string, any>>({ columns, data, isLoading, variant, layoutMode, onLayoutModeChange, layoutModeStorageKey, allColumns, preferences, toggleColumnVisibility, setColumnOrder, pagination, onPageChange, onPageSizeChange, pageSizeStorageKey }: DataTableProps<T>): import("react/jsx-runtime").JSX.Element;
37
+ export declare function DataTable<T extends Record<string, any>>({ columns, data, isLoading, variant, layoutMode, onLayoutModeChange, layoutModeStorageKey, dragToScroll, allColumns, preferences, toggleColumnVisibility, setColumnOrder, pagination, onPageChange, onPageSizeChange, pageSizeOptions, pageSizeStorageKey, }: DataTableProps<T>): import("react/jsx-runtime").JSX.Element;
36
38
  export {};
@@ -0,0 +1,27 @@
1
+ import { default as React } from 'react';
2
+
3
+ export type TabsVariant = 'underline' | 'pills' | 'segmented' | 'glass';
4
+ export type TabsSize = 'sm' | 'md' | 'lg';
5
+ export interface TabsItem {
6
+ value: string;
7
+ label: React.ReactNode;
8
+ icon?: React.ReactNode;
9
+ badge?: React.ReactNode;
10
+ disabled?: boolean;
11
+ content?: React.ReactNode;
12
+ }
13
+ export interface TabsProps extends React.HTMLAttributes<HTMLDivElement> {
14
+ items: TabsItem[];
15
+ value?: string;
16
+ defaultValue?: string;
17
+ onValueChange?: (value: string) => void;
18
+ variant?: TabsVariant;
19
+ size?: TabsSize;
20
+ fullWidth?: boolean;
21
+ keepMounted?: boolean;
22
+ showPanels?: boolean;
23
+ renderPanel?: (item: TabsItem) => React.ReactNode;
24
+ listClassName?: string;
25
+ panelClassName?: string;
26
+ }
27
+ export declare const Tabs: React.FC<TabsProps>;
package/dist/index.d.ts CHANGED
@@ -9,12 +9,14 @@ export { Radio, RadioGroup } from './components/Radio/Radio';
9
9
  export { Button } from './components/Button/Button';
10
10
  export { Textarea } from './components/Textarea/Textarea';
11
11
  export { PageHeader } from './components/PageHeader/PageHeader';
12
+ export { Tabs } from './components/Tabs/Tabs';
12
13
  export { Card, CardHeader, CardTitle, CardDescription, CardBody, CardFooter } from './components/Card/Card';
13
14
  export { MetricCard } from './components/MetricCard/MetricCard';
14
15
  export { TaskStatusBadge } from './components/TaskStatusBadge/TaskStatusBadge';
15
16
  export { TaskPriorityBadge } from './components/TaskPriorityBadge/TaskPriorityBadge';
16
17
  export { TaskCard } from './components/TaskCard/TaskCard';
17
18
  export { TaskCalendar } from './components/TaskCalendar/TaskCalendar';
19
+ export { GanttChart } from './components/GanttChart/GanttChart';
18
20
  export { Background } from './components/Background/Background';
19
21
  export { ThemeProvider } from './components/ThemeProvider/ThemeProvider';
20
22
  export { Grid } from './components/Grid/Grid';
@@ -37,12 +39,14 @@ export type { RadioProps, RadioGroupProps, RadioOption } from './components/Radi
37
39
  export type { ButtonProps } from './components/Button/Button';
38
40
  export type { TextareaProps } from './components/Textarea/Textarea';
39
41
  export type { PageHeaderProps } from './components/PageHeader/PageHeader';
42
+ export type { TabsProps, TabsItem, TabsVariant, TabsSize } from './components/Tabs/Tabs';
40
43
  export type { CardProps } from './components/Card/Card';
41
44
  export type { MetricCardProps } from './components/MetricCard/MetricCard';
42
45
  export type { TaskStatusBadgeProps, TaskStatus } from './components/TaskStatusBadge/TaskStatusBadge';
43
46
  export type { TaskPriorityBadgeProps, TaskPriority } from './components/TaskPriorityBadge/TaskPriorityBadge';
44
47
  export type { TaskCardProps } from './components/TaskCard/TaskCard';
45
48
  export type { TaskCalendarProps, TaskCalendarItem, TaskCalendarDateValue, TaskCalendarView, TaskCalendarRenderContext, } from './components/TaskCalendar/TaskCalendar';
49
+ export type { GanttChartProps, GanttChartGroup, GanttChartItem, GanttChartDateValue, GanttChartView, GanttChartRenderContext, } from './components/GanttChart/GanttChart';
46
50
  export type { BackgroundProps } from './components/Background/Background';
47
51
  export type { ThemeProviderProps, Theme } from './components/ThemeProvider/ThemeProvider';
48
52
  export type { GridProps } from './components/Grid/Grid';
package/dist/style.css CHANGED
@@ -1 +1 @@
1
- @import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";@keyframes esp-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes esp-ping{75%,to{transform:scale(2);opacity:0}}@keyframes esp-pulse{50%{opacity:.5}}@keyframes esp-bounce{0%,to{transform:translateY(-25%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:none;animation-timing-function:cubic-bezier(0,0,.2,1)}}.esp-animate-spin{animation:esp-spin 1s linear infinite}.esp-animate-ping{animation:esp-ping 1s cubic-bezier(0,0,.2,1) infinite}.esp-animate-pulse{animation:esp-pulse 2s cubic-bezier(.4,0,.6,1) infinite}.esp-animate-bounce{animation:esp-bounce 1s infinite}:root{--esp-bp-sm: 640px;--esp-bp-md: 768px;--esp-bp-lg: 1024px;--esp-bp-xl: 1280px;--esp-bp-2xl: 1536px}.esp-container{container-type:inline-size;container-name:esp}:root{--esp-text-xs: clamp(.7rem, .65rem + .2vw, .75rem);--esp-text-sm: clamp(.8rem, .75rem + .25vw, .875rem);--esp-text-base-size: clamp(.95rem, .9rem + .3vw, 1rem);--esp-text-lg: clamp(1.1rem, 1.05rem + .4vw, 1.125rem);--esp-text-xl: clamp(1.2rem, 1.15rem + .5vw, 1.25rem);--esp-text-2xl: clamp(1.4rem, 1.35rem + .6vw, 1.5rem);--esp-text-3xl: clamp(1.7rem, 1.6rem + .8vw, 1.875rem);--esp-text-4xl: clamp(2rem, 1.85rem + 1vw, 2.25rem);--esp-font-light: 300;--esp-font-normal: 400;--esp-font-medium: 500;--esp-font-semibold: 600;--esp-font-bold: 700}:focus-visible{outline:2px solid var(--esp-border-focus, #3b82f6);outline-offset:2px}.esp-focus-ring{transition:box-shadow .2s ease,outline .2s ease}.esp-focus-ring:focus-visible{outline:none;box-shadow:0 0 0 2px var(--esp-bg-base, #fff),0 0 0 4px var(--esp-border-focus, #3b82f6)}.esp-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}@media (prefers-reduced-motion: reduce){*,:before,:after{animation:none!important;transition:0s!important;transform:none!important;scroll-behavior:auto!important}}*::-webkit-scrollbar{width:var(--esp-scrollbar-size);height:var(--esp-scrollbar-size)}*::-webkit-scrollbar-track{background:var(--esp-scrollbar-track);border-radius:var(--esp-radius-full)}*::-webkit-scrollbar-thumb{background:var(--esp-scrollbar-thumb);border-radius:var(--esp-radius-full);border:2px solid transparent;background-clip:content-box}*::-webkit-scrollbar-thumb:hover{background:var(--esp-scrollbar-thumb-hover);border:2px solid transparent;background-clip:content-box}*::-webkit-scrollbar-thumb:active{background:var(--esp-scrollbar-thumb-active);border:2px solid transparent;background-clip:content-box}*::-webkit-scrollbar-corner{background:transparent}@supports not selector(::-webkit-scrollbar){*{scrollbar-width:thin;scrollbar-color:var(--esp-scrollbar-thumb) var(--esp-scrollbar-track)}}body{font-family:Inter,sans-serif;-webkit-font-smoothing:antialiased}:root{--fc-border: #cbd5e1;--fc-text: #0f172a;--fc-muted: #64748b;--fc-placeholder: #94a3b8;--fc-focus: #2563eb;--fc-focus-ring: rgba(37, 99, 235, .18);--fc-error: #dc2626;--fc-error-ring: rgba(220, 38, 38, .18);--fc-btn-primary-bg: #2563eb;--fc-btn-primary-bg-hover: #1d4ed8;--fc-btn-primary-text: #ffffff;--fc-btn-secondary-text: #0f172a;--fc-btn-secondary-border: #cbd5e1;--fc-btn-danger-bg: #dc2626;--fc-btn-danger-bg-hover: #b91c1c;--fc-btn-danger-text: #ffffff}.dark,[data-theme=dark]{--fc-border: #334155;--fc-text: #e2e8f0;--fc-muted: #94a3b8;--fc-placeholder: #64748b;--fc-focus: #38bdf8;--fc-focus-ring: rgba(56, 189, 248, .22);--fc-error: #f87171;--fc-error-ring: rgba(248, 113, 113, .22);--fc-btn-primary-bg: #0ea5e9;--fc-btn-primary-bg-hover: #0284c7;--fc-btn-primary-text: #ffffff;--fc-btn-secondary-text: #e2e8f0;--fc-btn-secondary-border: #334155;--fc-btn-danger-bg: #ef4444;--fc-btn-danger-bg-hover: #dc2626;--fc-btn-danger-text: #ffffff}.fc-field{display:grid;gap:6px}.fc-field-full{width:100%}.fc-label{font-size:.875rem;font-weight:600;color:var(--fc-text)}.fc-control{position:relative;border:1px solid var(--fc-border);border-radius:8px;background:var(--esp-bg-input);color:var(--fc-text);transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.fc-control:focus-within{border-color:var(--fc-focus);box-shadow:0 0 0 2px var(--fc-focus-ring)}.fc-control-error{border-color:var(--fc-error)}.fc-control-error:focus-within{box-shadow:0 0 0 2px var(--fc-error-ring)}.fc-control-input{display:flex;align-items:center}.fc-input,.fc-select,.fc-textarea{width:100%;border:none;outline:none;background:transparent;color:var(--fc-text);font:inherit;font-size:.95rem;line-height:1.3;padding:10px 12px}.fc-input::placeholder{color:var(--fc-placeholder)}.fc-textarea{min-height:96px;line-height:1.45;resize:vertical}.fc-textarea::placeholder{color:var(--fc-placeholder)}.fc-input:disabled,.fc-select:disabled,.fc-textarea:disabled{cursor:not-allowed;opacity:.65}.fc-has-left .fc-input{padding-left:36px}.fc-has-right .fc-input{padding-right:36px}.fc-adornment{position:absolute;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;color:var(--fc-muted);pointer-events:none}.fc-adornment-left{left:12px}.fc-adornment-right{right:12px}.fc-select-wrap{display:flex;align-items:center}.fc-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:36px;cursor:pointer;color-scheme:light}.fc-select option,.fc-select optgroup{background:var(--esp-bg-input);color:var(--fc-text)}.dark .fc-select,[data-theme=dark] .fc-select{color-scheme:dark}.fc-select-icon{position:absolute;right:10px;font-size:1rem;color:var(--fc-muted);pointer-events:none}.fc-message{font-size:.75rem;color:var(--fc-muted)}.fc-message-error{color:var(--fc-error)}.fc-choice{display:inline-flex;align-items:flex-start;gap:10px;color:var(--fc-text);cursor:pointer}.fc-choice-disabled{opacity:.65;cursor:not-allowed}.fc-choice-control{position:relative;flex:0 0 18px;width:18px;height:18px;margin-top:2px}.fc-choice-input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;margin:0;cursor:pointer}.fc-choice-disabled .fc-choice-input{cursor:not-allowed}.fc-choice-indicator{position:relative;width:100%;height:100%;border:1.5px solid var(--fc-border);background:var(--esp-bg-input);color:#fff;transition:border-color .2s ease,background .2s ease,box-shadow .2s ease,color .2s ease}.fc-checkbox-indicator{border-radius:5px;display:inline-flex;align-items:center;justify-content:center;overflow:hidden}.fc-choice-check-icon,.fc-choice-minus-icon{position:absolute;top:50%;left:50%;opacity:0;transform:translate(-50%,-50%) scale(.6);transition:opacity .15s ease,transform .15s ease;font-size:.82rem}.fc-choice-input:checked+.fc-checkbox-indicator{border-color:var(--fc-focus);background:var(--fc-focus)}.fc-choice-input:checked+.fc-checkbox-indicator .fc-choice-check-icon{opacity:1;transform:translate(-50%,-50%) scale(1)}.fc-choice-indicator-indeterminate{border-color:var(--fc-focus);background:var(--fc-focus)}.fc-choice-indicator-indeterminate .fc-choice-check-icon{display:none}.fc-choice-indicator-indeterminate .fc-choice-minus-icon{opacity:1;transform:translate(-50%,-50%) scale(1)}.fc-radio-indicator{border-radius:999px}.fc-radio-indicator:after{content:"";position:absolute;top:50%;left:50%;width:8px;height:8px;border-radius:999px;background:var(--fc-focus);transform:translate(-50%,-50%) scale(.5);opacity:0;transition:transform .15s ease,opacity .15s ease}.fc-choice-input:checked+.fc-radio-indicator{border-color:var(--fc-focus)}.fc-choice-input:checked+.fc-radio-indicator:after{opacity:1;transform:translate(-50%,-50%) scale(1)}.fc-choice-input:focus-visible+.fc-choice-indicator{border-color:var(--fc-focus);box-shadow:0 0 0 2px var(--fc-focus-ring)}.fc-choice-error .fc-choice-indicator{border-color:var(--fc-error)}.fc-choice-error .fc-choice-input:checked+.fc-checkbox-indicator{border-color:var(--fc-error);background:var(--fc-error)}.fc-choice-error .fc-choice-input:checked+.fc-radio-indicator:after{background:var(--fc-error)}.fc-choice-error .fc-choice-input:focus-visible+.fc-choice-indicator{box-shadow:0 0 0 2px var(--fc-error-ring)}.fc-choice-content{display:grid;gap:2px;min-width:0}.fc-choice-label{font-size:.92rem;line-height:1.35}.fc-choice-description{font-size:.78rem;color:var(--fc-muted)}.fc-radio-group{border:0;margin:0;padding:0;display:grid;gap:8px}.fc-radio-group-label{margin:0;padding:0}.fc-radio-options{display:flex;gap:10px}.fc-radio-options-vertical{flex-direction:column}.fc-radio-options-horizontal{flex-direction:row;flex-wrap:wrap;gap:10px 16px}.fc-btn{border:1px solid transparent;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font:inherit;font-weight:600;cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease,opacity .2s ease}.fc-btn:focus-visible{outline:none;box-shadow:0 0 0 2px var(--fc-focus-ring)}.fc-btn:disabled{opacity:.65;cursor:not-allowed}.fc-btn-full{width:100%}.fc-btn-sm{font-size:.82rem;padding:6px 10px}.fc-btn-md{font-size:.9rem;padding:8px 14px}.fc-btn-lg{font-size:.96rem;padding:10px 16px}.fc-btn-primary{background:var(--fc-btn-primary-bg);color:var(--fc-btn-primary-text)}.fc-btn-primary:hover:not(:disabled){background:var(--fc-btn-primary-bg-hover)}.fc-btn-secondary{background:var(--esp-bg-surface);color:var(--fc-btn-secondary-text);border-color:var(--fc-btn-secondary-border)}.fc-btn-secondary:hover:not(:disabled){background:var(--esp-bg-surface-hover)}.fc-btn-danger{background:var(--fc-btn-danger-bg);color:var(--fc-btn-danger-text)}.fc-btn-danger:hover:not(:disabled){background:var(--fc-btn-danger-bg-hover)}.fc-btn-ghost{background:transparent;color:var(--fc-text);border-color:var(--fc-border)}.fc-btn-ghost:hover:not(:disabled){background:var(--esp-bg-subtle)}.fc-btn-icon{display:inline-flex;align-items:center;justify-content:center;font-size:1rem}.fc-btn-label{line-height:1}.fc-btn-spinner{width:14px;height:14px;border-radius:999px;border:2px solid currentColor;border-right-color:transparent;animation:fc-spin .7s linear infinite}@keyframes fc-spin{to{transform:rotate(360deg)}}.ph-root{display:flex;flex-direction:column;gap:4px}.ph-title{font-size:1.5rem;font-weight:600;color:var(--ph-title);margin:0;line-height:1.2}.ph-desc{font-size:.875rem;color:var(--ph-desc);margin:0;line-height:1.5}:root{--card-positive: #22c55e;--card-negative: #ef4444;--card-warning: #f59e0b}.dark,[data-theme=dark]{--card-positive: #4ade80;--card-negative: #f87171;--card-warning: #fbbf24}.card{background:var(--esp-bg-base);border-radius:12px;padding:16px;box-shadow:var(--esp-shadow-base);color:var(--dt-text);font-family:var(--sb-font)}.card *{box-sizing:border-box}.card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.card-title{font-weight:600;color:var(--dt-muted)}.card-icon{color:var(--dt-muted-strong)}.card-body p{margin:0}.card-metric{font-size:2rem;font-weight:700;line-height:1.2}.card-metric-positive{color:var(--card-positive)}.card-metric-negative{color:var(--card-negative)}.card-metric-warning{color:var(--card-warning)}.card-trend{font-size:.875rem;margin-top:8px}.card-trend-positive{color:var(--card-positive)}.card-trend-negative{color:var(--card-negative)}.card-trend-warning{color:var(--card-warning)}.card-trend-neutral{color:var(--dt-muted)}.card.is-loading{animation:dt-pulse 1.5s ease-in-out infinite}.bg-wrap{position:relative;min-height:100vh;overflow:hidden;isolation:isolate;background:radial-gradient(circle at 12% 8%,rgba(56,189,248,.18),transparent 22%),radial-gradient(ellipse at 88% 92%,rgba(236,72,153,.18) 0%,transparent 55%),linear-gradient(180deg,var(--esp-bg-base) 0%,var(--esp-bg-page) 100%)}.bg-wrap:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.48;z-index:0}.bg-wrap>*{position:relative;z-index:1}.bg-wrap--dark,.dark .bg-wrap,[data-theme=dark] .bg-wrap{background:radial-gradient(circle at 12% 8%,rgba(56,189,248,.14),transparent 22%),radial-gradient(ellipse at 88% 92%,rgba(236,72,153,.28) 0%,transparent 52%),linear-gradient(180deg,var(--esp-bg-base) 0%,var(--esp-bg-page) 100%)}.bg-wrap--auto{min-height:unset}.bg-pattern-dots:before{background-image:radial-gradient(circle,color-mix(in srgb,var(--esp-color-primary) 26%,transparent) 1.2px,transparent 1.2px);background-size:24px 24px}.bg-pattern-grid:before{background-image:linear-gradient(to right,color-mix(in srgb,var(--esp-border-base) 78%,transparent) 1px,transparent 1px),linear-gradient(to bottom,color-mix(in srgb,var(--esp-border-base) 78%,transparent) 1px,transparent 1px);background-size:32px 32px}.bg-pattern-waves:before{background-image:radial-gradient(circle at 0 100%,transparent 20px,color-mix(in srgb,var(--esp-color-primary) 12%,transparent) 21px,transparent 22px),radial-gradient(circle at 100% 0,transparent 20px,color-mix(in srgb,var(--esp-color-primary) 12%,transparent) 21px,transparent 22px);background-size:48px 48px;background-position:0 0,24px 24px}.bg-wrap--dark:before,.dark .bg-wrap:before,[data-theme=dark] .bg-wrap:before{opacity:.72}.esp-shell{display:flex;min-height:100vh;background:transparent;color:var(--esp-text-base)}.esp-shell-main{flex:1;min-width:0;display:flex;flex-direction:column;background:transparent}.esp-shell-header{padding-inline:var(--esp-spacing-6)}.esp-shell-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;padding-right:12px}.esp-shell-content{flex:1;padding:var(--esp-spacing-6);background:transparent}.esp-shell-container{width:100%;max-width:1200px;margin:0 auto;display:grid;gap:var(--esp-spacing-6);background:transparent}@media (max-width: 640px){.esp-shell-header{padding-inline:var(--esp-spacing-4)}.esp-shell-actions{width:100%;justify-content:flex-end;padding-right:0}.esp-shell-content{padding:var(--esp-spacing-4)}}.dt-root{color:var(--esp-text-base);font-family:inherit}.dt-root *{box-sizing:border-box}.dt-root button,.dt-root input,.dt-root select{font:inherit}.dt-panel{width:100%;border:1px solid var(--esp-border-base);background:var(--esp-bg-surface);border-radius:12px;box-shadow:var(--dt-shadow)}.dt-header{padding:16px;border-bottom:1px solid var(--esp-border-base);display:flex;justify-content:space-between;align-items:center;gap:16px}.dt-search{position:relative;width:100%;max-width:20rem}.dt-search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--esp-text-muted)}.dt-search-input{width:100%;max-width:20rem;border-radius:8px;border:1px solid var(--esp-border-base);background:var(--esp-bg-base);color:var(--esp-text-base);padding:8px 12px 8px 36px}.dt-search-input:focus{outline:none;border-color:var(--esp-color-primary-500);box-shadow:0 0 0 2px var(--esp-color-primary-500)}.dt-settings-anchor{position:relative}.dt-icon-button{padding:8px;border-radius:8px;background:transparent;border:none;cursor:pointer;color:var(--esp-text-muted)}.dt-icon-button:hover{background:var(--esp-bg-surface-hover)}.dt-icon{width:20px;height:20px}.dt-table-wrapper{overflow-x:auto;display:none}@media (min-width: 768px){.dt-table-wrapper{display:block}}.dt-table{width:100%;min-width:100%;border-collapse:collapse;table-layout:fixed}.dt-td,.dt-th{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dt-layout-scroll .dt-table{width:max-content;min-width:100%;table-layout:auto}.dt-layout-scroll .dt-td,.dt-layout-scroll .dt-th{overflow:visible;text-overflow:unset;white-space:nowrap}.dt-table-head{background:var(--esp-bg-surface-hover)}.dt-th{padding:12px 24px;text-align:left;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--esp-text-base)}.dt-tbody tr{border-top:1px solid var(--esp-border-base)}.dt-row{transition:background var(--esp-transition-base)}.dt-row:hover{background:var(--esp-bg-surface-hover)}.dt-td{padding:16px 24px;font-size:.875rem;color:var(--esp-text-base);white-space:nowrap}.dt-empty{padding:32px 0;text-align:center;color:var(--esp-text-muted)}.dt-cards{padding:16px;display:flex;flex-direction:column;gap:16px}@media (min-width: 768px){.dt-cards{display:none}}.dt-card{position:relative;border-radius:12px;border:1px solid var(--esp-border-base);background:var(--esp-bg-surface);padding:16px}.dt-card-list{display:flex;flex-direction:column;gap:12px}.dt-card-actions{position:absolute;top:12px;right:12px}.dt-card-label{font-size:.75rem;font-weight:600;text-transform:uppercase;color:var(--esp-text-muted)}.dt-card-value{margin-top:4px;font-size:.875rem;color:var(--esp-text-base)}.dt-pagination{padding:16px;border-top:1px solid var(--esp-border-base);display:flex;flex-direction:column;gap:12px;font-size:.875rem}@media (min-width: 640px){.dt-pagination{flex-direction:row;align-items:center;justify-content:space-between}}.dt-pagination-info{display:flex;align-items:center;gap:12px}.dt-only-sm{display:none}@media (min-width: 640px){.dt-only-sm{display:inline}}.dt-muted{opacity:.8}.dt-muted-soft{opacity:.6}.dt-select-group{display:flex;align-items:center;gap:8px}.dt-select{border-radius:8px;border:1px solid var(--esp-border-base);background:var(--esp-bg-surface);padding:4px 8px;color:var(--esp-text-base)}.dt-pagination-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.dt-button{display:inline-flex;align-items:center;gap:8px;padding:4px 12px;border-radius:8px;background:transparent;border:none;cursor:pointer;color:var(--esp-text-base)}.dt-button:hover{background:var(--esp-bg-surface-hover)}.dt-button:disabled{opacity:.5;cursor:not-allowed}.dt-page-status{padding:0 8px}@keyframes dt-pulse{0%,to{opacity:1}50%{opacity:.45}}.dt-skeleton-card{border-radius:12px;border:1px solid var(--esp-border-base);background:var(--esp-bg-surface);padding:16px;display:flex;flex-direction:column;gap:12px;animation:dt-pulse 1.5s ease-in-out infinite}.dt-skeleton-row{animation:dt-pulse 1.5s ease-in-out infinite}.dt-skeleton-cell{padding:16px}.dt-skeleton-line{height:16px;border-radius:6px;background:var(--esp-bg-skeleton)}.dt-w-3-4{width:75%}.dt-w-1-2{width:50%}.dt-w-2-3{width:66.6667%}.dt-sortable-item{display:flex;align-items:center;justify-content:space-between;padding:8px;border-radius:8px;transition:box-shadow var(--esp-transition-base)}.dt-sortable-item:hover{box-shadow:0 1px 3px #0f172a26}.dt-sortable-left{display:flex;align-items:center;gap:8px;flex-grow:1;overflow:hidden}.dt-checkbox{accent-color:var(--esp-color-primary-500)}.dt-sortable-label{font-size:.875rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dt-sortable-drag{cursor:grab;padding:4px;color:var(--esp-text-muted);background:transparent;border:none;touch-action:none}.dt-settings-panel{position:absolute;top:100%;right:0;margin-top:8px;width:16rem;border-radius:8px;box-shadow:0 10px 24px #0f172a26;z-index:20;background:var(--esp-bg-surface);border:1px solid var(--esp-border-base)}.dt-settings-inner{padding:12px}.dt-settings-title{font-size:.875rem;font-weight:600;margin:0 0 8px}.dt-settings-help{font-size:.75rem;color:var(--esp-text-muted);margin:0 0 12px}.dt-settings-list{display:flex;flex-direction:column;gap:4px}.dt-glass{background:var(--esp-glass-bg, var(--esp-glass-bg));border:1px solid var(--esp-glass-border, rgba(255, 255, 255, .5));box-shadow:0 8px 32px #0000001f,0 2px 8px #0000000f,inset 0 1px #fff6;-webkit-backdrop-filter:saturate(180%) blur(var(--esp-glass-blur, 20px));backdrop-filter:saturate(180%) blur(var(--esp-glass-blur, 20px));color:var(--esp-text-base);border-radius:var(--esp-radius-lg, 12px)}.dt-glass .dt-table-head{background:rgba(15,23,42,.04)}.dt-glass .dt-th{color:#0f172aeb;font-weight:600;text-transform:uppercase;font-size:.75rem;letter-spacing:.05em}.dt-glass .dt-td{color:var(--esp-text-base)}.dt-glass .dt-tbody tr{border-top:1px solid rgba(15,23,42,.08);transition:background var(--esp-transition-base)}.dt-glass .dt-row:hover{background:rgba(15,23,42,.04)}.dt-glass .dt-header{border-bottom-color:#0f172a14}.dt-glass .dt-search-input{background:rgba(255,255,255,.6);border:1px solid rgba(15,23,42,.1);color:var(--esp-text-base);border-radius:var(--esp-radius-md, 8px);transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.dt-glass .dt-search-input:focus{border-color:#0f172a33;box-shadow:0 0 0 3px #0f172a0d;background:var(--esp-bg-base)}.dt-glass .dt-search-input::placeholder{color:#0f172a73}.dt-glass .dt-search-icon,.dt-glass .dt-icon-button{color:#0f172a8c;transition:color .2s ease,background .2s ease}.dt-glass .dt-icon-button:hover{background:rgba(15,23,42,.06);color:#0f172ad9}.dt-glass .dt-muted,.dt-glass .dt-muted-soft{color:#0f172a99;opacity:1}.dt-glass .dt-select{background:rgba(255,255,255,.6);border:1px solid rgba(15,23,42,.1);border-radius:var(--esp-radius-md, 8px);color:var(--esp-text-base);transition:border-color .2s ease}.dt-glass .dt-select:focus{border-color:#0f172a33}.dt-glass .dt-button{color:var(--esp-text-base);transition:background .2s ease,color .2s ease}.dt-glass .dt-button:hover:not(:disabled){background:rgba(15,23,42,.06)}.dt-glass .dt-button:disabled{color:#0f172a4d}.dt-glass .dt-page-status{color:#0f172acc}.dt-glass .dt-empty{color:#0f172a73}.dt-glass .dt-pagination{color:var(--esp-text-base);border-top:1px solid rgba(15,23,42,.08)}.dt-glass .dt-card{background:rgba(255,255,255,.6);border:1px solid rgba(15,23,42,.08);transition:background var(--esp-transition-base)}.dt-glass .dt-card:hover{background:rgba(255,255,255,.8)}.dt-glass .dt-card-label{color:var(--esp-text-muted)}.dt-glass .dt-card-value{color:var(--esp-text-base)}[data-theme=dark] .dt-glass,.dark .dt-glass{background:var(--esp-glass-bg, var(--esp-glass-bg));border-color:var(--esp-glass-border, rgba(255, 255, 255, .1));box-shadow:0 8px 32px #00000059,0 2px 8px #0003,inset 0 1px #ffffff0f;color:var(--esp-text-base)}[data-theme=dark] .dt-glass .dt-table-head,.dark .dt-glass .dt-table-head{background:rgba(255,255,255,.04)}[data-theme=dark] .dt-glass .dt-th,.dark .dt-glass .dt-th{color:#ffffffeb}[data-theme=dark] .dt-glass .dt-td,.dark .dt-glass .dt-td{color:var(--esp-text-base)}[data-theme=dark] .dt-glass .dt-tbody tr,.dark .dt-glass .dt-tbody tr{border-top-color:#ffffff14}[data-theme=dark] .dt-glass .dt-row:hover,.dark .dt-glass .dt-row:hover{background:rgba(255,255,255,.06)}[data-theme=dark] .dt-glass .dt-header,.dark .dt-glass .dt-header{border-bottom-color:#ffffff1f}[data-theme=dark] .dt-glass .dt-search-input,.dark .dt-glass .dt-search-input{background:rgba(255,255,255,.06);border-color:#ffffff1a;color:var(--esp-text-base)}[data-theme=dark] .dt-glass .dt-search-input:focus,.dark .dt-glass .dt-search-input:focus{border-color:#fff3;box-shadow:0 0 0 3px #ffffff0d;background:rgba(255,255,255,.14)}[data-theme=dark] .dt-glass .dt-search-input::placeholder,.dark .dt-glass .dt-search-input::placeholder{color:var(--esp-text-muted)}[data-theme=dark] .dt-glass .dt-search-icon,.dark .dt-glass .dt-search-icon,[data-theme=dark] .dt-glass .dt-icon-button,.dark .dt-glass .dt-icon-button{color:#ffffff8c}[data-theme=dark] .dt-glass .dt-icon-button:hover,.dark .dt-glass .dt-icon-button:hover{background:rgba(255,255,255,.12);color:#ffffffd9}[data-theme=dark] .dt-glass .dt-muted,.dark .dt-glass .dt-muted,[data-theme=dark] .dt-glass .dt-muted-soft,.dark .dt-glass .dt-muted-soft{color:#fff9}[data-theme=dark] .dt-glass .dt-select,.dark .dt-glass .dt-select{background:rgba(255,255,255,.06);border-color:#ffffff1a;color:var(--esp-text-base)}[data-theme=dark] .dt-glass .dt-select:focus,.dark .dt-glass .dt-select:focus{border-color:#ffffff59}[data-theme=dark] .dt-glass .dt-button,.dark .dt-glass .dt-button{color:var(--esp-text-base)}[data-theme=dark] .dt-glass .dt-button:hover:not(:disabled),.dark .dt-glass .dt-button:hover:not(:disabled){background:rgba(255,255,255,.12)}[data-theme=dark] .dt-glass .dt-button:disabled,.dark .dt-glass .dt-button:disabled{color:#ffffff4d}[data-theme=dark] .dt-glass .dt-page-status,.dark .dt-glass .dt-page-status{color:#fffc}[data-theme=dark] .dt-glass .dt-empty,.dark .dt-glass .dt-empty{color:var(--esp-text-muted)}[data-theme=dark] .dt-glass .dt-pagination,.dark .dt-glass .dt-pagination{color:var(--esp-text-base);border-top-color:#ffffff14}[data-theme=dark] .dt-glass .dt-card,.dark .dt-glass .dt-card{background:rgba(255,255,255,.06);border-color:#ffffff1a}[data-theme=dark] .dt-glass .dt-card:hover,.dark .dt-glass .dt-card:hover{background:rgba(255,255,255,.1)}[data-theme=dark] .dt-glass .dt-card-label,.dark .dt-glass .dt-card-label{color:#ffffff80}[data-theme=dark] .dt-glass .dt-card-value,.dark .dt-glass .dt-card-value,.sd-root{color:var(--esp-text-base)}.sd-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;background:var(--esp-bg-overlay);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.sd-aside{position:fixed;top:0;left:0;height:100vh;display:flex;flex-direction:column;justify-content:space-between;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;border-right:1px solid var(--esp-border-base);background:var(--sd-bg, var(--esp-bg-surface));color:var(--esp-text-base);transition:transform var(--esp-transition-slow),width var(--esp-transition-base);will-change:transform,width;width:16rem;box-sizing:border-box}.sd-surface-default{background:var(--sd-bg, var(--esp-bg-surface))}.sd-surface-soft{background:linear-gradient(180deg,color-mix(in srgb,var(--esp-bg-surface) 96%,transparent) 0%,color-mix(in srgb,var(--esp-bg-surface-hover) 88%,transparent) 100%);box-shadow:inset 0 1px 0 color-mix(in srgb,var(--esp-color-white, #ffffff) 24%,transparent),0 18px 36px #0f172a0f}.sd-surface-glass{background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.02)),var(--sd-bg, var(--esp-glass-bg, rgba(15, 23, 42, .7)));border-right-color:var(--sd-border, var(--esp-glass-border, rgba(255, 255, 255, .12)));box-shadow:0 22px 60px #0206172e,var(--esp-glass-highlight, inset 0 1px 0 rgba(255, 255, 255, .08));-webkit-backdrop-filter:saturate(180%) blur(var(--esp-glass-blur, 18px));backdrop-filter:saturate(180%) blur(var(--esp-glass-blur, 18px))}.sd-surface-glass .sd-brand{background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.02)),var(--sd-brand-color, transparent);border-bottom:1px solid color-mix(in srgb,var(--sd-border, var(--esp-border-base)) 82%,transparent)}.sd-surface-glass .sd-footer{background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.015)),var(--sd-footer-bg, transparent);border-top-color:color-mix(in srgb,var(--sd-border, var(--esp-border-base)) 82%,transparent)}.sd-surface-glass .sd-link-inactive:hover{background:color-mix(in srgb,var(--sd-hover, var(--esp-bg-subtle)) 88%,transparent)}[data-theme=dark] .sd-surface-soft,.dark .sd-surface-soft,[data-sd-theme=dark] .sd-surface-soft{background:linear-gradient(180deg,rgba(255,255,255,.035) 0%,rgba(255,255,255,.015) 100%),color-mix(in srgb,var(--esp-bg-surface) 96%,transparent);box-shadow:inset 0 1px #ffffff0a,0 18px 42px #02061738}[data-theme=dark] .sd-surface-glass,.dark .sd-surface-glass,[data-sd-theme=dark] .sd-surface-glass{background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.01)),linear-gradient(180deg,rgba(15,23,42,.18),rgba(15,23,42,.06)),var(--sd-bg, var(--esp-glass-bg, rgba(15, 23, 42, .72)));box-shadow:0 24px 64px #0206174d,var(--esp-glass-highlight, inset 0 1px 0 rgba(255, 255, 255, .07))}[data-theme=dark] .sd-surface-glass .sd-brand,.dark .sd-surface-glass .sd-brand,[data-sd-theme=dark] .sd-surface-glass .sd-brand{background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.012)),var(--sd-brand-color, transparent)}[data-theme=dark] .sd-surface-glass .sd-footer,.dark .sd-surface-glass .sd-footer,[data-sd-theme=dark] .sd-surface-glass .sd-footer{background:linear-gradient(180deg,rgba(255,255,255,.028),rgba(255,255,255,.01)),var(--sd-footer-bg, transparent)}.sd-aside *{box-sizing:border-box}.sd-mobile-open{transform:translate(0);z-index:40}.sd-mobile-closed{transform:translate(-100%);z-index:10}.sd-collapsed{width:48px}@media (max-width: 767px){.sd-aside{width:clamp(14rem,80vw,20rem)}}@media (min-width: 768px){.sd-aside{position:sticky;transform:translate(0);z-index:auto}.sd-mobile-open,.sd-mobile-closed{transform:translate(0)}}.sd-aside-content{display:flex;flex-direction:column;flex:1;overflow-y:auto}.sd-brand{display:flex;align-items:center;justify-content:space-between;gap:12px;height:64px;padding:0 20px;background:var(--sd-brand-color, transparent);flex-shrink:0}.sd-brand-content{display:flex;align-items:center;gap:12px;overflow:hidden}.sd-pin-button{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;border:none;background:transparent;color:var(--esp-text-muted);cursor:pointer;flex-shrink:0;transition:background var(--esp-transition-fast),transform var(--esp-transition-fast)}.sd-pin-button:hover{background:var(--esp-bg-surface-hover);color:var(--esp-text-base)}.sd-mobile-toggle{position:fixed;top:16px;left:16px;z-index:45;border-radius:999px;border:1px solid var(--esp-border-base);background:var(--esp-bg-surface);color:var(--esp-text-base);width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background var(--esp-transition-fast),transform var(--esp-transition-fast)}.sd-mobile-toggle:hover{background:var(--esp-bg-subtle-hover, var(--esp-bg-surface-hover))}.sd-mobile-toggle-hidden{opacity:0;pointer-events:none;transform:scale(.95)}@media (min-width: 768px){.sd-mobile-toggle{display:none}}[data-sd-mode=mobile] .sd-aside{position:absolute;height:100%;top:0;left:0;width:clamp(14rem,80vw,20rem);z-index:10}[data-sd-mode=mobile] .sd-aside.sd-collapsed{width:clamp(14rem,80vw,20rem)}[data-sd-mode=mobile] .sd-aside.sd-mobile-closed{transform:translate(-100%);z-index:10}[data-sd-mode=mobile] .sd-aside.sd-mobile-open{transform:translate(0);z-index:40}[data-sd-mode=mobile] .sd-overlay{position:absolute}[data-sd-mode=mobile] .sd-mobile-toggle{position:absolute;display:inline-flex}.sd-logo{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;overflow:hidden;flex-shrink:0}.sd-logo-img{width:100%;height:100%;object-fit:contain}.sd-brand-text{font-size:1rem;font-weight:600;color:var(--esp-text-base);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sd-nav{display:flex;flex-direction:column;gap:24px;padding:8px 16px 24px}.sd-section{display:flex;flex-direction:column;gap:8px}.sd-section-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.sd-heading{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--esp-text-muted);padding:0 12px;margin:0 0 4px}.sd-link-wrapper{width:100%}.sd-link{display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px 10px 9px;border-left:3px solid transparent;border-radius:var(--esp-radius-md, 8px);background:transparent;text-decoration:none;font-size:.875rem;font-weight:500;cursor:pointer;color:var(--esp-text-muted);border:none;transition:background var(--esp-transition-fast),color var(--esp-transition-fast);min-height:36px}.sd-link-active{background:var(--sd-active-bg, color-mix(in srgb, var(--sd-tint, var(--esp-color-primary, var(--esp-color-primary-500))) 14%, transparent));color:var(--esp-text-base);font-weight:600;border-left-color:var(--sd-tint, var(--esp-color-primary, var(--esp-color-primary-500)));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--sd-tint, var(--esp-color-primary, var(--esp-color-primary-500))) 22%,transparent)}.sd-link-active .sd-icon{color:var(--sd-tint, var(--esp-color-primary, var(--esp-color-primary-500)))}.dark .sd-link-active,[data-theme=dark] .sd-link-active{background:var(--sd-active-bg, color-mix(in srgb, var(--sd-tint, var(--esp-color-primary, var(--esp-color-primary-500))) 16%, transparent))}.sd-link-inactive:hover{background:var(--sd-hover, var(--esp-bg-subtle));color:var(--esp-text-base)}.sd-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0;position:relative}.sd-icon svg{width:100%;height:100%}.sd-label-wrapper{display:flex;align-items:center;justify-content:space-between;width:100%;overflow:hidden}.sd-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sd-badge{font-size:.75rem;font-weight:500;padding:2px 8px;border-radius:9999px;background:var(--sd-badge-bg, var(--esp-bg-subtle-hover, #f1f5f9));color:var(--sd-badge-color, var(--esp-text-muted));flex-shrink:0;margin-left:8px}.dark .sd-badge,[data-theme=dark] .sd-badge{background:var(--sd-badge-bg, var(--esp-bg-subtle));color:var(--sd-badge-color, var(--esp-text-muted))}.sd-badge-dot{position:absolute;top:-2px;right:-2px;width:6px;height:6px;border-radius:50%;background:var(--esp-color-primary, #2563eb)}.sd-footer{padding:16px 20px;border-top:1px solid var(--esp-border-base);background:var(--sd-footer-bg, transparent);display:flex;flex-direction:column;gap:12px;flex-shrink:0}.sd-footer-actions{display:flex;flex-direction:column;gap:2px}.sd-user{display:flex;align-items:center;gap:12px;padding:8px 12px;border-radius:var(--esp-radius-md, 8px)}.sd-user-text{display:flex;flex-direction:column;overflow:hidden}.sd-user-name{font-size:.875rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--esp-text-base);line-height:1.25}.sd-user-email{font-size:.75rem;color:var(--esp-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.25}.sd-avatar{width:40px;height:40px;border-radius:9999px;overflow:hidden;object-fit:cover;flex-shrink:0}.sd-avatar-initials{background:var(--esp-color-primary, #2563eb);color:var(--esp-text-inverse);display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:600}.sd-action{display:flex;align-items:center;gap:12px;width:100%;padding:8px 12px;border-radius:var(--esp-radius-md, 8px);border:none;background:transparent;color:var(--esp-text-muted);font-size:.875rem;font-weight:500;cursor:pointer;text-align:left;transition:background var(--esp-transition-fast),color var(--esp-transition-fast);min-height:36px}.sd-action:hover{background:var(--esp-bg-subtle);color:var(--esp-text-base)}.sd-action-danger{color:var(--esp-text-muted)}.sd-action-danger:hover{background:var(--esp-color-danger-subtle, #fef2f2);color:var(--esp-color-danger, #ef4444)}.dark .sd-action-danger:hover,[data-theme=dark] .sd-action-danger:hover{background:rgba(239,68,68,.1)}.sd-collapsed .sd-brand{padding:16px 0;height:auto;flex-direction:column;justify-content:center;gap:12px}.sd-collapsed .sd-brand-content{justify-content:center;gap:0}.sd-collapsed .sd-nav{padding:8px 4px 24px}.sd-collapsed .sd-link{padding:10px;justify-content:center}.sd-collapsed .sd-footer{padding:16px 4px;align-items:center}.sd-collapsed .sd-action{padding:10px;justify-content:center}.sd-collapsed .sd-user{padding:10px 0;justify-content:center}@media (max-width: 767px){.sd-link,.sd-action{min-height:44px}}.fsb-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90}.fsb-root *{box-sizing:border-box}.fsb-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--esp-bg-overlay)}.fsb-panel{position:absolute;top:0;bottom:0;max-width:100vw;background:var(--esp-glass-bg);backdrop-filter:saturate(180%) blur(16px);-webkit-backdrop-filter:saturate(180%) blur(16px);color:var(--esp-text-base);display:flex;flex-direction:column;box-shadow:var(--esp-glass-shadow)}.fsb-panel-right{right:0;border-left:1px solid var(--esp-glass-border);animation:fsb-slide-in-right var(--esp-transition-base)}.fsb-panel-left{left:0;border-right:1px solid var(--esp-glass-border);box-shadow:16px 0 40px #0f172a26;animation:fsb-slide-in-left var(--esp-transition-base)}.fsb-header{display:flex;justify-content:space-between;gap:16px;padding:16px;border-bottom:1px solid var(--esp-glass-border)}.fsb-header-content{min-width:0}.fsb-title{margin:0;font-size:1.05rem;font-weight:700;color:var(--esp-text-base)}.fsb-subtitle{margin:4px 0 0;font-size:.875rem;color:var(--esp-text-muted)}.fsb-close-button{width:34px;height:34px;border:1px solid var(--esp-glass-border);border-radius:8px;background:transparent;color:var(--esp-text-muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}.fsb-close-button:hover{color:var(--esp-text-base);background:var(--esp-bg-surface-hover)}.fsb-body{padding:16px;overflow-y:auto;flex:1}@keyframes fsb-slide-in-right{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes fsb-slide-in-left{0%{transform:translate(-100%)}to{transform:translate(0)}}@media (max-width: 640px){.fsb-panel{width:100%!important}}.esp-input-field{display:grid;gap:var(--esp-spacing-1);width:auto}.esp-input-field-fullWidth{width:100%}.esp-input-label{font-size:.875rem;font-weight:600;color:var(--esp-text-base)}.esp-input-control{position:relative;display:flex;align-items:center;border:1px solid var(--input-border, var(--esp-border-base));border-radius:var(--esp-radius-md);background:var(--input-bg, var(--esp-bg-base));color:var(--input-text, var(--esp-text-base));transition:var(--esp-transition-fast)}.esp-input-control:focus-within{border-color:var(--input-focus-border, var(--esp-color-primary-500));box-shadow:var(--esp-hover-glow)}.esp-input-control-error{--input-border: var(--esp-color-danger-500);--input-focus-border: var(--esp-color-danger-500)}.esp-input-control-error:focus-within{box-shadow:0 0 0 2px var(--esp-color-danger-bg)}.esp-input-control-disabled{opacity:.65;cursor:not-allowed;background:var(--esp-bg-surface-hover)}.esp-input{width:100%;border:none;outline:none;background:transparent;color:inherit;font:inherit;font-size:1rem;line-height:1.3;padding:var(--esp-spacing-2) var(--esp-spacing-3)}.esp-input:disabled{cursor:not-allowed;color:var(--esp-text-muted)}.esp-input::placeholder{color:var(--input-placeholder, var(--esp-text-muted))}.esp-input-hasLeft{padding-left:36px}.esp-input-hasRight{padding-right:36px}.esp-input-adornment{position:absolute;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;color:var(--esp-text-muted);pointer-events:none}.esp-input-adornment-left{left:var(--esp-spacing-3)}.esp-input-adornment-right{right:var(--esp-spacing-3)}.esp-input-message{font-size:.875rem;color:var(--esp-text-muted);margin-top:var(--esp-spacing-1)}.esp-input-message-error{color:var(--esp-color-danger-600)}.esp-combobox-field{display:grid;gap:var(--esp-spacing-1);width:auto;position:relative}.esp-combobox-field-fullWidth{width:100%}.esp-combobox-label{font-size:.875rem;font-weight:600;color:var(--esp-text-base)}.esp-combobox-control{position:relative;display:flex;align-items:center;border:1px solid var(--input-border, var(--esp-border-base));border-radius:var(--esp-radius-md);background:var(--input-bg, var(--esp-bg-base));color:var(--input-text, var(--esp-text-base));transition:var(--esp-transition-fast);cursor:pointer;min-height:40px;outline:none}.esp-combobox-control-open,.esp-combobox-control:focus-visible{border-color:var(--input-focus-border, var(--esp-color-primary-500));box-shadow:var(--esp-hover-glow)}.esp-combobox-control-error{--input-border: var(--esp-color-danger-500);--input-focus-border: var(--esp-color-danger-500)}.esp-combobox-control-error:focus-visible,.esp-combobox-control-error.esp-combobox-control-open{box-shadow:0 0 0 2px var(--esp-color-danger-bg)}.esp-combobox-control-disabled{opacity:.65;cursor:not-allowed;background:var(--esp-bg-surface-hover)}.esp-combobox-value{flex:1;padding:var(--esp-spacing-2) var(--esp-spacing-3);font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-webkit-user-select:none;user-select:none}.esp-combobox-placeholder{color:var(--input-placeholder, var(--esp-text-muted))}.esp-combobox-icon{display:flex;align-items:center;justify-content:center;padding:0 var(--esp-spacing-3);color:var(--esp-text-muted);transition:var(--esp-transition-fast)}.esp-combobox-icon-open{transform:rotate(180deg)}.esp-combobox-dropdown{position:absolute;z-index:var(--esp-z-popover, 1000);background:var(--esp-glass-bg);border:1px solid var(--esp-glass-border);-webkit-backdrop-filter:saturate(180%) blur(var(--esp-glass-blur));backdrop-filter:saturate(180%) blur(var(--esp-glass-blur));border-radius:var(--esp-radius-lg);box-shadow:var(--esp-glass-shadow),var(--esp-glass-highlight);display:flex;flex-direction:column;overflow:hidden;max-height:300px}.esp-combobox-search{padding:var(--esp-spacing-2);border-bottom:1px solid var(--esp-border-base);display:flex;align-items:center;gap:var(--esp-spacing-2);background:var(--esp-glass-bg)}.esp-combobox-search-icon{color:var(--esp-text-muted)}.esp-combobox-search-input{flex:1;border:none;outline:none;background:transparent;font-size:.875rem;color:var(--esp-text-base)}.esp-combobox-list{flex:1;overflow-y:auto;padding:var(--esp-spacing-1);margin:0;list-style:none}.esp-combobox-option{padding:var(--esp-spacing-2) var(--esp-spacing-3);border-radius:var(--esp-radius-md);font-size:1rem;color:var(--esp-text-base);cursor:pointer;display:flex;align-items:center;justify-content:space-between;transition:var(--esp-transition-fast);-webkit-user-select:none;user-select:none}.esp-combobox-option-highlighted{background:var(--esp-glass-bg-hover)}.esp-combobox-option-selected{background:var(--esp-color-primary-100);color:var(--esp-color-primary-700);font-weight:500}[data-theme=dark] .esp-combobox-option-selected,.dark .esp-combobox-option-selected{background:rgba(59,130,246,.15);color:var(--esp-color-primary-300)}.esp-combobox-option-disabled{opacity:.5;cursor:not-allowed}.esp-combobox-empty{padding:var(--esp-spacing-3);text-align:center;font-size:.875rem;color:var(--esp-text-muted)}.esp-combobox-message{font-size:.875rem;color:var(--esp-text-muted);margin-top:2px}.esp-combobox-message-error{color:var(--esp-color-danger-600)}.esp-checkbox{--checkbox-bg: var(--esp-bg-base);--checkbox-border: var(--esp-border-base);--checkbox-check: var(--esp-color-white);--checkbox-active-bg: var(--esp-color-primary-600);--checkbox-active-border: var(--esp-color-primary-600);display:inline-flex;align-items:flex-start;gap:var(--esp-spacing-2);cursor:pointer;position:relative}.esp-checkbox-disabled{cursor:not-allowed;opacity:.65}.esp-checkbox-error{--checkbox-border: var(--esp-color-danger-500);--checkbox-active-bg: var(--esp-color-danger-500);--checkbox-active-border: var(--esp-color-danger-500)}.esp-checkbox-control{position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}.esp-checkbox-size-sm .esp-checkbox-control{width:16px;height:16px}.esp-checkbox-size-md .esp-checkbox-control{width:20px;height:20px}.esp-checkbox-size-lg .esp-checkbox-control{width:24px;height:24px}.esp-checkbox-input{position:absolute;opacity:0;width:100%;height:100%;cursor:inherit;margin:0;z-index:1}.esp-checkbox-indicator{width:100%;height:100%;border-radius:var(--esp-radius-sm);border:1px solid var(--checkbox-border);background:var(--checkbox-bg);display:inline-flex;align-items:center;justify-content:center;transition:var(--esp-transition-base)}.esp-checkbox-input:focus-visible+.esp-checkbox-indicator{box-shadow:var(--esp-hover-glow);border-color:var(--checkbox-active-border)}.esp-checkbox-error .esp-checkbox-input:focus-visible+.esp-checkbox-indicator{box-shadow:0 0 0 2px var(--esp-color-danger-bg)}.esp-checkbox-input:checked+.esp-checkbox-indicator,.esp-checkbox-input:indeterminate+.esp-checkbox-indicator{background:var(--checkbox-active-bg);border-color:var(--checkbox-active-border)}.esp-checkbox-icon{color:var(--checkbox-check);width:70%;height:70%;opacity:0;transform:scale(.5);transition:var(--esp-transition-base);position:absolute}.esp-checkbox-input:checked+.esp-checkbox-indicator .esp-checkbox-icon-check,.esp-checkbox-input:indeterminate+.esp-checkbox-indicator .esp-checkbox-icon-minus{opacity:1;transform:scale(1)}.esp-checkbox-content{display:flex;flex-direction:column;gap:2px}.esp-checkbox-label{font-weight:500;color:var(--esp-text-base);line-height:normal}.esp-checkbox-size-sm .esp-checkbox-label{font-size:.875rem}.esp-checkbox-size-md .esp-checkbox-label{font-size:1rem}.esp-checkbox-size-lg .esp-checkbox-label{font-size:1.125rem}.esp-checkbox-description{font-size:.875rem;color:var(--esp-text-muted)}.esp-checkbox-size-sm .esp-checkbox-description{font-size:.75rem}.esp-checkbox-size-lg .esp-checkbox-description{font-size:1rem}.esp-radio-group{display:flex;flex-direction:column;gap:var(--esp-spacing-2);border:none;margin:0;padding:0}.esp-radio-group-label{font-size:.875rem;font-weight:600;color:var(--esp-text-base);margin-bottom:var(--esp-spacing-1)}.esp-radio-options{display:flex}.esp-radio-options-vertical{flex-direction:column;gap:var(--esp-spacing-2)}.esp-radio-options-horizontal{flex-direction:row;flex-wrap:wrap;gap:var(--esp-spacing-2) var(--esp-spacing-4)}.esp-radio{--radio-bg: var(--esp-bg-base);--radio-dot: var(--esp-color-white);--radio-ring: var(--esp-border-base);--radio-active-bg: var(--esp-color-primary-600);display:inline-flex;align-items:flex-start;gap:var(--esp-spacing-2);cursor:pointer;position:relative}.esp-radio-disabled{cursor:not-allowed;opacity:.65}.esp-radio-error{--radio-ring: var(--esp-color-danger-500);--radio-active-bg: var(--esp-color-danger-500)}.esp-radio-control{position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px;width:20px;height:20px}.esp-radio-input{position:absolute;opacity:0;width:100%;height:100%;cursor:inherit;margin:0;z-index:1}.esp-radio-indicator{width:100%;height:100%;border-radius:var(--esp-radius-full);border:1px solid var(--radio-ring);background:var(--radio-bg);display:inline-flex;align-items:center;justify-content:center;transition:var(--esp-transition-base)}.esp-radio-indicator:after{content:"";display:block;width:8px;height:8px;border-radius:var(--esp-radius-full);background:var(--radio-dot);opacity:0;transform:scale(.5);transition:var(--esp-transition-base)}.esp-radio-input:focus-visible+.esp-radio-indicator{box-shadow:var(--esp-hover-glow);border-color:var(--radio-active-bg)}.esp-radio-error .esp-radio-input:focus-visible+.esp-radio-indicator{box-shadow:0 0 0 2px var(--esp-color-danger-bg)}.esp-radio-input:checked+.esp-radio-indicator{background:var(--radio-active-bg);border-color:var(--radio-active-bg)}.esp-radio-input:checked+.esp-radio-indicator:after{opacity:1;transform:scale(1)}.esp-radio-content{display:flex;flex-direction:column;gap:2px}.esp-radio-label{font-weight:500;color:var(--esp-text-base);font-size:1rem;line-height:normal}.esp-radio-description{font-size:.875rem;color:var(--esp-text-muted)}.esp-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--esp-spacing-2);font-family:inherit;font-weight:500;font-size:.875rem;border-radius:var(--esp-radius-md);cursor:pointer;outline:none;transition:var(--esp-transition-base);position:relative;-webkit-user-select:none;user-select:none;line-height:1.25rem}.esp-btn:hover:not(:disabled){transform:var(--esp-hover-lift)}.esp-btn:active:not(:disabled){transform:var(--esp-active-press)}.esp-btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.esp-btn:focus-visible{box-shadow:0 0 0 2px var(--esp-bg-base),0 0 0 4px var(--esp-border-focus)}.esp-btn-size-sm{padding:var(--esp-spacing-1) var(--esp-spacing-3);font-size:.8125rem}.esp-btn-size-md{padding:var(--esp-spacing-2) var(--esp-spacing-4);font-size:.875rem}.esp-btn-size-lg{padding:.625rem var(--esp-spacing-5);font-size:1rem}.esp-btn-fullWidth{width:100%}.esp-btn-loading{cursor:wait}.esp-btn-variant-primary{background-color:var(--esp-color-primary-600);color:var(--esp-color-white);border:1px solid var(--esp-color-primary-700);box-shadow:var(--esp-shadow-sm)}.esp-btn-variant-primary:hover:not(:disabled){background-color:var(--esp-color-primary-700);box-shadow:var(--esp-hover-glow)}.esp-btn-variant-primary:active:not(:disabled){background-color:var(--esp-color-primary-800)}.esp-btn-variant-danger{background-color:var(--esp-color-danger-500);color:var(--esp-color-white);border:1px solid var(--esp-color-danger-600);box-shadow:var(--esp-shadow-sm)}.esp-btn-variant-danger:hover:not(:disabled){background-color:var(--esp-color-danger-600);box-shadow:0 0 0 2px var(--esp-color-danger-bg)}.esp-btn-variant-danger:active:not(:disabled){background-color:var(--esp-color-danger-800)}.esp-btn-variant-success{background-color:var(--esp-color-success-500);color:var(--esp-color-white);border:1px solid var(--esp-color-success-600);box-shadow:var(--esp-shadow-sm)}.esp-btn-variant-success:hover:not(:disabled){background-color:var(--esp-color-success-600)}.esp-btn-variant-success:active:not(:disabled){background-color:var(--esp-color-success-800)}.esp-btn-variant-warning{background-color:var(--esp-color-warning-500);color:var(--esp-color-white);border:1px solid var(--esp-color-warning-600);box-shadow:var(--esp-shadow-sm)}.esp-btn-variant-warning:hover:not(:disabled){background-color:var(--esp-color-warning-600)}.esp-btn-variant-warning:active:not(:disabled){background-color:var(--esp-color-warning-800)}.esp-btn-variant-info{background-color:var(--esp-color-info-500);color:var(--esp-color-white);border:1px solid var(--esp-color-info-600);box-shadow:var(--esp-shadow-sm)}.esp-btn-variant-info:hover:not(:disabled){background-color:var(--esp-color-info-600)}.esp-btn-variant-info:active:not(:disabled){background-color:var(--esp-color-info-800)}.esp-btn-variant-secondary{background-color:var(--esp-bg-surface);color:var(--esp-text-base);border:1px solid var(--esp-border-base);box-shadow:var(--esp-shadow-sm)}.esp-btn-variant-secondary:hover:not(:disabled){background-color:var(--esp-bg-surface-hover);border-color:var(--esp-border-focus)}.esp-btn-variant-secondary:active:not(:disabled){background-color:var(--esp-bg-surface-active)}.esp-btn-variant-outline{background-color:transparent;color:var(--esp-color-primary-600);border:1px solid var(--esp-color-primary-500)}.esp-btn-variant-outline:hover:not(:disabled){background-color:var(--esp-bg-subtle-hover)}.esp-btn-variant-outline:active:not(:disabled){background-color:var(--esp-color-primary-active)}.esp-btn-variant-ghost{background-color:transparent;color:var(--esp-text-muted);border:1px solid transparent}.esp-btn-variant-ghost:hover:not(:disabled){background-color:var(--esp-bg-surface-hover);color:var(--esp-text-base)}.esp-btn-variant-ghost:active:not(:disabled){background-color:var(--esp-bg-surface-active)}.esp-btn.esp-quick-action{width:40px;height:40px;padding:0;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;overflow:hidden}.esp-btn.esp-quick-action .esp-btn-label{display:inline-flex;align-items:center;justify-content:center;width:100%;gap:0}.esp-btn.esp-quick-action .esp-btn-label>svg,.esp-btn.esp-quick-action .esp-btn-icon,.esp-btn.esp-quick-action>svg{flex-shrink:0}.esp-quick-action-text{display:inline-block;line-height:1;white-space:nowrap}.esp-btn.esp-quick-action-expand{width:36px;height:36px;padding:0 9px;border-radius:10px;gap:0;align-items:center;transition:width .18s ease,padding .18s ease,background .18s ease,color .18s ease,justify-content .18s ease}.esp-btn.esp-quick-action-expand:hover:not(:disabled),.esp-btn.esp-quick-action-expand:focus-visible{width:128px;padding:0 10px;justify-content:flex-start;background:color-mix(in srgb,var(--esp-color-primary) 12%,transparent);color:var(--esp-color-primary)}.esp-btn.esp-quick-action-expand:hover:not(:disabled) .esp-btn-label,.esp-btn.esp-quick-action-expand:focus-visible .esp-btn-label{justify-content:flex-start}.esp-btn.esp-quick-action-expand .esp-quick-action-text{max-width:0;opacity:0;overflow:hidden;margin-left:0;transform:translate(-2px);transition:max-width .18s ease,opacity .18s ease,transform .18s ease,margin-left .18s ease}.esp-btn.esp-quick-action-expand:hover:not(:disabled) .esp-quick-action-text,.esp-btn.esp-quick-action-expand:focus-visible .esp-quick-action-text{max-width:84px;opacity:1;transform:translate(0);margin-left:6px}.esp-btn.esp-quick-action-outline{border:1px solid color-mix(in srgb,var(--esp-color-primary) 34%,transparent);background:transparent;color:var(--esp-color-primary)}.esp-btn.esp-quick-action-outline:hover:not(:disabled),.esp-btn.esp-quick-action-outline:focus-visible{background:color-mix(in srgb,var(--esp-color-primary) 10%,transparent);color:var(--esp-color-primary)}.esp-btn.esp-quick-action-soft{background:color-mix(in srgb,var(--esp-color-primary) 12%,transparent);color:var(--esp-color-primary)}.esp-btn.esp-quick-action-soft:hover:not(:disabled),.esp-btn.esp-quick-action-soft:focus-visible{background:color-mix(in srgb,var(--esp-color-primary) 16%,transparent);color:var(--esp-color-primary)}.esp-btn.esp-quick-action-glass{border:1px solid color-mix(in srgb,var(--esp-border-base) 88%,transparent);background:color-mix(in srgb,var(--esp-bg-surface) 82%,transparent);color:var(--esp-text-base);-webkit-backdrop-filter:blur(10px) saturate(120%);backdrop-filter:blur(10px) saturate(120%)}.esp-btn.esp-quick-action-glass:hover:not(:disabled),.esp-btn.esp-quick-action-glass:focus-visible{background:color-mix(in srgb,var(--esp-bg-surface-hover) 86%,transparent);color:var(--esp-text-base)}.esp-btn-icon{display:inline-flex;align-items:center;justify-content:center;font-size:1.1em}.esp-btn-label{line-height:inherit}.esp-btn-spinner{width:1em;height:1em;border-radius:var(--esp-radius-full);border:2px solid currentColor;border-right-color:transparent;animation:esp-btn-spin .7s linear infinite;display:inline-block}@keyframes esp-btn-spin{to{transform:rotate(360deg)}}.esp-textarea-control{position:relative;display:flex;flex-direction:column;border:1px solid var(--input-border, var(--esp-border-base));border-radius:var(--esp-radius-md);background:var(--input-bg, var(--esp-bg-base));color:var(--input-text, var(--esp-text-base));transition:var(--esp-transition-fast)}.esp-textarea-control:focus-within{border-color:var(--input-focus-border, var(--esp-color-primary-500));box-shadow:var(--esp-hover-glow)}.esp-textarea-control-error{--input-border: var(--esp-color-danger-500);--input-focus-border: var(--esp-color-danger-500)}.esp-textarea-control-error:focus-within{box-shadow:0 0 0 2px var(--esp-color-danger-bg)}.esp-textarea-control-disabled{opacity:.65;cursor:not-allowed;background:var(--esp-bg-surface-hover)}.esp-textarea{width:100%;min-height:96px;line-height:1.45;border:none;outline:none;background:transparent;color:inherit;font:inherit;font-size:1rem;padding:var(--esp-spacing-2) var(--esp-spacing-3);resize:vertical;border-radius:inherit;box-sizing:border-box}.esp-textarea:disabled{cursor:not-allowed;color:var(--esp-text-muted)}.esp-textarea::placeholder{color:var(--input-placeholder, var(--esp-text-muted))}.esp-textarea-autoresize{resize:none;overflow-y:hidden}.esp-textarea::-webkit-resizer{background-color:var(--esp-border-base);border:4px solid var(--esp-bg-base);box-shadow:inset 1px 1px #0000001a;border-radius:var(--esp-radius-sm)}.esp-textarea-footer{display:flex;justify-content:flex-end;padding:var(--esp-spacing-1) var(--esp-spacing-3) var(--esp-spacing-2);font-size:.75rem;color:var(--esp-text-muted)}.esp-page-header{display:flex;flex-direction:column;gap:var(--esp-spacing-1);padding:var(--esp-spacing-4) 0}.esp-page-header-row{display:flex;align-items:center;justify-content:space-between;gap:var(--esp-spacing-4);flex-wrap:wrap}.esp-page-header-content{display:flex;flex-direction:column;gap:var(--esp-spacing-1);min-width:0;flex:1}.esp-page-header-inverted{flex-direction:column-reverse}.esp-page-header-title{font-size:clamp(1.25rem,2vw + .5rem,2rem);font-weight:700;color:var(--esp-text-base);margin:0;line-height:1.3}.esp-page-header-description{font-size:clamp(.875rem,1vw + .25rem,1.125rem);color:var(--esp-text-muted);margin:0;line-height:1.5}.esp-page-header-actions{display:flex;align-items:center;gap:var(--esp-spacing-2);flex-shrink:0}.esp-page-header-breadcrumbs{margin-bottom:var(--esp-spacing-1)}.esp-page-header-tabs{margin-top:var(--esp-spacing-3);border-bottom:1px solid var(--esp-border-base)}.esp-page-header-sticky{position:sticky;top:0;z-index:var(--esp-z-sticky, 40);background:var(--esp-glass-bg);-webkit-backdrop-filter:saturate(180%) blur(var(--esp-glass-blur));backdrop-filter:saturate(180%) blur(var(--esp-glass-blur));transition:box-shadow var(--esp-transition-base)}.esp-page-header-sticky.esp-page-header-scrolled{box-shadow:var(--esp-glass-shadow);border-bottom:1px solid var(--esp-glass-border)}@media (max-width: 640px){.esp-page-header-row{flex-direction:column;align-items:flex-start}.esp-page-header-actions{width:100%}}.esp-card{--card-bg: var(--esp-bg-base);--card-border: var(--esp-border-base);--card-radius: var(--esp-radius-lg);--card-shadow-sm: var(--esp-shadow-sm);--card-shadow-md: var(--esp-shadow-md);--card-shadow-lg: var(--esp-shadow-lg);--card-ring: 0 0 0 1px var(--esp-border-subtle, rgba(0,0,0,.05));--esp-card-glass-opacity: 1;--esp-card-glass-blur: var(--esp-glass-blur);background-color:var(--card-bg);border-radius:var(--card-radius);color:var(--esp-text-base);display:flex;flex-direction:column;overflow:hidden;position:relative;transition:var(--esp-transition-base)}[data-theme=dark] .esp-card,.dark .esp-card{--card-bg: var(--esp-bg-surface);--card-border: var(--esp-border-subtle);--card-ring: inset 0 1px 0 0 rgba(255, 255, 255, .05), 0 0 0 1px rgba(255, 255, 255, .05)}.esp-card-elevated{box-shadow:var(--card-shadow-sm),var(--card-ring);border:none}.esp-card-outlined{box-shadow:none;border:1px solid var(--card-border)}.esp-card-filled{box-shadow:none;border:1px solid transparent;background-color:var(--esp-bg-surface-hover)}.esp-card-glass{background:linear-gradient(180deg,rgba(255,255,255,calc(.04 * var(--esp-card-glass-opacity))) 0%,rgba(255,255,255,calc(.01 * var(--esp-card-glass-opacity))) 100%),var(--esp-glass-bg);border:1px solid var(--esp-glass-border);box-shadow:0 18px 50px #0206173d,var(--esp-glass-highlight),inset 0 1px 0 rgba(255,255,255,calc(.05 * var(--esp-card-glass-opacity)));-webkit-backdrop-filter:saturate(180%) blur(var(--esp-card-glass-blur));backdrop-filter:saturate(180%) blur(var(--esp-card-glass-blur))}[data-theme=dark] .esp-card-glass,.dark .esp-card-glass{background:linear-gradient(180deg,rgba(255,255,255,calc(.035 * var(--esp-card-glass-opacity))) 0%,rgba(255,255,255,calc(.008 * var(--esp-card-glass-opacity))) 100%),linear-gradient(180deg,rgba(15,23,42,.16),rgba(15,23,42,.06)),var(--esp-glass-bg);box-shadow:0 22px 60px #02061757,var(--esp-glass-highlight),inset 0 1px 0 rgba(255,255,255,calc(.04 * var(--esp-card-glass-opacity)))}.esp-card-glass .esp-card-footer{border-color:var(--esp-glass-border);background-color:transparent}.esp-card-interactive{cursor:pointer;-webkit-user-select:none;user-select:none;transition:var(--esp-transition-base)}.esp-card-interactive:active{transform:var(--esp-active-press)}.esp-card-interactive.esp-card-elevated:hover{box-shadow:var(--card-shadow-md),var(--card-ring);transform:var(--esp-hover-lift)}.esp-card-interactive.esp-card-elevated:active{transform:translateY(0) scale(.985);box-shadow:var(--card-shadow-sm),var(--card-ring)}.esp-card-interactive.esp-card-outlined:hover{background-color:var(--esp-bg-surface-hover);box-shadow:var(--card-shadow-sm)}.esp-card-interactive.esp-card-filled:hover{background-color:var(--esp-bg-surface-active)}.esp-card-interactive.esp-card-glass:hover{box-shadow:0 24px 64px #0206174d,var(--esp-glass-highlight),inset 0 1px 0 rgba(255,255,255,calc(.07 * var(--esp-card-glass-opacity)));transform:var(--esp-hover-lift);background:linear-gradient(180deg,rgba(255,255,255,calc(.07 * var(--esp-card-glass-opacity))) 0%,rgba(255,255,255,calc(.02 * var(--esp-card-glass-opacity))) 100%),var(--esp-glass-bg-hover)}.esp-card-interactive.esp-card-glass:active{transform:translateY(0) scale(.985)}[data-theme=dark] .esp-card-interactive.esp-card-glass:hover,.dark .esp-card-interactive.esp-card-glass:hover{background:linear-gradient(180deg,rgba(255,255,255,calc(.05 * var(--esp-card-glass-opacity))) 0%,rgba(255,255,255,calc(.015 * var(--esp-card-glass-opacity))) 100%),linear-gradient(180deg,rgba(15,23,42,.14),rgba(15,23,42,.05)),var(--esp-glass-bg-hover)}.esp-card-header{padding:var(--esp-spacing-6) var(--esp-spacing-6) 0;display:flex;flex-direction:column;gap:var(--esp-spacing-1)}.esp-card-header+.esp-card-body{padding-top:var(--esp-spacing-4)}.esp-card-title{font-size:1.125rem;font-weight:600;line-height:1.4;margin:0;letter-spacing:-.015em;color:var(--esp-text-base)}.esp-card-description{font-size:.875rem;color:var(--esp-text-muted);line-height:1.5;margin:0}.esp-card-body{padding:var(--esp-spacing-6);flex:1 1 auto}.esp-card-footer{padding:var(--esp-spacing-4) var(--esp-spacing-6);display:flex;align-items:center;border-top:1px solid var(--card-border);background-color:var(--esp-bg-surface-hover);border-radius:0 0 calc(var(--card-radius) - 1px) calc(var(--card-radius) - 1px)}.esp-metric-card{min-height:176px}.esp-metric-card-body{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.esp-metric-card-icon{width:40px;height:40px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;margin-bottom:12px;background:var(--esp-metric-icon-bg);color:var(--esp-metric-icon-color)}.esp-metric-card-value{margin:0;font-size:1.75rem;font-weight:700;line-height:1.1;letter-spacing:-.02em;color:var(--esp-text-base)}.esp-metric-card-title{margin:0;font-size:1rem;font-weight:600;color:var(--esp-text-base)}.esp-metric-card .esp-metric-card-description{margin:0;font-size:.75rem;line-height:1.45;color:color-mix(in srgb,var(--esp-text-muted) 82%,#94a3b8)}.esp-metric-card-tone-neutral{--esp-metric-icon-bg: rgba(148, 163, 184, .14);--esp-metric-icon-color: rgb(148, 163, 184)}.esp-metric-card-tone-success{--esp-metric-icon-bg: rgba(16, 185, 129, .12);--esp-metric-icon-color: rgb(16, 185, 129)}.esp-metric-card-tone-danger{--esp-metric-icon-bg: rgba(239, 68, 68, .12);--esp-metric-icon-color: rgb(239, 68, 68)}.esp-metric-card-tone-warning{--esp-metric-icon-bg: rgba(245, 158, 11, .14);--esp-metric-icon-color: rgb(245, 158, 11)}.esp-metric-card-tone-info{--esp-metric-icon-bg: rgba(59, 130, 246, .14);--esp-metric-icon-color: rgb(59, 130, 246)}.esp-task-badge{--esp-task-badge-bg-soft: color-mix(in srgb, var(--esp-color-primary-500) 12%, transparent);--esp-task-badge-bg-solid: var(--esp-color-primary-600);--esp-task-badge-border: color-mix(in srgb, var(--esp-color-primary-500) 28%, transparent);--esp-task-badge-color: var(--esp-color-primary-700);--esp-task-badge-text-solid: var(--esp-color-white);display:inline-flex;align-items:center;gap:8px;border-radius:var(--esp-radius-full);border:1px solid transparent;font-weight:600;line-height:1;white-space:nowrap}.esp-task-badge-size-sm{min-height:24px;padding:0 10px;font-size:.72rem}.esp-task-badge-size-md{min-height:28px;padding:0 12px;font-size:.78rem}.esp-task-badge-variant-soft{background:var(--esp-task-badge-bg-soft);color:var(--esp-task-badge-color)}.esp-task-badge-variant-outline{background:transparent;border-color:var(--esp-task-badge-border);color:var(--esp-task-badge-color)}.esp-task-badge-variant-solid{background:var(--esp-task-badge-bg-solid);color:var(--esp-task-badge-text-solid)}.esp-task-badge-dot{width:8px;height:8px;border-radius:var(--esp-radius-full);background:var(--esp-task-badge-dot, currentColor);flex-shrink:0}.esp-task-badge-label{display:inline-flex;align-items:center}.esp-task-status-badge-status-todo{--esp-task-badge-bg-soft: rgba(148, 163, 184, .14);--esp-task-badge-bg-solid: rgb(100, 116, 139);--esp-task-badge-border: rgba(148, 163, 184, .34);--esp-task-badge-color: rgb(100, 116, 139)}.esp-task-status-badge-status-planned{--esp-task-badge-bg-soft: rgba(59, 130, 246, .14);--esp-task-badge-bg-solid: rgb(37, 99, 235);--esp-task-badge-border: rgba(59, 130, 246, .32);--esp-task-badge-color: rgb(37, 99, 235)}.esp-task-status-badge-status-in_progress{--esp-task-badge-bg-soft: rgba(14, 165, 233, .14);--esp-task-badge-bg-solid: rgb(2, 132, 199);--esp-task-badge-border: rgba(14, 165, 233, .32);--esp-task-badge-color: rgb(2, 132, 199)}.esp-task-status-badge-status-blocked{--esp-task-badge-bg-soft: rgba(239, 68, 68, .14);--esp-task-badge-bg-solid: rgb(220, 38, 38);--esp-task-badge-border: rgba(239, 68, 68, .3);--esp-task-badge-color: rgb(220, 38, 38)}.esp-task-status-badge-status-done{--esp-task-badge-bg-soft: rgba(16, 185, 129, .14);--esp-task-badge-bg-solid: rgb(5, 150, 105);--esp-task-badge-border: rgba(16, 185, 129, .32);--esp-task-badge-color: rgb(5, 150, 105)}.esp-task-priority-badge-priority-low{--esp-task-badge-bg-soft: rgba(148, 163, 184, .14);--esp-task-badge-bg-solid: rgb(100, 116, 139);--esp-task-badge-border: rgba(148, 163, 184, .34);--esp-task-badge-color: rgb(100, 116, 139)}.esp-task-priority-badge-priority-medium{--esp-task-badge-bg-soft: rgba(59, 130, 246, .14);--esp-task-badge-bg-solid: rgb(37, 99, 235);--esp-task-badge-border: rgba(59, 130, 246, .32);--esp-task-badge-color: rgb(37, 99, 235)}.esp-task-priority-badge-priority-high{--esp-task-badge-bg-soft: rgba(245, 158, 11, .14);--esp-task-badge-bg-solid: rgb(217, 119, 6);--esp-task-badge-border: rgba(245, 158, 11, .3);--esp-task-badge-color: rgb(217, 119, 6)}.esp-task-priority-badge-priority-critical{--esp-task-badge-bg-soft: rgba(239, 68, 68, .14);--esp-task-badge-bg-solid: rgb(220, 38, 38);--esp-task-badge-border: rgba(239, 68, 68, .3);--esp-task-badge-color: rgb(220, 38, 38)}.esp-task-card{min-height:220px}.esp-task-card-header{gap:var(--esp-spacing-3)}.esp-task-card-topline{display:flex;align-items:center;justify-content:space-between;gap:var(--esp-spacing-3);flex-wrap:wrap}.esp-task-card-badges{display:flex;align-items:center;gap:var(--esp-spacing-2);flex-wrap:wrap}.esp-task-card-due-date{display:inline-flex;align-items:center;min-height:30px;padding:0 var(--esp-spacing-3);border-radius:var(--esp-radius-full);border:1px solid var(--esp-border-subtle);background:color-mix(in srgb,var(--esp-bg-surface-hover) 88%,transparent);color:var(--esp-text-muted);font-size:.75rem;font-weight:600;letter-spacing:.01em}.esp-task-card-title,.esp-task-card-description{margin-top:0}.esp-task-card-body{display:flex;flex-direction:column;gap:var(--esp-spacing-4)}.esp-task-card-meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:var(--esp-spacing-3)}.esp-task-card-meta-item{min-width:0;display:flex;flex-direction:column;gap:4px}.esp-task-card-meta-label{font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--esp-text-muted)}.esp-task-card-meta-value{font-size:.92rem;line-height:1.45;color:var(--esp-text-base)}.esp-task-card-progress{display:flex;flex-direction:column;gap:var(--esp-spacing-2)}.esp-task-card-progress-row{display:flex;align-items:center;justify-content:space-between;gap:var(--esp-spacing-3)}.esp-task-card-progress-label{font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--esp-text-muted)}.esp-task-card-progress-value{font-size:.82rem;color:var(--esp-text-base)}.esp-task-card-progress-track{position:relative;width:100%;height:8px;overflow:hidden;border-radius:var(--esp-radius-full);background:color-mix(in srgb,var(--esp-bg-surface-hover) 92%,transparent);box-shadow:inset 0 0 0 1px var(--esp-border-subtle)}.esp-task-card-progress-bar{height:100%;width:var(--esp-task-card-progress, 0%);border-radius:inherit;background:linear-gradient(90deg,var(--esp-color-primary) 0%,color-mix(in srgb,var(--esp-color-primary) 72%,#7dd3fc) 100%)}.esp-task-card-tags{display:flex;align-items:center;flex-wrap:wrap;gap:var(--esp-spacing-2)}.esp-task-card-tag{display:inline-flex;align-items:center;min-height:28px;padding:0 var(--esp-spacing-3);border-radius:var(--esp-radius-full);border:1px solid var(--esp-border-subtle);background:color-mix(in srgb,var(--esp-bg-surface-hover) 88%,transparent);color:var(--esp-text-muted);font-size:.78rem;font-weight:600;line-height:1}.esp-task-card-meta-extra{color:var(--esp-text-muted)}.esp-task-card-footer{justify-content:space-between;gap:var(--esp-spacing-3);flex-wrap:wrap}.esp-task-calendar{min-width:0}.esp-task-calendar-header{gap:var(--esp-spacing-4)}.esp-task-calendar-copy{display:flex;flex-direction:column;gap:var(--esp-spacing-1)}.esp-task-calendar-heading,.esp-task-calendar-description{margin:0}.esp-task-calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--esp-spacing-4);flex-wrap:wrap}.esp-task-calendar-range-label{font-size:1rem;font-weight:700;letter-spacing:-.015em;text-transform:capitalize;color:var(--esp-text-base)}.esp-task-calendar-toolbar-actions{display:flex;align-items:center;gap:var(--esp-spacing-3);flex-wrap:wrap}.esp-task-calendar-view-switcher{display:inline-flex;align-items:center;gap:4px;padding:4px;border-radius:var(--esp-radius-full);border:1px solid var(--esp-border-subtle);background:color-mix(in srgb,var(--esp-bg-surface-hover) 82%,transparent)}.esp-task-calendar-view-button{min-height:30px;padding:0 var(--esp-spacing-3);border:0;border-radius:var(--esp-radius-full);background:transparent;color:var(--esp-text-muted);font-size:.78rem;font-weight:600;cursor:pointer}.esp-task-calendar-view-button.is-active{background:color-mix(in srgb,var(--esp-color-primary) 16%,transparent);color:var(--esp-color-primary)}.esp-task-calendar-nav{display:flex;align-items:center;gap:var(--esp-spacing-2)}.esp-task-calendar-body{display:flex;flex-direction:column;gap:var(--esp-spacing-4)}.esp-task-calendar-grid-wrap{width:100%;overflow-x:auto}.esp-task-calendar-weekdays,.esp-task-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(130px,1fr));min-width:910px}.esp-task-calendar-weekday{padding:var(--esp-spacing-3) var(--esp-spacing-4);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--esp-text-muted)}.esp-task-calendar-day{min-height:160px;padding:var(--esp-spacing-3);border-top:1px solid var(--esp-border-subtle);border-right:1px solid var(--esp-border-subtle);background:color-mix(in srgb,var(--esp-bg-base) 92%,transparent);display:flex;flex-direction:column;gap:var(--esp-spacing-3)}.esp-task-calendar-grid>.esp-task-calendar-day:nth-child(7n+1){border-left:1px solid var(--esp-border-subtle)}.esp-task-calendar-day-outside{background:color-mix(in srgb,var(--esp-bg-surface-hover) 72%,transparent)}.esp-task-calendar-day-today,.esp-task-calendar-week-column-today{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--esp-color-primary) 28%,transparent)}.esp-task-calendar-day-selected,.esp-task-calendar-week-column-selected{background:color-mix(in srgb,var(--esp-color-primary) 6%,var(--esp-bg-base))}.esp-task-calendar-day-button,.esp-task-calendar-week-head{display:inline-flex;align-items:center;justify-content:space-between;gap:var(--esp-spacing-2);width:100%;padding:0;border:0;background:transparent;color:var(--esp-text-base);font:inherit;cursor:pointer;text-align:left}.esp-task-calendar-day-number{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:30px;border-radius:var(--esp-radius-full);font-size:.9rem;font-weight:700}.esp-task-calendar-day-today .esp-task-calendar-day-number{background:color-mix(in srgb,var(--esp-color-primary) 16%,transparent);color:var(--esp-color-primary)}.esp-task-calendar-day-count{font-size:.72rem;font-weight:700;color:var(--esp-text-muted)}.esp-task-calendar-day-items,.esp-task-calendar-week-items,.esp-task-calendar-day-panel-list{display:flex;flex-direction:column;gap:var(--esp-spacing-2);min-height:0}.esp-task-calendar-task-slot,.esp-task-calendar-task-button,.esp-task-calendar-task-card-button{width:100%}.esp-task-calendar-task-button,.esp-task-calendar-task-card-button{padding:0;border:0;background:transparent;cursor:pointer;text-align:left}.esp-task-calendar-task-badge{width:100%;justify-content:flex-start;overflow:hidden;text-overflow:ellipsis}.esp-task-calendar-task-badge .esp-task-badge-label{min-width:0;overflow:hidden;text-overflow:ellipsis}.esp-task-calendar-task-card{min-height:auto}.esp-task-calendar-task-card .esp-card-header{padding-top:var(--esp-spacing-4);padding-left:var(--esp-spacing-4);padding-right:var(--esp-spacing-4)}.esp-task-calendar-task-card .esp-card-body{padding:var(--esp-spacing-4)}.esp-task-calendar-task-card .esp-card-footer{padding-left:var(--esp-spacing-4);padding-right:var(--esp-spacing-4)}.esp-task-calendar-task-card .esp-task-card-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.esp-task-calendar-more{display:inline-flex;align-items:center;justify-content:center;min-height:26px;padding:0 var(--esp-spacing-3);border-radius:var(--esp-radius-full);border:1px dashed var(--esp-border-subtle);background:transparent;color:var(--esp-text-muted);font-size:.72rem;font-weight:600;cursor:pointer}.esp-task-calendar-week-grid{display:grid;grid-template-columns:repeat(7,minmax(220px,1fr));gap:var(--esp-spacing-3);overflow-x:auto}.esp-task-calendar-week-column{min-width:220px;padding:var(--esp-spacing-3);border-radius:var(--esp-radius-lg);border:1px solid var(--esp-border-subtle);background:color-mix(in srgb,var(--esp-bg-base) 92%,transparent);display:flex;flex-direction:column;gap:var(--esp-spacing-3)}.esp-task-calendar-week-head{align-items:flex-start;flex-direction:column}.esp-task-calendar-week-head-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--esp-text-muted)}.esp-task-calendar-week-head-date{font-size:.95rem;font-weight:700;color:var(--esp-text-base)}.esp-task-calendar-day-panel{display:flex;flex-direction:column;gap:var(--esp-spacing-4)}.esp-task-calendar-day-panel-head{display:flex;flex-direction:column;gap:4px}.esp-task-calendar-day-panel-label{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--esp-text-muted)}.esp-task-calendar-day-panel-date{font-size:1.05rem;color:var(--esp-text-base);text-transform:capitalize}.esp-task-calendar-inline-empty,.esp-task-calendar-empty{padding:var(--esp-spacing-5);border-radius:var(--esp-radius-lg);border:1px dashed var(--esp-border-subtle);background:color-mix(in srgb,var(--esp-bg-surface-hover) 72%,transparent);color:var(--esp-text-muted);text-align:center}.esp-task-calendar-inline-empty{padding:var(--esp-spacing-4);font-size:.85rem}@media (max-width: 768px){.esp-task-calendar-header{gap:var(--esp-spacing-3)}.esp-task-calendar-toolbar{align-items:stretch}.esp-task-calendar-toolbar-actions,.esp-task-calendar-nav,.esp-task-calendar-view-switcher{width:100%;justify-content:space-between}}:root{--esp-color-white: #ffffff;--esp-color-black: #000000;--esp-color-primary-50: #eff6ff;--esp-color-primary-100: #dbeafe;--esp-color-primary-200: #bfdbfe;--esp-color-primary-300: #93c5fd;--esp-color-primary-400: #60a5fa;--esp-color-primary-500: #3b82f6;--esp-color-primary-600: #2563eb;--esp-color-primary-700: #1d4ed8;--esp-color-primary-800: #1e40af;--esp-color-primary-900: #1e3a8a;--esp-color-danger-50: #fef2f2;--esp-color-danger-500: #ef4444;--esp-color-danger-600: #dc2626;--esp-color-danger-800: #991b1b;--esp-color-danger-900: #7f1d1d;--esp-color-success-50: #ecfdf5;--esp-color-success-500: #10b981;--esp-color-success-600: #059669;--esp-color-success-800: #065f46;--esp-color-success-900: #064e3b;--esp-color-warning-50: #fffbeb;--esp-color-warning-500: #f59e0b;--esp-color-warning-600: #d97706;--esp-color-warning-800: #92400e;--esp-color-warning-900: #78350f;--esp-color-info-50: #eff6ff;--esp-color-info-500: #0ea5e9;--esp-color-info-600: #0284c7;--esp-color-info-800: #075985;--esp-color-info-900: #0c4a6e;--esp-font-family-base: "Inter", sans-serif;--esp-spacing-1: .25rem;--esp-spacing-2: .5rem;--esp-spacing-3: .75rem;--esp-spacing-4: 1rem;--esp-spacing-5: 1.25rem;--esp-spacing-6: 1.5rem;--esp-spacing-8: 2rem;--esp-radius-sm: 6px;--esp-radius-md: 8px;--esp-radius-lg: 12px;--esp-radius-xl: 16px;--esp-radius-full: 9999px;--esp-transition-fast: all .15s ease;--esp-transition-base: all .2s cubic-bezier(.4, 0, .2, 1);--esp-transition-slow: all .3s ease;--esp-hover-lift: translateY(-2px);--esp-active-press: scale(.98);--esp-hover-glow: 0 0 0 2px rgba(59, 130, 246, .15);--esp-shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--esp-shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--esp-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--esp-scrollbar-size: 10px;--esp-z-dropdown: 1000;--esp-z-sticky: 1020;--esp-z-fixed: 1030;--esp-z-modal-backdrop: 1040;--esp-z-modal: 1050;--esp-z-popover: 1060;--esp-z-tooltip: 1070;--esp-z-toast: 1080}:root,[data-theme=light]{--esp-bg-base: #FAFBFC;--esp-bg-surface: #ffffff;--esp-bg-surface-hover: #f1f5f9;--esp-bg-input: #ffffff;--esp-bg-page: #F5F6F8;--esp-bg-subtle: #f1f5f9;--esp-bg-subtle-hover: #e2e8f0;--esp-text-base: #0f172a;--esp-text-muted: #64748b;--esp-text-inverse: #ffffff;--esp-border-base: #e2e8f0;--esp-border-focus: var(--esp-color-primary-500);--esp-color-primary: var(--esp-color-primary-600);--esp-color-primary-hover: var(--esp-color-primary-700);--esp-color-primary-active: rgba(37, 99, 235, .1);--esp-color-danger: var(--esp-color-danger-500);--esp-color-danger-bg: var(--esp-color-danger-50);--esp-shadow-base: 0 8px 30px rgba(0, 0, 0, .04);--esp-bg-skeleton: #e2e8f0;--esp-bg-overlay: rgba(15, 23, 42, .25);--esp-glass-bg: rgba(255, 255, 255, .75);--esp-glass-bg-hover: rgba(255, 255, 255, .85);--esp-glass-border: rgba(0, 0, 0, .08);--esp-glass-shadow: 0 8px 32px rgba(0, 0, 0, .04);--esp-glass-blur: 16px;--esp-glass-highlight: inset 0 1px 0 0 rgba(255, 255, 255, 1);--esp-scrollbar-track: rgba(37, 99, 235, .04);--esp-scrollbar-thumb: rgba(37, 99, 235, .16);--esp-scrollbar-thumb-hover: rgba(37, 99, 235, .32);--esp-scrollbar-thumb-active: rgba(37, 99, 235, .52);--esp-bg-surface-active: #e2e8f0;--esp-border-subtle: #f1f5f9}[data-theme=dark],.dark{--esp-bg-base: #18191C;--esp-bg-surface: #1E2025;--esp-bg-surface-hover: #22252A;--esp-bg-input: #18191C;--esp-bg-page: #18191C;--esp-bg-subtle: rgba(255, 255, 255, .03);--esp-bg-subtle-hover: rgba(255, 255, 255, .08);--esp-text-base: #f8fafc;--esp-text-muted: #94a3b8;--esp-text-inverse: #18191C;--esp-border-base: rgba(255, 255, 255, .1);--esp-border-focus: var(--esp-color-primary-500);--esp-color-primary: var(--esp-color-primary-500);--esp-color-primary-hover: var(--esp-color-primary-600);--esp-color-primary-active: rgba(56, 189, 248, .14);--esp-color-danger: #f87171;--esp-color-danger-bg: rgba(248, 113, 113, .12);--esp-shadow-base: 0 8px 32px rgba(0, 0, 0, .5);--esp-bg-skeleton: #22252A;--esp-bg-overlay: rgba(24, 25, 28, .8);--esp-glass-bg: rgba(30, 32, 37, .75);--esp-glass-bg-hover: rgba(30, 32, 37, .85);--esp-glass-border: rgba(255, 255, 255, .08);--esp-glass-shadow: 0 12px 40px rgba(0, 0, 0, .4);--esp-glass-blur: 20px;--esp-glass-highlight: inset 0 1px 0 0 rgba(255, 255, 255, .05);--esp-scrollbar-track: rgba(255, 255, 255, .02);--esp-scrollbar-thumb: rgba(255, 255, 255, .1);--esp-scrollbar-thumb-hover: rgba(255, 255, 255, .2);--esp-scrollbar-thumb-active: rgba(255, 255, 255, .3);--esp-bg-surface-active: rgba(255, 255, 255, .1);--esp-border-subtle: rgba(255, 255, 255, .06)}.esp-grid{display:grid;gap:var(--grid-gap, var(--esp-spacing-4))}.esp-grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.esp-grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.esp-grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.esp-grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.esp-grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.esp-grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.esp-grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}@media (min-width: 640px){.sm\:esp-grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.sm\:esp-grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:esp-grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:esp-grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:esp-grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.sm\:esp-grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}}@media (min-width: 768px){.md\:esp-grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.md\:esp-grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:esp-grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:esp-grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:esp-grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.md\:esp-grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}}@media (min-width: 1024px){.lg\:esp-grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.lg\:esp-grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:esp-grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:esp-grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:esp-grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.lg\:esp-grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}}@media (min-width: 1280px){.xl\:esp-grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.xl\:esp-grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.xl\:esp-grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\:esp-grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:esp-grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.xl\:esp-grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}}.esp-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--esp-z-modal-backdrop, 1040);background-color:var(--esp-bg-overlay);display:flex;align-items:center;justify-content:center;padding:var(--esp-spacing-4);animation:esp-fade-in var(--esp-transition-base)}.esp-modal-content{background:var(--esp-glass-bg);border:1px solid var(--esp-glass-border);border-radius:var(--esp-radius-lg);box-shadow:var(--esp-glass-shadow),var(--esp-glass-highlight);-webkit-backdrop-filter:saturate(180%) blur(var(--esp-glass-blur));backdrop-filter:saturate(180%) blur(var(--esp-glass-blur));width:100%;max-height:90vh;display:flex;flex-direction:column;z-index:var(--esp-z-modal, 1050);animation:esp-slide-up var(--esp-transition-slow);overflow:hidden}.esp-modal-sm{max-width:400px}.esp-modal-md{max-width:500px}.esp-modal-lg{max-width:800px}.esp-modal-xl{max-width:1140px}.esp-modal-full{max-width:100vw;height:100vh;border-radius:0;max-height:100vh}.esp-modal-header{padding:var(--esp-spacing-4) var(--esp-spacing-5);border-bottom:1px solid var(--esp-glass-border);display:flex;align-items:center;justify-content:space-between}.esp-modal-title{margin:0;font-size:1.125rem;font-weight:600;color:var(--esp-text-base)}.esp-modal-close{background:transparent;border:none;font-size:1.5rem;line-height:1;color:var(--esp-text-muted);cursor:pointer;padding:var(--esp-spacing-1);border-radius:var(--esp-radius-sm);transition:var(--esp-transition-fast)}.esp-modal-close:hover{background-color:var(--esp-bg-surface-hover);color:var(--esp-text-base);transform:var(--esp-hover-lift)}.esp-modal-close:active{transform:var(--esp-active-press)}.esp-modal-body{padding:var(--esp-spacing-5);overflow-y:auto;flex-grow:1;color:var(--esp-text-base)}.esp-modal-footer{padding:var(--esp-spacing-4) var(--esp-spacing-5);border-top:1px solid var(--esp-glass-border);display:flex;justify-content:flex-end;gap:var(--esp-spacing-3);background-color:var(--esp-bg-surface-hover)}@keyframes esp-fade-in{0%{opacity:0}to{opacity:1}}@keyframes esp-slide-up{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.esp-toast-container{position:fixed;bottom:var(--esp-spacing-4);right:var(--esp-spacing-4);display:flex;flex-direction:column;gap:var(--esp-spacing-2);z-index:var(--esp-z-toast, 1080);pointer-events:none}.esp-toast{pointer-events:auto;min-width:250px;max-width:400px;background:var(--esp-glass-bg);border:1px solid var(--esp-glass-border);-webkit-backdrop-filter:saturate(180%) blur(var(--esp-glass-blur));backdrop-filter:saturate(180%) blur(var(--esp-glass-blur));box-shadow:var(--esp-glass-shadow),var(--esp-glass-highlight);color:var(--esp-text-base);padding:var(--esp-spacing-3) var(--esp-spacing-4);border-radius:var(--esp-radius-lg);display:flex;align-items:center;justify-content:space-between;gap:var(--esp-spacing-3);border-left:4px solid var(--esp-color-primary-500);animation:esp-toast-slide-in .3s cubic-bezier(.16,1,.3,1) forwards}.esp-toast-exit{animation:esp-toast-fade-out .2s ease-in forwards}.esp-toast-success{border-left-color:var(--esp-color-success-500)}.esp-toast-error{border-left-color:var(--esp-color-danger-500)}.esp-toast-warning{border-left-color:var(--esp-color-warning-500)}.esp-toast-info{border-left-color:var(--esp-color-info-500)}.esp-toast-close{background:transparent;border:none;font-size:1.25rem;line-height:1;color:var(--esp-text-muted);cursor:pointer;padding:0;transition:var(--esp-transition-fast)}.esp-toast-close:hover{color:var(--esp-text-base)}@keyframes esp-toast-slide-in{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes esp-toast-fade-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}.esp-tooltip{position:fixed;z-index:var(--esp-z-tooltip, 1070);background:var(--esp-glass-bg);border:1px solid var(--esp-glass-border);-webkit-backdrop-filter:saturate(180%) blur(var(--esp-glass-blur));backdrop-filter:saturate(180%) blur(var(--esp-glass-blur));box-shadow:var(--esp-glass-shadow),var(--esp-glass-highlight);color:var(--esp-text-base);padding:var(--esp-spacing-2) var(--esp-spacing-3);border-radius:var(--esp-radius-md);font-size:.875rem;pointer-events:none;animation:esp-tooltip-fade var(--esp-transition-fast);max-width:250px;word-wrap:break-word;transition:top .1s ease,left .1s ease}@keyframes esp-tooltip-fade{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.esp-loading-sm{--loading-size: 16px}.esp-loading-md{--loading-size: 24px}.esp-loading-lg{--loading-size: 32px}.esp-loading-spinner{width:var(--loading-size);height:var(--loading-size);animation:esp-rotate 2s linear infinite}.esp-spinner-svg{width:100%;height:100%}.esp-spinner-circle{stroke:var(--esp-color-primary-500);stroke-linecap:round;animation:esp-dash 1.5s ease-in-out infinite}@keyframes esp-rotate{to{transform:rotate(360deg)}}@keyframes esp-dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}to{stroke-dasharray:90,150;stroke-dashoffset:-124}}.esp-loading-dots{display:flex;gap:var(--esp-spacing-1)}.esp-dot{width:calc(var(--loading-size) / 3);height:calc(var(--loading-size) / 3);border-radius:50%;background-color:var(--esp-color-primary-500);animation:esp-bounce 1.4s infinite ease-in-out both}.esp-dot:nth-child(1){animation-delay:-.32s}.esp-dot:nth-child(2){animation-delay:-.16s}@keyframes esp-bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.esp-skeleton-container{display:flex;flex-direction:column;gap:var(--esp-spacing-2);width:100%}.esp-skeleton-line{height:16px;border-radius:var(--esp-radius-md);background:var(--esp-bg-skeleton);background:linear-gradient(90deg,var(--esp-bg-skeleton) 25%,var(--esp-bg-surface-hover) 50%,var(--esp-bg-skeleton) 75%);background-size:200% 100%;animation:esp-shimmer 1.5s infinite}.esp-skeleton-short{width:60%}@keyframes esp-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}
1
+ @import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";@keyframes esp-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes esp-ping{75%,to{transform:scale(2);opacity:0}}@keyframes esp-pulse{50%{opacity:.5}}@keyframes esp-bounce{0%,to{transform:translateY(-25%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:none;animation-timing-function:cubic-bezier(0,0,.2,1)}}.esp-animate-spin{animation:esp-spin 1s linear infinite}.esp-animate-ping{animation:esp-ping 1s cubic-bezier(0,0,.2,1) infinite}.esp-animate-pulse{animation:esp-pulse 2s cubic-bezier(.4,0,.6,1) infinite}.esp-animate-bounce{animation:esp-bounce 1s infinite}:root{--esp-bp-sm: 640px;--esp-bp-md: 768px;--esp-bp-lg: 1024px;--esp-bp-xl: 1280px;--esp-bp-2xl: 1536px}.esp-container{container-type:inline-size;container-name:esp}:root{--esp-text-xs: clamp(.7rem, .65rem + .2vw, .75rem);--esp-text-sm: clamp(.8rem, .75rem + .25vw, .875rem);--esp-text-base-size: clamp(.95rem, .9rem + .3vw, 1rem);--esp-text-lg: clamp(1.1rem, 1.05rem + .4vw, 1.125rem);--esp-text-xl: clamp(1.2rem, 1.15rem + .5vw, 1.25rem);--esp-text-2xl: clamp(1.4rem, 1.35rem + .6vw, 1.5rem);--esp-text-3xl: clamp(1.7rem, 1.6rem + .8vw, 1.875rem);--esp-text-4xl: clamp(2rem, 1.85rem + 1vw, 2.25rem);--esp-font-light: 300;--esp-font-normal: 400;--esp-font-medium: 500;--esp-font-semibold: 600;--esp-font-bold: 700}:focus-visible{outline:2px solid var(--esp-border-focus, #3b82f6);outline-offset:2px}.esp-focus-ring{transition:box-shadow .2s ease,outline .2s ease}.esp-focus-ring:focus-visible{outline:none;box-shadow:0 0 0 2px var(--esp-bg-base, #fff),0 0 0 4px var(--esp-border-focus, #3b82f6)}.esp-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}@media (prefers-reduced-motion: reduce){*,:before,:after{animation:none!important;transition:0s!important;transform:none!important;scroll-behavior:auto!important}}*::-webkit-scrollbar{width:var(--esp-scrollbar-size);height:var(--esp-scrollbar-size)}*::-webkit-scrollbar-track{background:var(--esp-scrollbar-track);border-radius:var(--esp-radius-full)}*::-webkit-scrollbar-thumb{background:var(--esp-scrollbar-thumb);border-radius:var(--esp-radius-full);border:2px solid transparent;background-clip:content-box}*::-webkit-scrollbar-thumb:hover{background:var(--esp-scrollbar-thumb-hover);border:2px solid transparent;background-clip:content-box}*::-webkit-scrollbar-thumb:active{background:var(--esp-scrollbar-thumb-active);border:2px solid transparent;background-clip:content-box}*::-webkit-scrollbar-corner{background:transparent}@supports not selector(::-webkit-scrollbar){*{scrollbar-width:thin;scrollbar-color:var(--esp-scrollbar-thumb) var(--esp-scrollbar-track)}}body{font-family:Inter,sans-serif;-webkit-font-smoothing:antialiased}:root{--fc-border: #cbd5e1;--fc-text: #0f172a;--fc-muted: #64748b;--fc-placeholder: #94a3b8;--fc-focus: #2563eb;--fc-focus-ring: rgba(37, 99, 235, .18);--fc-error: #dc2626;--fc-error-ring: rgba(220, 38, 38, .18);--fc-btn-primary-bg: #2563eb;--fc-btn-primary-bg-hover: #1d4ed8;--fc-btn-primary-text: #ffffff;--fc-btn-secondary-text: #0f172a;--fc-btn-secondary-border: #cbd5e1;--fc-btn-danger-bg: #dc2626;--fc-btn-danger-bg-hover: #b91c1c;--fc-btn-danger-text: #ffffff}.dark,[data-theme=dark]{--fc-border: #334155;--fc-text: #e2e8f0;--fc-muted: #94a3b8;--fc-placeholder: #64748b;--fc-focus: #38bdf8;--fc-focus-ring: rgba(56, 189, 248, .22);--fc-error: #f87171;--fc-error-ring: rgba(248, 113, 113, .22);--fc-btn-primary-bg: #0ea5e9;--fc-btn-primary-bg-hover: #0284c7;--fc-btn-primary-text: #ffffff;--fc-btn-secondary-text: #e2e8f0;--fc-btn-secondary-border: #334155;--fc-btn-danger-bg: #ef4444;--fc-btn-danger-bg-hover: #dc2626;--fc-btn-danger-text: #ffffff}.fc-field{display:grid;gap:6px}.fc-field-full{width:100%}.fc-label{font-size:.875rem;font-weight:600;color:var(--fc-text)}.fc-control{position:relative;border:1px solid var(--fc-border);border-radius:8px;background:var(--esp-bg-input);color:var(--fc-text);transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.fc-control:focus-within{border-color:var(--fc-focus);box-shadow:0 0 0 2px var(--fc-focus-ring)}.fc-control-error{border-color:var(--fc-error)}.fc-control-error:focus-within{box-shadow:0 0 0 2px var(--fc-error-ring)}.fc-control-input{display:flex;align-items:center}.fc-input,.fc-select,.fc-textarea{width:100%;border:none;outline:none;background:transparent;color:var(--fc-text);font:inherit;font-size:.95rem;line-height:1.3;padding:10px 12px}.fc-input::placeholder{color:var(--fc-placeholder)}.fc-textarea{min-height:96px;line-height:1.45;resize:vertical}.fc-textarea::placeholder{color:var(--fc-placeholder)}.fc-input:disabled,.fc-select:disabled,.fc-textarea:disabled{cursor:not-allowed;opacity:.65}.fc-has-left .fc-input{padding-left:36px}.fc-has-right .fc-input{padding-right:36px}.fc-adornment{position:absolute;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;color:var(--fc-muted);pointer-events:none}.fc-adornment-left{left:12px}.fc-adornment-right{right:12px}.fc-select-wrap{display:flex;align-items:center}.fc-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:36px;cursor:pointer;color-scheme:light}.fc-select option,.fc-select optgroup{background:var(--esp-bg-input);color:var(--fc-text)}.dark .fc-select,[data-theme=dark] .fc-select{color-scheme:dark}.fc-select-icon{position:absolute;right:10px;font-size:1rem;color:var(--fc-muted);pointer-events:none}.fc-message{font-size:.75rem;color:var(--fc-muted)}.fc-message-error{color:var(--fc-error)}.fc-choice{display:inline-flex;align-items:flex-start;gap:10px;color:var(--fc-text);cursor:pointer}.fc-choice-disabled{opacity:.65;cursor:not-allowed}.fc-choice-control{position:relative;flex:0 0 18px;width:18px;height:18px;margin-top:2px}.fc-choice-input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;margin:0;cursor:pointer}.fc-choice-disabled .fc-choice-input{cursor:not-allowed}.fc-choice-indicator{position:relative;width:100%;height:100%;border:1.5px solid var(--fc-border);background:var(--esp-bg-input);color:#fff;transition:border-color .2s ease,background .2s ease,box-shadow .2s ease,color .2s ease}.fc-checkbox-indicator{border-radius:5px;display:inline-flex;align-items:center;justify-content:center;overflow:hidden}.fc-choice-check-icon,.fc-choice-minus-icon{position:absolute;top:50%;left:50%;opacity:0;transform:translate(-50%,-50%) scale(.6);transition:opacity .15s ease,transform .15s ease;font-size:.82rem}.fc-choice-input:checked+.fc-checkbox-indicator{border-color:var(--fc-focus);background:var(--fc-focus)}.fc-choice-input:checked+.fc-checkbox-indicator .fc-choice-check-icon{opacity:1;transform:translate(-50%,-50%) scale(1)}.fc-choice-indicator-indeterminate{border-color:var(--fc-focus);background:var(--fc-focus)}.fc-choice-indicator-indeterminate .fc-choice-check-icon{display:none}.fc-choice-indicator-indeterminate .fc-choice-minus-icon{opacity:1;transform:translate(-50%,-50%) scale(1)}.fc-radio-indicator{border-radius:999px}.fc-radio-indicator:after{content:"";position:absolute;top:50%;left:50%;width:8px;height:8px;border-radius:999px;background:var(--fc-focus);transform:translate(-50%,-50%) scale(.5);opacity:0;transition:transform .15s ease,opacity .15s ease}.fc-choice-input:checked+.fc-radio-indicator{border-color:var(--fc-focus)}.fc-choice-input:checked+.fc-radio-indicator:after{opacity:1;transform:translate(-50%,-50%) scale(1)}.fc-choice-input:focus-visible+.fc-choice-indicator{border-color:var(--fc-focus);box-shadow:0 0 0 2px var(--fc-focus-ring)}.fc-choice-error .fc-choice-indicator{border-color:var(--fc-error)}.fc-choice-error .fc-choice-input:checked+.fc-checkbox-indicator{border-color:var(--fc-error);background:var(--fc-error)}.fc-choice-error .fc-choice-input:checked+.fc-radio-indicator:after{background:var(--fc-error)}.fc-choice-error .fc-choice-input:focus-visible+.fc-choice-indicator{box-shadow:0 0 0 2px var(--fc-error-ring)}.fc-choice-content{display:grid;gap:2px;min-width:0}.fc-choice-label{font-size:.92rem;line-height:1.35}.fc-choice-description{font-size:.78rem;color:var(--fc-muted)}.fc-radio-group{border:0;margin:0;padding:0;display:grid;gap:8px}.fc-radio-group-label{margin:0;padding:0}.fc-radio-options{display:flex;gap:10px}.fc-radio-options-vertical{flex-direction:column}.fc-radio-options-horizontal{flex-direction:row;flex-wrap:wrap;gap:10px 16px}.fc-btn{border:1px solid transparent;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font:inherit;font-weight:600;cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease,opacity .2s ease}.fc-btn:focus-visible{outline:none;box-shadow:0 0 0 2px var(--fc-focus-ring)}.fc-btn:disabled{opacity:.65;cursor:not-allowed}.fc-btn-full{width:100%}.fc-btn-sm{font-size:.82rem;padding:6px 10px}.fc-btn-md{font-size:.9rem;padding:8px 14px}.fc-btn-lg{font-size:.96rem;padding:10px 16px}.fc-btn-primary{background:var(--fc-btn-primary-bg);color:var(--fc-btn-primary-text)}.fc-btn-primary:hover:not(:disabled){background:var(--fc-btn-primary-bg-hover)}.fc-btn-secondary{background:var(--esp-bg-surface);color:var(--fc-btn-secondary-text);border-color:var(--fc-btn-secondary-border)}.fc-btn-secondary:hover:not(:disabled){background:var(--esp-bg-surface-hover)}.fc-btn-danger{background:var(--fc-btn-danger-bg);color:var(--fc-btn-danger-text)}.fc-btn-danger:hover:not(:disabled){background:var(--fc-btn-danger-bg-hover)}.fc-btn-ghost{background:transparent;color:var(--fc-text);border-color:var(--fc-border)}.fc-btn-ghost:hover:not(:disabled){background:var(--esp-bg-subtle)}.fc-btn-icon{display:inline-flex;align-items:center;justify-content:center;font-size:1rem}.fc-btn-label{line-height:1}.fc-btn-spinner{width:14px;height:14px;border-radius:999px;border:2px solid currentColor;border-right-color:transparent;animation:fc-spin .7s linear infinite}@keyframes fc-spin{to{transform:rotate(360deg)}}.ph-root{display:flex;flex-direction:column;gap:4px}.ph-title{font-size:1.5rem;font-weight:600;color:var(--ph-title);margin:0;line-height:1.2}.ph-desc{font-size:.875rem;color:var(--ph-desc);margin:0;line-height:1.5}:root{--card-positive: #22c55e;--card-negative: #ef4444;--card-warning: #f59e0b}.dark,[data-theme=dark]{--card-positive: #4ade80;--card-negative: #f87171;--card-warning: #fbbf24}.card{background:var(--esp-bg-base);border-radius:12px;padding:16px;box-shadow:var(--esp-shadow-base);color:var(--dt-text);font-family:var(--sb-font)}.card *{box-sizing:border-box}.card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.card-title{font-weight:600;color:var(--dt-muted)}.card-icon{color:var(--dt-muted-strong)}.card-body p{margin:0}.card-metric{font-size:2rem;font-weight:700;line-height:1.2}.card-metric-positive{color:var(--card-positive)}.card-metric-negative{color:var(--card-negative)}.card-metric-warning{color:var(--card-warning)}.card-trend{font-size:.875rem;margin-top:8px}.card-trend-positive{color:var(--card-positive)}.card-trend-negative{color:var(--card-negative)}.card-trend-warning{color:var(--card-warning)}.card-trend-neutral{color:var(--dt-muted)}.card.is-loading{animation:dt-pulse 1.5s ease-in-out infinite}.bg-wrap{position:relative;min-height:100vh;overflow:hidden;isolation:isolate;background:radial-gradient(circle at 12% 8%,rgba(56,189,248,.18),transparent 22%),radial-gradient(ellipse at 88% 92%,rgba(236,72,153,.18) 0%,transparent 55%),linear-gradient(180deg,var(--esp-bg-base) 0%,var(--esp-bg-page) 100%)}.bg-wrap:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.48;z-index:0}.bg-wrap>*{position:relative;z-index:1}.bg-wrap--dark,.dark .bg-wrap,[data-theme=dark] .bg-wrap{background:radial-gradient(circle at 12% 8%,rgba(56,189,248,.14),transparent 22%),radial-gradient(ellipse at 88% 92%,rgba(236,72,153,.28) 0%,transparent 52%),linear-gradient(180deg,var(--esp-bg-base) 0%,var(--esp-bg-page) 100%)}.bg-wrap--auto{min-height:unset}.bg-pattern-dots:before{background-image:radial-gradient(circle,color-mix(in srgb,var(--esp-color-primary) 26%,transparent) 1.2px,transparent 1.2px);background-size:24px 24px}.bg-pattern-grid:before{background-image:linear-gradient(to right,color-mix(in srgb,var(--esp-border-base) 78%,transparent) 1px,transparent 1px),linear-gradient(to bottom,color-mix(in srgb,var(--esp-border-base) 78%,transparent) 1px,transparent 1px);background-size:32px 32px}.bg-pattern-waves:before{background-image:radial-gradient(circle at 0 100%,transparent 20px,color-mix(in srgb,var(--esp-color-primary) 12%,transparent) 21px,transparent 22px),radial-gradient(circle at 100% 0,transparent 20px,color-mix(in srgb,var(--esp-color-primary) 12%,transparent) 21px,transparent 22px);background-size:48px 48px;background-position:0 0,24px 24px}.bg-wrap--dark:before,.dark .bg-wrap:before,[data-theme=dark] .bg-wrap:before{opacity:.72}.esp-shell{--esp-shell-header-padding: var(--esp-spacing-5);--esp-shell-content-padding: var(--esp-spacing-5);--esp-shell-content-gap: var(--esp-spacing-5);display:flex;min-height:100vh;background:transparent;color:var(--esp-text-base)}.esp-shell-main{flex:1;min-width:0;display:flex;flex-direction:column;background:transparent}.esp-shell-header{padding-inline:var(--esp-shell-header-padding)}.esp-shell-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;padding-right:12px}.esp-shell-content{flex:1;padding:var(--esp-shell-content-padding);background:transparent}.esp-shell-container{width:100%;max-width:1200px;margin:0 auto;display:grid;gap:var(--esp-shell-content-gap);background:transparent}.esp-shell-density-compact{--esp-shell-header-padding: var(--esp-spacing-4);--esp-shell-content-padding: var(--esp-spacing-4);--esp-shell-content-gap: var(--esp-spacing-4)}.esp-shell-density-comfortable{--esp-shell-header-padding: var(--esp-spacing-5);--esp-shell-content-padding: var(--esp-spacing-5);--esp-shell-content-gap: var(--esp-spacing-5)}.esp-shell-density-spacious{--esp-shell-header-padding: var(--esp-spacing-6);--esp-shell-content-padding: var(--esp-spacing-6);--esp-shell-content-gap: var(--esp-spacing-6)}@media (max-width: 640px){.esp-shell-header{padding-inline:var(--esp-spacing-4)}.esp-shell-actions{width:100%;justify-content:flex-end;padding-right:0}.esp-shell-content{padding:var(--esp-spacing-4)}}.dt-root{width:100%;min-width:0;color:var(--esp-text-base);font-family:inherit}.dt-root *{box-sizing:border-box}.dt-root button,.dt-root input,.dt-root select{font:inherit}.dt-panel{width:100%;min-width:0;border:1px solid var(--esp-border-base);background:var(--esp-bg-surface);border-radius:12px;box-shadow:var(--dt-shadow);overflow:hidden}.dt-header{padding:16px;border-bottom:1px solid var(--esp-border-base);display:flex;justify-content:space-between;align-items:center;gap:16px}.dt-search{position:relative;width:100%;max-width:20rem}.dt-search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--esp-text-muted)}.dt-search-input{width:100%;max-width:20rem;border-radius:8px;border:1px solid var(--esp-border-base);background:var(--esp-bg-base);color:var(--esp-text-base);padding:8px 12px 8px 36px}.dt-search-input:focus{outline:none;border-color:var(--esp-color-primary-500);box-shadow:0 0 0 2px var(--esp-color-primary-500)}.dt-settings-anchor{position:relative}.dt-icon-button{padding:8px;border-radius:8px;background:transparent;border:none;cursor:pointer;color:var(--esp-text-muted)}.dt-icon-button:hover{background:var(--esp-bg-surface-hover)}.dt-icon{width:20px;height:20px}.dt-table-wrapper{overflow-x:auto;overflow-y:hidden;display:none;width:100%;max-width:100%;min-width:0}@media (min-width: 768px){.dt-table-wrapper{display:block}}.dt-table{width:100%;min-width:100%;border-collapse:collapse;table-layout:fixed}.dt-td,.dt-th{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dt-layout-scroll .dt-table{width:max-content;min-width:100%;table-layout:auto}.dt-layout-scroll{overscroll-behavior-x:contain}.dt-drag-scroll{cursor:grab;touch-action:pan-x;scrollbar-gutter:stable}.dt-drag-scroll.is-dragging{cursor:grabbing;-webkit-user-select:none;user-select:none}.dt-layout-scroll .dt-td,.dt-layout-scroll .dt-th{overflow:visible;text-overflow:unset;white-space:nowrap}.dt-table-head{background:var(--esp-bg-surface-hover)}.dt-th{padding:12px 24px;text-align:left;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--esp-text-base)}.dt-tbody tr{border-top:1px solid var(--esp-border-base)}.dt-row{transition:background var(--esp-transition-base)}.dt-row:hover{background:var(--esp-bg-surface-hover)}.dt-td{padding:16px 24px;font-size:.875rem;color:var(--esp-text-base);white-space:nowrap}.dt-empty{padding:32px 0;text-align:center;color:var(--esp-text-muted)}.dt-cards{padding:16px;display:flex;flex-direction:column;gap:16px}@media (min-width: 768px){.dt-cards{display:none}}.dt-card{position:relative;border-radius:12px;border:1px solid var(--esp-border-base);background:var(--esp-bg-surface);padding:16px}.dt-card-list{display:flex;flex-direction:column;gap:12px}.dt-card-actions{position:absolute;top:12px;right:12px}.dt-card-label{font-size:.75rem;font-weight:600;text-transform:uppercase;color:var(--esp-text-muted)}.dt-card-value{margin-top:4px;font-size:.875rem;color:var(--esp-text-base)}.dt-pagination{padding:16px;border-top:1px solid var(--esp-border-base);display:flex;flex-direction:column;gap:12px;font-size:.875rem}@media (min-width: 640px){.dt-pagination{flex-direction:row;align-items:center;justify-content:space-between}}.dt-pagination-info{display:flex;align-items:center;gap:12px}.dt-only-sm{display:none}@media (min-width: 640px){.dt-only-sm{display:inline}}.dt-muted{opacity:.8}.dt-muted-soft{opacity:.6}.dt-select-group{display:flex;align-items:center;gap:8px}.dt-select-combobox{width:auto;min-width:88px}.dt-select-combobox .esp-combobox-control{min-height:32px;border-radius:8px}.dt-select-combobox .esp-combobox-value{padding:6px 12px;font-size:.875rem}.dt-select-combobox .esp-combobox-icon{padding:0 10px}.dt-select{border-radius:8px;border:1px solid var(--esp-border-base);background:var(--esp-bg-surface);padding:4px 8px;color:var(--esp-text-base)}.dt-select:disabled{opacity:.6;cursor:not-allowed}.dt-pagination-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.dt-button{display:inline-flex;align-items:center;gap:8px;padding:4px 12px;border-radius:8px;background:transparent;border:none;cursor:pointer;color:var(--esp-text-base)}.dt-button:hover{background:var(--esp-bg-surface-hover)}.dt-button:disabled{opacity:.5;cursor:not-allowed}.dt-page-status{padding:0 8px}@keyframes dt-pulse{0%,to{opacity:1}50%{opacity:.45}}.dt-skeleton-card{border-radius:12px;border:1px solid var(--esp-border-base);background:var(--esp-bg-surface);padding:16px;display:flex;flex-direction:column;gap:12px;animation:dt-pulse 1.5s ease-in-out infinite}.dt-skeleton-row{animation:dt-pulse 1.5s ease-in-out infinite}.dt-skeleton-cell{padding:16px}.dt-skeleton-line{height:16px;border-radius:6px;background:var(--esp-bg-skeleton)}.dt-w-3-4{width:75%}.dt-w-1-2{width:50%}.dt-w-2-3{width:66.6667%}.dt-sortable-item{display:flex;align-items:center;justify-content:space-between;padding:8px;border-radius:8px;transition:box-shadow var(--esp-transition-base)}.dt-sortable-item:hover{box-shadow:0 1px 3px #0f172a26}.dt-sortable-left{display:flex;align-items:center;gap:8px;flex-grow:1;overflow:hidden}.dt-checkbox{accent-color:var(--esp-color-primary-500)}.dt-sortable-label{font-size:.875rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dt-sortable-drag{cursor:grab;padding:4px;color:var(--esp-text-muted);background:transparent;border:none;touch-action:none}.dt-settings-panel{position:absolute;top:100%;right:0;margin-top:8px;width:16rem;border-radius:8px;box-shadow:0 10px 24px #0f172a26;z-index:20;background:var(--esp-bg-surface);border:1px solid var(--esp-border-base)}.dt-settings-inner{padding:12px}.dt-settings-title{font-size:.875rem;font-weight:600;margin:0 0 8px}.dt-settings-help{font-size:.75rem;color:var(--esp-text-muted);margin:0 0 12px}.dt-settings-list{display:flex;flex-direction:column;gap:4px}.dt-glass{background:var(--esp-glass-bg, var(--esp-glass-bg));border:1px solid var(--esp-glass-border, rgba(255, 255, 255, .5));box-shadow:0 8px 32px #0000001f,0 2px 8px #0000000f,inset 0 1px #fff6;-webkit-backdrop-filter:saturate(180%) blur(var(--esp-glass-blur, 20px));backdrop-filter:saturate(180%) blur(var(--esp-glass-blur, 20px));color:var(--esp-text-base);border-radius:var(--esp-radius-lg, 12px)}.dt-glass .dt-table-head{background:rgba(15,23,42,.04)}.dt-glass .dt-th{color:#0f172aeb;font-weight:600;text-transform:uppercase;font-size:.75rem;letter-spacing:.05em}.dt-glass .dt-td{color:var(--esp-text-base)}.dt-glass .dt-tbody tr{border-top:1px solid rgba(15,23,42,.08);transition:background var(--esp-transition-base)}.dt-glass .dt-row:hover{background:rgba(15,23,42,.04)}.dt-glass .dt-header{border-bottom-color:#0f172a14}.dt-glass .dt-search-input{background:rgba(255,255,255,.6);border:1px solid rgba(15,23,42,.1);color:var(--esp-text-base);border-radius:var(--esp-radius-md, 8px);transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.dt-glass .dt-search-input:focus{border-color:#0f172a33;box-shadow:0 0 0 3px #0f172a0d;background:var(--esp-bg-base)}.dt-glass .dt-search-input::placeholder{color:#0f172a73}.dt-glass .dt-search-icon,.dt-glass .dt-icon-button{color:#0f172a8c;transition:color .2s ease,background .2s ease}.dt-glass .dt-icon-button:hover{background:rgba(15,23,42,.06);color:#0f172ad9}.dt-glass .dt-muted,.dt-glass .dt-muted-soft{color:#0f172a99;opacity:1}.dt-glass .dt-select{background:rgba(255,255,255,.6);border:1px solid rgba(15,23,42,.1);border-radius:var(--esp-radius-md, 8px);color:var(--esp-text-base);transition:border-color .2s ease}.dt-glass .dt-select:focus{border-color:#0f172a33}.dt-glass .dt-button{color:var(--esp-text-base);transition:background .2s ease,color .2s ease}.dt-glass .dt-button:hover:not(:disabled){background:rgba(15,23,42,.06)}.dt-glass .dt-button:disabled{color:#0f172a4d}.dt-glass .dt-page-status{color:#0f172acc}.dt-glass .dt-empty{color:#0f172a73}.dt-glass .dt-pagination{color:var(--esp-text-base);border-top:1px solid rgba(15,23,42,.08)}.dt-glass .dt-card{background:rgba(255,255,255,.6);border:1px solid rgba(15,23,42,.08);transition:background var(--esp-transition-base)}.dt-glass .dt-card:hover{background:rgba(255,255,255,.8)}.dt-glass .dt-card-label{color:var(--esp-text-muted)}.dt-glass .dt-card-value{color:var(--esp-text-base)}[data-theme=dark] .dt-glass,.dark .dt-glass{background:var(--esp-glass-bg, var(--esp-glass-bg));border-color:var(--esp-glass-border, rgba(255, 255, 255, .1));box-shadow:0 8px 32px #00000059,0 2px 8px #0003,inset 0 1px #ffffff0f;color:var(--esp-text-base)}[data-theme=dark] .dt-glass .dt-table-head,.dark .dt-glass .dt-table-head{background:rgba(255,255,255,.04)}[data-theme=dark] .dt-glass .dt-th,.dark .dt-glass .dt-th{color:#ffffffeb}[data-theme=dark] .dt-glass .dt-td,.dark .dt-glass .dt-td{color:var(--esp-text-base)}[data-theme=dark] .dt-glass .dt-tbody tr,.dark .dt-glass .dt-tbody tr{border-top-color:#ffffff14}[data-theme=dark] .dt-glass .dt-row:hover,.dark .dt-glass .dt-row:hover{background:rgba(255,255,255,.06)}[data-theme=dark] .dt-glass .dt-header,.dark .dt-glass .dt-header{border-bottom-color:#ffffff1f}[data-theme=dark] .dt-glass .dt-search-input,.dark .dt-glass .dt-search-input{background:rgba(255,255,255,.06);border-color:#ffffff1a;color:var(--esp-text-base)}[data-theme=dark] .dt-glass .dt-search-input:focus,.dark .dt-glass .dt-search-input:focus{border-color:#fff3;box-shadow:0 0 0 3px #ffffff0d;background:rgba(255,255,255,.14)}[data-theme=dark] .dt-glass .dt-search-input::placeholder,.dark .dt-glass .dt-search-input::placeholder{color:var(--esp-text-muted)}[data-theme=dark] .dt-glass .dt-search-icon,.dark .dt-glass .dt-search-icon,[data-theme=dark] .dt-glass .dt-icon-button,.dark .dt-glass .dt-icon-button{color:#ffffff8c}[data-theme=dark] .dt-glass .dt-icon-button:hover,.dark .dt-glass .dt-icon-button:hover{background:rgba(255,255,255,.12);color:#ffffffd9}[data-theme=dark] .dt-glass .dt-muted,.dark .dt-glass .dt-muted,[data-theme=dark] .dt-glass .dt-muted-soft,.dark .dt-glass .dt-muted-soft{color:#fff9}[data-theme=dark] .dt-glass .dt-select,.dark .dt-glass .dt-select{background:rgba(255,255,255,.06);border-color:#ffffff1a;color:var(--esp-text-base)}[data-theme=dark] .dt-glass .dt-select:focus,.dark .dt-glass .dt-select:focus{border-color:#ffffff59}[data-theme=dark] .dt-glass .dt-button,.dark .dt-glass .dt-button{color:var(--esp-text-base)}[data-theme=dark] .dt-glass .dt-button:hover:not(:disabled),.dark .dt-glass .dt-button:hover:not(:disabled){background:rgba(255,255,255,.12)}[data-theme=dark] .dt-glass .dt-button:disabled,.dark .dt-glass .dt-button:disabled{color:#ffffff4d}[data-theme=dark] .dt-glass .dt-page-status,.dark .dt-glass .dt-page-status{color:#fffc}[data-theme=dark] .dt-glass .dt-empty,.dark .dt-glass .dt-empty{color:var(--esp-text-muted)}[data-theme=dark] .dt-glass .dt-pagination,.dark .dt-glass .dt-pagination{color:var(--esp-text-base);border-top-color:#ffffff14}[data-theme=dark] .dt-glass .dt-card,.dark .dt-glass .dt-card{background:rgba(255,255,255,.06);border-color:#ffffff1a}[data-theme=dark] .dt-glass .dt-card:hover,.dark .dt-glass .dt-card:hover{background:rgba(255,255,255,.1)}[data-theme=dark] .dt-glass .dt-card-label,.dark .dt-glass .dt-card-label{color:#ffffff80}[data-theme=dark] .dt-glass .dt-card-value,.dark .dt-glass .dt-card-value{color:var(--esp-text-base)}.esp-combobox-field{display:grid;gap:var(--esp-spacing-1);width:auto;position:relative}.esp-combobox-field-fullWidth{width:100%}.esp-combobox-label{font-size:.875rem;font-weight:600;color:var(--esp-text-base)}.esp-combobox-control{position:relative;display:flex;align-items:center;border:1px solid var(--input-border, var(--esp-border-base));border-radius:var(--esp-radius-md);background:var(--input-bg, var(--esp-bg-base));color:var(--input-text, var(--esp-text-base));transition:var(--esp-transition-fast);cursor:pointer;min-height:40px;padding:2px 0;outline:none}.esp-combobox-control-open,.esp-combobox-control:focus-visible{border-color:var(--input-focus-border, var(--esp-color-primary-500));box-shadow:var(--esp-hover-glow)}.esp-combobox-control-error{--input-border: var(--esp-color-danger-500);--input-focus-border: var(--esp-color-danger-500)}.esp-combobox-control-error:focus-visible,.esp-combobox-control-error.esp-combobox-control-open{box-shadow:0 0 0 2px var(--esp-color-danger-bg)}.esp-combobox-control-disabled{opacity:.65;cursor:not-allowed;background:var(--esp-bg-surface-hover)}.esp-combobox-value{flex:1;padding:var(--esp-spacing-2) var(--esp-spacing-3);font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-webkit-user-select:none;user-select:none}.esp-combobox-value-multiple{white-space:normal;overflow:visible;text-overflow:unset}.esp-combobox-tags{display:flex;flex-wrap:wrap;gap:6px;align-items:center;min-height:30px}.esp-combobox-tag{display:inline-flex;align-items:center;max-width:100%;padding:4px 10px;border-radius:999px;border:1px solid var(--esp-border-base);background:var(--esp-bg-surface-hover);color:var(--esp-text-base);font-size:.8125rem;font-weight:500;line-height:1.1;white-space:nowrap}.esp-combobox-tag-muted{background:transparent;color:var(--esp-text-muted)}.esp-combobox-placeholder{color:var(--input-placeholder, var(--esp-text-muted))}.esp-combobox-icon{display:flex;align-items:center;justify-content:center;padding:0 var(--esp-spacing-3);color:var(--esp-text-muted);transition:var(--esp-transition-fast)}.esp-combobox-icon-open{transform:rotate(180deg)}.esp-combobox-dropdown{position:absolute;z-index:var(--esp-z-popover, 1000);background:var(--esp-glass-bg);border:1px solid var(--esp-glass-border);-webkit-backdrop-filter:saturate(180%) blur(var(--esp-glass-blur));backdrop-filter:saturate(180%) blur(var(--esp-glass-blur));border-radius:var(--esp-radius-lg);box-shadow:var(--esp-glass-shadow),var(--esp-glass-highlight);display:flex;flex-direction:column;overflow:hidden;max-height:300px}.esp-combobox-search{padding:var(--esp-spacing-2);border-bottom:1px solid var(--esp-border-base);display:flex;align-items:center;gap:var(--esp-spacing-2);background:var(--esp-glass-bg)}.esp-combobox-search-icon{color:var(--esp-text-muted)}.esp-combobox-search-input{flex:1;border:none;outline:none;background:transparent;font-size:.875rem;color:var(--esp-text-base)}.esp-combobox-list{flex:1;overflow-y:auto;padding:var(--esp-spacing-1);margin:0;list-style:none}.esp-combobox-option{padding:var(--esp-spacing-2) var(--esp-spacing-3);border-radius:var(--esp-radius-md);font-size:1rem;color:var(--esp-text-base);cursor:pointer;display:flex;align-items:center;justify-content:space-between;transition:var(--esp-transition-fast);-webkit-user-select:none;user-select:none}.esp-combobox-option-highlighted{background:var(--esp-glass-bg-hover)}.esp-combobox-option-selected{background:var(--esp-color-primary-100);color:var(--esp-color-primary-700);font-weight:500}[data-theme=dark] .esp-combobox-option-selected,.dark .esp-combobox-option-selected{background:rgba(59,130,246,.15);color:var(--esp-color-primary-300)}.esp-combobox-option-disabled{opacity:.5;cursor:not-allowed}.esp-combobox-empty{padding:var(--esp-spacing-3);text-align:center;font-size:.875rem;color:var(--esp-text-muted)}.esp-combobox-message{font-size:.875rem;color:var(--esp-text-muted);margin-top:2px}.esp-combobox-message-error{color:var(--esp-color-danger-600)}.sd-root{--sd-width-expanded: 16rem;--sd-width-collapsed: 48px;color:var(--esp-text-base);width:0;flex:0 0 0;flex-shrink:0}.sd-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;background:var(--esp-bg-overlay);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.sd-aside{position:fixed;top:0;left:0;height:100vh;display:flex;flex-direction:column;justify-content:space-between;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;border-right:1px solid var(--esp-border-base);background:var(--sd-bg, var(--esp-bg-surface));color:var(--esp-text-base);transition:transform var(--esp-transition-slow),width var(--esp-transition-base);will-change:transform,width;width:var(--sd-width-expanded);box-sizing:border-box}.sd-surface-default{background:var(--sd-bg, var(--esp-bg-surface))}.sd-surface-soft{background:linear-gradient(180deg,color-mix(in srgb,var(--esp-bg-surface) 96%,transparent) 0%,color-mix(in srgb,var(--esp-bg-surface-hover) 88%,transparent) 100%);box-shadow:inset 0 1px 0 color-mix(in srgb,var(--esp-color-white, #ffffff) 24%,transparent),0 18px 36px #0f172a0f}.sd-surface-glass{background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.02)),var(--sd-bg, var(--esp-glass-bg, rgba(15, 23, 42, .7)));border-right-color:var(--sd-border, var(--esp-glass-border, rgba(255, 255, 255, .12)));box-shadow:0 22px 60px #0206172e,var(--esp-glass-highlight, inset 0 1px 0 rgba(255, 255, 255, .08));-webkit-backdrop-filter:saturate(180%) blur(var(--esp-glass-blur, 18px));backdrop-filter:saturate(180%) blur(var(--esp-glass-blur, 18px))}.sd-surface-glass .sd-brand{background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.02)),var(--sd-brand-color, transparent);border-bottom:1px solid color-mix(in srgb,var(--sd-border, var(--esp-border-base)) 82%,transparent)}.sd-surface-glass .sd-footer{background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.015)),var(--sd-footer-bg, transparent);border-top-color:color-mix(in srgb,var(--sd-border, var(--esp-border-base)) 82%,transparent)}.sd-surface-glass .sd-link-inactive:hover{background:color-mix(in srgb,var(--sd-hover, var(--esp-bg-subtle)) 88%,transparent)}[data-theme=dark] .sd-surface-soft,.dark .sd-surface-soft,[data-sd-theme=dark] .sd-surface-soft{background:linear-gradient(180deg,rgba(255,255,255,.035) 0%,rgba(255,255,255,.015) 100%),color-mix(in srgb,var(--esp-bg-surface) 96%,transparent);box-shadow:inset 0 1px #ffffff0a,0 18px 42px #02061738}[data-theme=dark] .sd-surface-glass,.dark .sd-surface-glass,[data-sd-theme=dark] .sd-surface-glass{background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.01)),linear-gradient(180deg,rgba(15,23,42,.18),rgba(15,23,42,.06)),var(--sd-bg, var(--esp-glass-bg, rgba(15, 23, 42, .72)));box-shadow:0 24px 64px #0206174d,var(--esp-glass-highlight, inset 0 1px 0 rgba(255, 255, 255, .07))}[data-theme=dark] .sd-surface-glass .sd-brand,.dark .sd-surface-glass .sd-brand,[data-sd-theme=dark] .sd-surface-glass .sd-brand{background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.012)),var(--sd-brand-color, transparent)}[data-theme=dark] .sd-surface-glass .sd-footer,.dark .sd-surface-glass .sd-footer,[data-sd-theme=dark] .sd-surface-glass .sd-footer{background:linear-gradient(180deg,rgba(255,255,255,.028),rgba(255,255,255,.01)),var(--sd-footer-bg, transparent)}.sd-aside *{box-sizing:border-box}.sd-mobile-open{transform:translate(0);z-index:40}.sd-mobile-closed{transform:translate(-100%);z-index:10}.sd-collapsed{width:var(--sd-width-collapsed)}@media (max-width: 767px){.sd-aside{width:clamp(14rem,80vw,20rem)}}@media (min-width: 768px){.sd-root{width:var(--sd-width-expanded);flex-basis:var(--sd-width-expanded)}.sd-root.sd-root-collapsed{width:var(--sd-width-collapsed);flex-basis:var(--sd-width-collapsed)}.sd-aside{position:fixed;transform:translate(0);z-index:20}.sd-mobile-open,.sd-mobile-closed{transform:translate(0)}}.sd-aside-content{display:flex;flex-direction:column;flex:1;overflow-y:auto}.sd-brand{display:flex;align-items:center;justify-content:space-between;gap:12px;height:64px;padding:0 20px;background:var(--sd-brand-color, transparent);flex-shrink:0}.sd-brand-content{display:flex;align-items:center;gap:12px;overflow:hidden}.sd-pin-button{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;border:none;background:transparent;color:var(--esp-text-muted);cursor:pointer;flex-shrink:0;transition:background var(--esp-transition-fast),transform var(--esp-transition-fast)}.sd-pin-button:hover{background:var(--esp-bg-surface-hover);color:var(--esp-text-base)}.sd-mobile-toggle{position:fixed;top:16px;left:16px;z-index:45;border-radius:999px;border:1px solid var(--esp-border-base);background:var(--esp-bg-surface);color:var(--esp-text-base);width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background var(--esp-transition-fast),transform var(--esp-transition-fast)}.sd-mobile-toggle:hover{background:var(--esp-bg-subtle-hover, var(--esp-bg-surface-hover))}.sd-mobile-toggle-hidden{opacity:0;pointer-events:none;transform:scale(.95)}@media (min-width: 768px){.sd-mobile-toggle{display:none}}[data-sd-mode=mobile] .sd-aside{position:absolute;height:100%;top:0;left:0;width:clamp(14rem,80vw,20rem);z-index:10}[data-sd-mode=mobile] .sd-aside.sd-collapsed{width:clamp(14rem,80vw,20rem)}[data-sd-mode=mobile] .sd-aside.sd-mobile-closed{transform:translate(-100%);z-index:10}[data-sd-mode=mobile] .sd-aside.sd-mobile-open{transform:translate(0);z-index:40}[data-sd-mode=mobile] .sd-overlay{position:absolute}[data-sd-mode=mobile] .sd-mobile-toggle{position:absolute;display:inline-flex}.sd-logo{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;overflow:hidden;flex-shrink:0}.sd-logo-img{width:100%;height:100%;object-fit:contain}.sd-brand-text{font-size:1rem;font-weight:600;color:var(--esp-text-base);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sd-nav{display:flex;flex-direction:column;gap:24px;padding:8px 16px 24px}.sd-section{display:flex;flex-direction:column;gap:8px}.sd-section-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.sd-heading{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--esp-text-muted);padding:0 12px;margin:0 0 4px}.sd-link-wrapper{width:100%}.sd-link{display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px 10px 9px;border-left:3px solid transparent;border-radius:var(--esp-radius-md, 8px);background:transparent;text-decoration:none;font-size:.875rem;font-weight:500;cursor:pointer;color:var(--esp-text-muted);border:none;transition:background var(--esp-transition-fast),color var(--esp-transition-fast);min-height:36px}.sd-link-active{background:var(--sd-active-bg, color-mix(in srgb, var(--sd-tint, var(--esp-color-primary, var(--esp-color-primary-500))) 14%, transparent));color:var(--esp-text-base);font-weight:600;border-left-color:var(--sd-tint, var(--esp-color-primary, var(--esp-color-primary-500)));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--sd-tint, var(--esp-color-primary, var(--esp-color-primary-500))) 22%,transparent)}.sd-link-active .sd-icon{color:var(--sd-tint, var(--esp-color-primary, var(--esp-color-primary-500)))}.dark .sd-link-active,[data-theme=dark] .sd-link-active{background:var(--sd-active-bg, color-mix(in srgb, var(--sd-tint, var(--esp-color-primary, var(--esp-color-primary-500))) 16%, transparent))}.sd-link-inactive:hover{background:var(--sd-hover, var(--esp-bg-subtle));color:var(--esp-text-base)}.sd-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0;position:relative}.sd-icon svg{width:100%;height:100%}.sd-label-wrapper{display:flex;align-items:center;justify-content:space-between;width:100%;overflow:hidden}.sd-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sd-badge{font-size:.75rem;font-weight:500;padding:2px 8px;border-radius:9999px;background:var(--sd-badge-bg, var(--esp-bg-subtle-hover, #f1f5f9));color:var(--sd-badge-color, var(--esp-text-muted));flex-shrink:0;margin-left:8px}.dark .sd-badge,[data-theme=dark] .sd-badge{background:var(--sd-badge-bg, var(--esp-bg-subtle));color:var(--sd-badge-color, var(--esp-text-muted))}.sd-badge-dot{position:absolute;top:-2px;right:-2px;width:6px;height:6px;border-radius:50%;background:var(--esp-color-primary, #2563eb)}.sd-footer{padding:16px 20px;border-top:1px solid var(--esp-border-base);background:var(--sd-footer-bg, transparent);display:flex;flex-direction:column;gap:12px;flex-shrink:0}.sd-footer-actions{display:flex;flex-direction:column;gap:2px}.sd-user{display:flex;align-items:center;gap:12px;padding:8px 12px;border-radius:var(--esp-radius-md, 8px)}.sd-user-text{display:flex;flex-direction:column;overflow:hidden}.sd-user-name{font-size:.875rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--esp-text-base);line-height:1.25}.sd-user-email{font-size:.75rem;color:var(--esp-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.25}.sd-avatar{width:40px;height:40px;border-radius:9999px;overflow:hidden;object-fit:cover;flex-shrink:0}.sd-avatar-initials{background:var(--esp-color-primary, #2563eb);color:var(--esp-text-inverse);display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:600}.sd-action{display:flex;align-items:center;gap:12px;width:100%;padding:8px 12px;border-radius:var(--esp-radius-md, 8px);border:none;background:transparent;color:var(--esp-text-muted);font-size:.875rem;font-weight:500;cursor:pointer;text-align:left;transition:background var(--esp-transition-fast),color var(--esp-transition-fast);min-height:36px}.sd-action:hover{background:var(--esp-bg-subtle);color:var(--esp-text-base)}.sd-action-danger{color:var(--esp-text-muted)}.sd-action-danger:hover{background:var(--esp-color-danger-subtle, #fef2f2);color:var(--esp-color-danger, #ef4444)}.dark .sd-action-danger:hover,[data-theme=dark] .sd-action-danger:hover{background:rgba(239,68,68,.1)}.sd-collapsed .sd-brand{padding:16px 0;height:auto;flex-direction:column;justify-content:center;gap:12px}.sd-collapsed .sd-brand-content{justify-content:center;gap:0}.sd-collapsed .sd-nav{padding:8px 4px 24px}.sd-collapsed .sd-link{padding:10px;justify-content:center}.sd-collapsed .sd-footer{padding:16px 4px;align-items:center}.sd-collapsed .sd-action{padding:10px;justify-content:center}.sd-collapsed .sd-user{padding:10px 0;justify-content:center}@media (max-width: 767px){.sd-link,.sd-action{min-height:44px}}.fsb-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90}.fsb-root *{box-sizing:border-box}.fsb-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--esp-bg-overlay)}.fsb-panel{position:absolute;top:0;bottom:0;max-width:100vw;background:var(--esp-glass-bg);backdrop-filter:saturate(180%) blur(16px);-webkit-backdrop-filter:saturate(180%) blur(16px);color:var(--esp-text-base);display:flex;flex-direction:column;box-shadow:var(--esp-glass-shadow)}.fsb-panel-right{right:0;border-left:1px solid var(--esp-glass-border);animation:fsb-slide-in-right var(--esp-transition-base)}.fsb-panel-left{left:0;border-right:1px solid var(--esp-glass-border);box-shadow:16px 0 40px #0f172a26;animation:fsb-slide-in-left var(--esp-transition-base)}.fsb-header{display:flex;justify-content:space-between;gap:16px;padding:16px;border-bottom:1px solid var(--esp-glass-border)}.fsb-header-content{min-width:0}.fsb-title{margin:0;font-size:1.05rem;font-weight:700;color:var(--esp-text-base)}.fsb-subtitle{margin:4px 0 0;font-size:.875rem;color:var(--esp-text-muted)}.fsb-close-button{width:34px;height:34px;border:1px solid var(--esp-glass-border);border-radius:8px;background:transparent;color:var(--esp-text-muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}.fsb-close-button:hover{color:var(--esp-text-base);background:var(--esp-bg-surface-hover)}.fsb-body{padding:16px;overflow-y:auto;flex:1}@keyframes fsb-slide-in-right{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes fsb-slide-in-left{0%{transform:translate(-100%)}to{transform:translate(0)}}@media (max-width: 640px){.fsb-panel{width:100%!important}}.esp-input-field{display:grid;gap:var(--esp-spacing-1);width:auto}.esp-input-field-fullWidth{width:100%}.esp-input-label{font-size:.875rem;font-weight:600;color:var(--esp-text-base)}.esp-input-control{position:relative;display:flex;align-items:center;border:1px solid var(--input-border, var(--esp-border-base));border-radius:var(--esp-radius-md);background:var(--input-bg, var(--esp-bg-base));color:var(--input-text, var(--esp-text-base));transition:var(--esp-transition-fast)}.esp-input-control:focus-within{border-color:var(--input-focus-border, var(--esp-color-primary-500));box-shadow:var(--esp-hover-glow)}.esp-input-control-error{--input-border: var(--esp-color-danger-500);--input-focus-border: var(--esp-color-danger-500)}.esp-input-control-error:focus-within{box-shadow:0 0 0 2px var(--esp-color-danger-bg)}.esp-input-control-disabled{opacity:.65;cursor:not-allowed;background:var(--esp-bg-surface-hover)}.esp-input{width:100%;border:none;outline:none;background:transparent;color:inherit;font:inherit;font-size:1rem;line-height:1.3;padding:var(--esp-spacing-2) var(--esp-spacing-3)}.esp-input:disabled{cursor:not-allowed;color:var(--esp-text-muted)}.esp-input::placeholder{color:var(--input-placeholder, var(--esp-text-muted))}.esp-input-hasLeft{padding-left:36px}.esp-input-hasRight{padding-right:36px}.esp-input-adornment{position:absolute;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;color:var(--esp-text-muted);pointer-events:none}.esp-input-adornment-left{left:var(--esp-spacing-3)}.esp-input-adornment-right{right:var(--esp-spacing-3)}.esp-input-message{font-size:.875rem;color:var(--esp-text-muted);margin-top:var(--esp-spacing-1)}.esp-input-message-error{color:var(--esp-color-danger-600)}.esp-checkbox{--checkbox-bg: var(--esp-bg-base);--checkbox-border: var(--esp-border-base);--checkbox-check: var(--esp-color-white);--checkbox-active-bg: var(--esp-color-primary-600);--checkbox-active-border: var(--esp-color-primary-600);display:inline-flex;align-items:flex-start;gap:var(--esp-spacing-2);cursor:pointer;position:relative}.esp-checkbox-disabled{cursor:not-allowed;opacity:.65}.esp-checkbox-error{--checkbox-border: var(--esp-color-danger-500);--checkbox-active-bg: var(--esp-color-danger-500);--checkbox-active-border: var(--esp-color-danger-500)}.esp-checkbox-control{position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}.esp-checkbox-size-sm .esp-checkbox-control{width:16px;height:16px}.esp-checkbox-size-md .esp-checkbox-control{width:20px;height:20px}.esp-checkbox-size-lg .esp-checkbox-control{width:24px;height:24px}.esp-checkbox-input{position:absolute;opacity:0;width:100%;height:100%;cursor:inherit;margin:0;z-index:1}.esp-checkbox-indicator{width:100%;height:100%;border-radius:var(--esp-radius-sm);border:1px solid var(--checkbox-border);background:var(--checkbox-bg);display:inline-flex;align-items:center;justify-content:center;transition:var(--esp-transition-base)}.esp-checkbox-input:focus-visible+.esp-checkbox-indicator{box-shadow:var(--esp-hover-glow);border-color:var(--checkbox-active-border)}.esp-checkbox-error .esp-checkbox-input:focus-visible+.esp-checkbox-indicator{box-shadow:0 0 0 2px var(--esp-color-danger-bg)}.esp-checkbox-input:checked+.esp-checkbox-indicator,.esp-checkbox-input:indeterminate+.esp-checkbox-indicator{background:var(--checkbox-active-bg);border-color:var(--checkbox-active-border)}.esp-checkbox-icon{color:var(--checkbox-check);width:70%;height:70%;opacity:0;transform:scale(.5);transition:var(--esp-transition-base);position:absolute}.esp-checkbox-input:checked+.esp-checkbox-indicator .esp-checkbox-icon-check,.esp-checkbox-input:indeterminate+.esp-checkbox-indicator .esp-checkbox-icon-minus{opacity:1;transform:scale(1)}.esp-checkbox-content{display:flex;flex-direction:column;gap:2px}.esp-checkbox-label{font-weight:500;color:var(--esp-text-base);line-height:normal}.esp-checkbox-size-sm .esp-checkbox-label{font-size:.875rem}.esp-checkbox-size-md .esp-checkbox-label{font-size:1rem}.esp-checkbox-size-lg .esp-checkbox-label{font-size:1.125rem}.esp-checkbox-description{font-size:.875rem;color:var(--esp-text-muted)}.esp-checkbox-size-sm .esp-checkbox-description{font-size:.75rem}.esp-checkbox-size-lg .esp-checkbox-description{font-size:1rem}.esp-radio-group{display:flex;flex-direction:column;gap:var(--esp-spacing-2);border:none;margin:0;padding:0}.esp-radio-group-label{font-size:.875rem;font-weight:600;color:var(--esp-text-base);margin-bottom:var(--esp-spacing-1)}.esp-radio-options{display:flex}.esp-radio-options-vertical{flex-direction:column;gap:var(--esp-spacing-2)}.esp-radio-options-horizontal{flex-direction:row;flex-wrap:wrap;gap:var(--esp-spacing-2) var(--esp-spacing-4)}.esp-radio{--radio-bg: var(--esp-bg-base);--radio-dot: var(--esp-color-white);--radio-ring: var(--esp-border-base);--radio-active-bg: var(--esp-color-primary-600);display:inline-flex;align-items:flex-start;gap:var(--esp-spacing-2);cursor:pointer;position:relative}.esp-radio-disabled{cursor:not-allowed;opacity:.65}.esp-radio-error{--radio-ring: var(--esp-color-danger-500);--radio-active-bg: var(--esp-color-danger-500)}.esp-radio-control{position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px;width:20px;height:20px}.esp-radio-input{position:absolute;opacity:0;width:100%;height:100%;cursor:inherit;margin:0;z-index:1}.esp-radio-indicator{width:100%;height:100%;border-radius:var(--esp-radius-full);border:1px solid var(--radio-ring);background:var(--radio-bg);display:inline-flex;align-items:center;justify-content:center;transition:var(--esp-transition-base)}.esp-radio-indicator:after{content:"";display:block;width:8px;height:8px;border-radius:var(--esp-radius-full);background:var(--radio-dot);opacity:0;transform:scale(.5);transition:var(--esp-transition-base)}.esp-radio-input:focus-visible+.esp-radio-indicator{box-shadow:var(--esp-hover-glow);border-color:var(--radio-active-bg)}.esp-radio-error .esp-radio-input:focus-visible+.esp-radio-indicator{box-shadow:0 0 0 2px var(--esp-color-danger-bg)}.esp-radio-input:checked+.esp-radio-indicator{background:var(--radio-active-bg);border-color:var(--radio-active-bg)}.esp-radio-input:checked+.esp-radio-indicator:after{opacity:1;transform:scale(1)}.esp-radio-content{display:flex;flex-direction:column;gap:2px}.esp-radio-label{font-weight:500;color:var(--esp-text-base);font-size:1rem;line-height:normal}.esp-radio-description{font-size:.875rem;color:var(--esp-text-muted)}.esp-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--esp-spacing-2);font-family:inherit;font-weight:500;font-size:.875rem;border-radius:var(--esp-radius-md);cursor:pointer;outline:none;transition:var(--esp-transition-base);position:relative;-webkit-user-select:none;user-select:none;line-height:1.25rem}.esp-btn:hover:not(:disabled){transform:var(--esp-hover-lift)}.esp-btn:active:not(:disabled){transform:var(--esp-active-press)}.esp-btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.esp-btn:focus-visible{box-shadow:0 0 0 2px var(--esp-bg-base),0 0 0 4px var(--esp-border-focus)}.esp-btn-size-sm{padding:var(--esp-spacing-1) var(--esp-spacing-3);font-size:.8125rem}.esp-btn-size-md{padding:var(--esp-spacing-2) var(--esp-spacing-4);font-size:.875rem}.esp-btn-size-lg{padding:.625rem var(--esp-spacing-5);font-size:1rem}.esp-btn-fullWidth{width:100%}.esp-btn-loading{cursor:wait}.esp-btn-variant-primary{background-color:var(--esp-color-primary-600);color:var(--esp-color-white);border:1px solid var(--esp-color-primary-700);box-shadow:var(--esp-shadow-sm)}.esp-btn-variant-primary:hover:not(:disabled){background-color:var(--esp-color-primary-700);box-shadow:var(--esp-hover-glow)}.esp-btn-variant-primary:active:not(:disabled){background-color:var(--esp-color-primary-800)}.esp-btn-variant-danger{background-color:var(--esp-color-danger-500);color:var(--esp-color-white);border:1px solid var(--esp-color-danger-600);box-shadow:var(--esp-shadow-sm)}.esp-btn-variant-danger:hover:not(:disabled){background-color:var(--esp-color-danger-600);box-shadow:0 0 0 2px var(--esp-color-danger-bg)}.esp-btn-variant-danger:active:not(:disabled){background-color:var(--esp-color-danger-800)}.esp-btn-variant-success{background-color:var(--esp-color-success-500);color:var(--esp-color-white);border:1px solid var(--esp-color-success-600);box-shadow:var(--esp-shadow-sm)}.esp-btn-variant-success:hover:not(:disabled){background-color:var(--esp-color-success-600)}.esp-btn-variant-success:active:not(:disabled){background-color:var(--esp-color-success-800)}.esp-btn-variant-warning{background-color:var(--esp-color-warning-500);color:var(--esp-color-white);border:1px solid var(--esp-color-warning-600);box-shadow:var(--esp-shadow-sm)}.esp-btn-variant-warning:hover:not(:disabled){background-color:var(--esp-color-warning-600)}.esp-btn-variant-warning:active:not(:disabled){background-color:var(--esp-color-warning-800)}.esp-btn-variant-info{background-color:var(--esp-color-info-500);color:var(--esp-color-white);border:1px solid var(--esp-color-info-600);box-shadow:var(--esp-shadow-sm)}.esp-btn-variant-info:hover:not(:disabled){background-color:var(--esp-color-info-600)}.esp-btn-variant-info:active:not(:disabled){background-color:var(--esp-color-info-800)}.esp-btn-variant-secondary{background-color:var(--esp-bg-surface);color:var(--esp-text-base);border:1px solid var(--esp-border-base);box-shadow:var(--esp-shadow-sm)}.esp-btn-variant-secondary:hover:not(:disabled){background-color:var(--esp-bg-surface-hover);border-color:var(--esp-border-focus)}.esp-btn-variant-secondary:active:not(:disabled){background-color:var(--esp-bg-surface-active)}.esp-btn-variant-outline{background-color:transparent;color:var(--esp-color-primary-600);border:1px solid var(--esp-color-primary-500)}.esp-btn-variant-outline:hover:not(:disabled){background-color:var(--esp-bg-subtle-hover)}.esp-btn-variant-outline:active:not(:disabled){background-color:var(--esp-color-primary-active)}.esp-btn-variant-ghost{background-color:transparent;color:var(--esp-text-muted);border:1px solid transparent}.esp-btn-variant-ghost:hover:not(:disabled){background-color:var(--esp-bg-surface-hover);color:var(--esp-text-base)}.esp-btn-variant-ghost:active:not(:disabled){background-color:var(--esp-bg-surface-active)}.esp-btn.esp-quick-action{width:40px;height:40px;padding:0;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;overflow:hidden}.esp-btn.esp-quick-action .esp-btn-label{display:inline-flex;align-items:center;justify-content:center;width:100%;gap:0}.esp-btn.esp-quick-action .esp-btn-label>svg,.esp-btn.esp-quick-action .esp-btn-icon,.esp-btn.esp-quick-action>svg{flex-shrink:0}.esp-quick-action-text{display:inline-block;line-height:1;white-space:nowrap}.esp-btn.esp-quick-action-expand{width:36px;height:36px;padding:0 9px;border-radius:10px;gap:0;align-items:center;transition:width .18s ease,padding .18s ease,background .18s ease,color .18s ease,justify-content .18s ease}.esp-btn.esp-quick-action-expand:hover:not(:disabled),.esp-btn.esp-quick-action-expand:focus-visible{width:128px;padding:0 10px;justify-content:flex-start;background:color-mix(in srgb,var(--esp-color-primary) 12%,transparent);color:var(--esp-color-primary)}.esp-btn.esp-quick-action-expand:hover:not(:disabled) .esp-btn-label,.esp-btn.esp-quick-action-expand:focus-visible .esp-btn-label{justify-content:flex-start}.esp-btn.esp-quick-action-expand .esp-quick-action-text{max-width:0;opacity:0;overflow:hidden;margin-left:0;transform:translate(-2px);transition:max-width .18s ease,opacity .18s ease,transform .18s ease,margin-left .18s ease}.esp-btn.esp-quick-action-expand:hover:not(:disabled) .esp-quick-action-text,.esp-btn.esp-quick-action-expand:focus-visible .esp-quick-action-text{max-width:84px;opacity:1;transform:translate(0);margin-left:6px}.esp-btn.esp-quick-action-outline{border:1px solid color-mix(in srgb,var(--esp-color-primary) 34%,transparent);background:transparent;color:var(--esp-color-primary)}.esp-btn.esp-quick-action-outline:hover:not(:disabled),.esp-btn.esp-quick-action-outline:focus-visible{background:color-mix(in srgb,var(--esp-color-primary) 10%,transparent);color:var(--esp-color-primary)}.esp-btn.esp-quick-action-soft{background:color-mix(in srgb,var(--esp-color-primary) 12%,transparent);color:var(--esp-color-primary)}.esp-btn.esp-quick-action-soft:hover:not(:disabled),.esp-btn.esp-quick-action-soft:focus-visible{background:color-mix(in srgb,var(--esp-color-primary) 16%,transparent);color:var(--esp-color-primary)}.esp-btn.esp-quick-action-glass{border:1px solid color-mix(in srgb,var(--esp-border-base) 88%,transparent);background:color-mix(in srgb,var(--esp-bg-surface) 82%,transparent);color:var(--esp-text-base);-webkit-backdrop-filter:blur(10px) saturate(120%);backdrop-filter:blur(10px) saturate(120%)}.esp-btn.esp-quick-action-glass:hover:not(:disabled),.esp-btn.esp-quick-action-glass:focus-visible{background:color-mix(in srgb,var(--esp-bg-surface-hover) 86%,transparent);color:var(--esp-text-base)}.esp-btn-icon{display:inline-flex;align-items:center;justify-content:center;font-size:1.1em}.esp-btn-label{line-height:inherit}.esp-btn-spinner{width:1em;height:1em;border-radius:var(--esp-radius-full);border:2px solid currentColor;border-right-color:transparent;animation:esp-btn-spin .7s linear infinite;display:inline-block}@keyframes esp-btn-spin{to{transform:rotate(360deg)}}.esp-textarea-control{position:relative;display:flex;flex-direction:column;border:1px solid var(--input-border, var(--esp-border-base));border-radius:var(--esp-radius-md);background:var(--input-bg, var(--esp-bg-base));color:var(--input-text, var(--esp-text-base));transition:var(--esp-transition-fast)}.esp-textarea-control:focus-within{border-color:var(--input-focus-border, var(--esp-color-primary-500));box-shadow:var(--esp-hover-glow)}.esp-textarea-control-error{--input-border: var(--esp-color-danger-500);--input-focus-border: var(--esp-color-danger-500)}.esp-textarea-control-error:focus-within{box-shadow:0 0 0 2px var(--esp-color-danger-bg)}.esp-textarea-control-disabled{opacity:.65;cursor:not-allowed;background:var(--esp-bg-surface-hover)}.esp-textarea{width:100%;min-height:96px;line-height:1.45;border:none;outline:none;background:transparent;color:inherit;font:inherit;font-size:1rem;padding:var(--esp-spacing-2) var(--esp-spacing-3);resize:vertical;border-radius:inherit;box-sizing:border-box}.esp-textarea:disabled{cursor:not-allowed;color:var(--esp-text-muted)}.esp-textarea::placeholder{color:var(--input-placeholder, var(--esp-text-muted))}.esp-textarea-autoresize{resize:none;overflow-y:hidden}.esp-textarea::-webkit-resizer{background-color:var(--esp-border-base);border:4px solid var(--esp-bg-base);box-shadow:inset 1px 1px #0000001a;border-radius:var(--esp-radius-sm)}.esp-textarea-footer{display:flex;justify-content:flex-end;padding:var(--esp-spacing-1) var(--esp-spacing-3) var(--esp-spacing-2);font-size:.75rem;color:var(--esp-text-muted)}.esp-page-header{display:flex;flex-direction:column;gap:var(--esp-spacing-1);padding:var(--esp-spacing-4) 0}.esp-page-header-row{display:flex;align-items:center;justify-content:space-between;gap:var(--esp-spacing-4);flex-wrap:wrap}.esp-page-header-content{display:flex;flex-direction:column;gap:var(--esp-spacing-1);min-width:0;flex:1}.esp-page-header-inverted{flex-direction:column-reverse}.esp-page-header-title{font-size:clamp(1.25rem,2vw + .5rem,2rem);font-weight:700;color:var(--esp-text-base);margin:0;line-height:1.3}.esp-page-header-description{font-size:clamp(.875rem,1vw + .25rem,1.125rem);color:var(--esp-text-muted);margin:0;line-height:1.5}.esp-page-header-actions{display:flex;align-items:center;gap:var(--esp-spacing-2);flex-shrink:0}.esp-page-header-breadcrumbs{margin-bottom:var(--esp-spacing-1)}.esp-page-header-tabs{margin-top:var(--esp-spacing-3);border-bottom:1px solid var(--esp-border-base)}.esp-page-header-sticky{position:sticky;top:0;z-index:var(--esp-z-sticky, 40);background:var(--esp-glass-bg);-webkit-backdrop-filter:saturate(180%) blur(var(--esp-glass-blur));backdrop-filter:saturate(180%) blur(var(--esp-glass-blur));transition:box-shadow var(--esp-transition-base)}.esp-page-header-sticky.esp-page-header-scrolled{box-shadow:var(--esp-glass-shadow);border-bottom:1px solid var(--esp-glass-border)}@media (max-width: 640px){.esp-page-header-row{flex-direction:column;align-items:flex-start}.esp-page-header-actions{width:100%}}.esp-tabs{display:grid;gap:var(--esp-spacing-4);min-width:0}.esp-tabs-list{display:flex;align-items:stretch;flex-wrap:wrap;gap:var(--esp-spacing-2);min-width:0}.esp-tabs-full .esp-tabs-list{width:100%}.esp-tabs-full .esp-tabs-trigger{flex:1 1 0;justify-content:center}.esp-tabs-trigger{display:inline-flex;align-items:center;justify-content:center;gap:var(--esp-spacing-2);min-width:0;border:none;background:transparent;color:var(--esp-text-muted);cursor:pointer;font:inherit;font-weight:600;line-height:1;transition:background var(--esp-transition-fast),color var(--esp-transition-fast),border-color var(--esp-transition-fast),box-shadow var(--esp-transition-fast)}.esp-tabs-trigger:hover:not(.is-disabled){color:var(--esp-text-base)}.esp-tabs-trigger:focus-visible{outline:2px solid var(--esp-border-focus);outline-offset:2px}.esp-tabs-trigger.is-disabled{opacity:.48;cursor:not-allowed}.esp-tabs-trigger-icon,.esp-tabs-trigger-badge{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.esp-tabs-trigger-icon svg{width:1em;height:1em}.esp-tabs-trigger-label{min-width:0;white-space:nowrap}.esp-tabs-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:var(--esp-radius-full);background:color-mix(in srgb,var(--esp-bg-surface-hover) 88%,transparent);color:var(--esp-text-muted);font-size:.7rem;font-weight:700;line-height:1}.esp-tabs-size-sm .esp-tabs-trigger{min-height:32px;padding:0 var(--esp-spacing-3);font-size:.78rem}.esp-tabs-size-md .esp-tabs-trigger{min-height:38px;padding:0 var(--esp-spacing-4);font-size:.88rem}.esp-tabs-size-lg .esp-tabs-trigger{min-height:44px;padding:0 var(--esp-spacing-5);font-size:.95rem}.esp-tabs-panels,.esp-tabs-panel{min-width:0}.esp-tabs-variant-underline .esp-tabs-list{gap:0;border-bottom:1px solid var(--esp-border-base)}.esp-tabs-variant-underline .esp-tabs-trigger{padding-left:0;padding-right:var(--esp-spacing-4);border-bottom:2px solid transparent;border-radius:0;margin-bottom:-1px}.esp-tabs-variant-underline .esp-tabs-trigger.is-active{color:var(--esp-color-primary);border-bottom-color:var(--esp-color-primary)}.esp-tabs-variant-underline .esp-tabs-trigger.is-active .esp-tabs-badge{background:color-mix(in srgb,var(--esp-color-primary) 14%,transparent);color:var(--esp-color-primary)}.esp-tabs-variant-pills .esp-tabs-trigger{border-radius:var(--esp-radius-full);border:1px solid color-mix(in srgb,var(--esp-border-base) 82%,transparent);background:color-mix(in srgb,var(--esp-bg-surface) 90%,transparent)}.esp-tabs-variant-pills .esp-tabs-trigger:hover:not(.is-disabled){background:color-mix(in srgb,var(--esp-bg-surface-hover) 88%,transparent)}.esp-tabs-variant-pills .esp-tabs-trigger.is-active{background:color-mix(in srgb,var(--esp-color-primary) 12%,transparent);border-color:color-mix(in srgb,var(--esp-color-primary) 28%,transparent);color:var(--esp-color-primary)}.esp-tabs-variant-pills .esp-tabs-trigger.is-active .esp-tabs-badge{background:color-mix(in srgb,var(--esp-color-primary) 16%,transparent);color:var(--esp-color-primary)}.esp-tabs-variant-segmented .esp-tabs-list{gap:4px;padding:4px;border:1px solid color-mix(in srgb,var(--esp-border-base) 84%,transparent);border-radius:var(--esp-radius-full);background:color-mix(in srgb,var(--esp-bg-surface-hover) 82%,transparent)}.esp-tabs-variant-segmented .esp-tabs-trigger{border-radius:var(--esp-radius-full)}.esp-tabs-variant-segmented .esp-tabs-trigger.is-active{background:var(--esp-bg-surface);color:var(--esp-text-base);box-shadow:var(--esp-shadow-sm)}.esp-tabs-variant-segmented .esp-tabs-trigger.is-active .esp-tabs-badge{background:color-mix(in srgb,var(--esp-color-primary) 14%,transparent);color:var(--esp-color-primary)}.esp-tabs-variant-glass .esp-tabs-list{gap:6px;padding:6px;border-radius:18px;border:1px solid var(--esp-glass-border);background:var(--esp-glass-bg);box-shadow:var(--esp-glass-shadow),var(--esp-glass-highlight);-webkit-backdrop-filter:saturate(180%) blur(var(--esp-glass-blur));backdrop-filter:saturate(180%) blur(var(--esp-glass-blur))}.esp-tabs-variant-glass .esp-tabs-trigger{border-radius:var(--esp-radius-full)}.esp-tabs-variant-glass .esp-tabs-trigger.is-active{background:color-mix(in srgb,var(--esp-bg-surface) 84%,transparent);color:var(--esp-text-base);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--esp-glass-border) 82%,transparent)}.esp-tabs-variant-glass .esp-tabs-trigger.is-active .esp-tabs-badge{background:color-mix(in srgb,var(--esp-color-primary) 14%,transparent);color:var(--esp-color-primary)}@media (max-width: 640px){.esp-tabs-full .esp-tabs-trigger{flex-basis:calc(50% - var(--esp-spacing-2))}.esp-tabs-variant-underline .esp-tabs-trigger{padding-right:var(--esp-spacing-3)}}.esp-card{--card-bg: var(--esp-bg-base);--card-border: var(--esp-border-base);--card-radius: var(--esp-radius-lg);--card-shadow-sm: var(--esp-shadow-sm);--card-shadow-md: var(--esp-shadow-md);--card-shadow-lg: var(--esp-shadow-lg);--card-ring: 0 0 0 1px var(--esp-border-subtle, rgba(0,0,0,.05));--esp-card-glass-opacity: 1;--esp-card-glass-blur: var(--esp-glass-blur);background-color:var(--card-bg);border-radius:var(--card-radius);color:var(--esp-text-base);display:flex;flex-direction:column;overflow:hidden;position:relative;transition:var(--esp-transition-base)}[data-theme=dark] .esp-card,.dark .esp-card{--card-bg: var(--esp-bg-surface);--card-border: var(--esp-border-subtle);--card-ring: inset 0 1px 0 0 rgba(255, 255, 255, .05), 0 0 0 1px rgba(255, 255, 255, .05)}.esp-card-elevated{box-shadow:var(--card-shadow-sm),var(--card-ring);border:none}.esp-card-outlined{box-shadow:none;border:1px solid var(--card-border)}.esp-card-filled{box-shadow:none;border:1px solid transparent;background-color:var(--esp-bg-surface-hover)}.esp-card-glass{background:linear-gradient(180deg,rgba(255,255,255,calc(.04 * var(--esp-card-glass-opacity))) 0%,rgba(255,255,255,calc(.01 * var(--esp-card-glass-opacity))) 100%),var(--esp-glass-bg);border:1px solid var(--esp-glass-border);box-shadow:0 18px 50px #0206173d,var(--esp-glass-highlight),inset 0 1px 0 rgba(255,255,255,calc(.05 * var(--esp-card-glass-opacity)));-webkit-backdrop-filter:saturate(180%) blur(var(--esp-card-glass-blur));backdrop-filter:saturate(180%) blur(var(--esp-card-glass-blur))}[data-theme=dark] .esp-card-glass,.dark .esp-card-glass{background:linear-gradient(180deg,rgba(255,255,255,calc(.035 * var(--esp-card-glass-opacity))) 0%,rgba(255,255,255,calc(.008 * var(--esp-card-glass-opacity))) 100%),linear-gradient(180deg,rgba(15,23,42,.16),rgba(15,23,42,.06)),var(--esp-glass-bg);box-shadow:0 22px 60px #02061757,var(--esp-glass-highlight),inset 0 1px 0 rgba(255,255,255,calc(.04 * var(--esp-card-glass-opacity)))}.esp-card-glass .esp-card-footer{border-color:var(--esp-glass-border);background-color:transparent}.esp-card-interactive{cursor:pointer;-webkit-user-select:none;user-select:none;transition:var(--esp-transition-base)}.esp-card-interactive:active{transform:var(--esp-active-press)}.esp-card-interactive.esp-card-elevated:hover{box-shadow:var(--card-shadow-md),var(--card-ring);transform:var(--esp-hover-lift)}.esp-card-interactive.esp-card-elevated:active{transform:translateY(0) scale(.985);box-shadow:var(--card-shadow-sm),var(--card-ring)}.esp-card-interactive.esp-card-outlined:hover{background-color:var(--esp-bg-surface-hover);box-shadow:var(--card-shadow-sm)}.esp-card-interactive.esp-card-filled:hover{background-color:var(--esp-bg-surface-active)}.esp-card-interactive.esp-card-glass:hover{box-shadow:0 24px 64px #0206174d,var(--esp-glass-highlight),inset 0 1px 0 rgba(255,255,255,calc(.07 * var(--esp-card-glass-opacity)));transform:var(--esp-hover-lift);background:linear-gradient(180deg,rgba(255,255,255,calc(.07 * var(--esp-card-glass-opacity))) 0%,rgba(255,255,255,calc(.02 * var(--esp-card-glass-opacity))) 100%),var(--esp-glass-bg-hover)}.esp-card-interactive.esp-card-glass:active{transform:translateY(0) scale(.985)}[data-theme=dark] .esp-card-interactive.esp-card-glass:hover,.dark .esp-card-interactive.esp-card-glass:hover{background:linear-gradient(180deg,rgba(255,255,255,calc(.05 * var(--esp-card-glass-opacity))) 0%,rgba(255,255,255,calc(.015 * var(--esp-card-glass-opacity))) 100%),linear-gradient(180deg,rgba(15,23,42,.14),rgba(15,23,42,.05)),var(--esp-glass-bg-hover)}.esp-card-header{padding:var(--esp-spacing-6) var(--esp-spacing-6) 0;display:flex;flex-direction:column;gap:var(--esp-spacing-1)}.esp-card-header+.esp-card-body{padding-top:var(--esp-spacing-4)}.esp-card-title{font-size:1.125rem;font-weight:600;line-height:1.4;margin:0;letter-spacing:-.015em;color:var(--esp-text-base)}.esp-card-description{font-size:.875rem;color:var(--esp-text-muted);line-height:1.5;margin:0}.esp-card-body{padding:var(--esp-spacing-6);flex:1 1 auto}.esp-card-footer{padding:var(--esp-spacing-4) var(--esp-spacing-6);display:flex;align-items:center;border-top:1px solid var(--card-border);background-color:var(--esp-bg-surface-hover);border-radius:0 0 calc(var(--card-radius) - 1px) calc(var(--card-radius) - 1px)}.esp-metric-card{min-height:176px}.esp-metric-card-body{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.esp-metric-card-icon{width:40px;height:40px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;margin-bottom:12px;background:var(--esp-metric-icon-bg);color:var(--esp-metric-icon-color)}.esp-metric-card-value{margin:0;font-size:1.75rem;font-weight:700;line-height:1.1;letter-spacing:-.02em;color:var(--esp-text-base)}.esp-metric-card-title{margin:0;font-size:1rem;font-weight:600;color:var(--esp-text-base)}.esp-metric-card .esp-metric-card-description{margin:0;font-size:.75rem;line-height:1.45;color:color-mix(in srgb,var(--esp-text-muted) 82%,#94a3b8)}.esp-metric-card-tone-neutral{--esp-metric-icon-bg: rgba(148, 163, 184, .14);--esp-metric-icon-color: rgb(148, 163, 184)}.esp-metric-card-tone-success{--esp-metric-icon-bg: rgba(16, 185, 129, .12);--esp-metric-icon-color: rgb(16, 185, 129)}.esp-metric-card-tone-danger{--esp-metric-icon-bg: rgba(239, 68, 68, .12);--esp-metric-icon-color: rgb(239, 68, 68)}.esp-metric-card-tone-warning{--esp-metric-icon-bg: rgba(245, 158, 11, .14);--esp-metric-icon-color: rgb(245, 158, 11)}.esp-metric-card-tone-info{--esp-metric-icon-bg: rgba(59, 130, 246, .14);--esp-metric-icon-color: rgb(59, 130, 246)}.esp-task-badge{--esp-task-badge-bg-soft: color-mix(in srgb, var(--esp-color-primary-500) 12%, transparent);--esp-task-badge-bg-solid: var(--esp-color-primary-600);--esp-task-badge-border: color-mix(in srgb, var(--esp-color-primary-500) 28%, transparent);--esp-task-badge-color: var(--esp-color-primary-700);--esp-task-badge-text-solid: var(--esp-color-white);display:inline-flex;align-items:center;gap:8px;border-radius:var(--esp-radius-full);border:1px solid transparent;font-weight:600;line-height:1;white-space:nowrap}.esp-task-badge-size-sm{min-height:24px;padding:0 10px;font-size:.72rem}.esp-task-badge-size-md{min-height:28px;padding:0 12px;font-size:.78rem}.esp-task-badge-variant-soft{background:var(--esp-task-badge-bg-soft);color:var(--esp-task-badge-color)}.esp-task-badge-variant-outline{background:transparent;border-color:var(--esp-task-badge-border);color:var(--esp-task-badge-color)}.esp-task-badge-variant-solid{background:var(--esp-task-badge-bg-solid);color:var(--esp-task-badge-text-solid)}.esp-task-badge-dot{width:8px;height:8px;border-radius:var(--esp-radius-full);background:var(--esp-task-badge-dot, currentColor);flex-shrink:0}.esp-task-badge-label{display:inline-flex;align-items:center}.esp-task-status-badge-status-todo{--esp-task-badge-bg-soft: rgba(148, 163, 184, .14);--esp-task-badge-bg-solid: rgb(100, 116, 139);--esp-task-badge-border: rgba(148, 163, 184, .34);--esp-task-badge-color: rgb(100, 116, 139)}.esp-task-status-badge-status-planned{--esp-task-badge-bg-soft: rgba(59, 130, 246, .14);--esp-task-badge-bg-solid: rgb(37, 99, 235);--esp-task-badge-border: rgba(59, 130, 246, .32);--esp-task-badge-color: rgb(37, 99, 235)}.esp-task-status-badge-status-in_progress{--esp-task-badge-bg-soft: rgba(14, 165, 233, .14);--esp-task-badge-bg-solid: rgb(2, 132, 199);--esp-task-badge-border: rgba(14, 165, 233, .32);--esp-task-badge-color: rgb(2, 132, 199)}.esp-task-status-badge-status-blocked{--esp-task-badge-bg-soft: rgba(239, 68, 68, .14);--esp-task-badge-bg-solid: rgb(220, 38, 38);--esp-task-badge-border: rgba(239, 68, 68, .3);--esp-task-badge-color: rgb(220, 38, 38)}.esp-task-status-badge-status-done{--esp-task-badge-bg-soft: rgba(16, 185, 129, .14);--esp-task-badge-bg-solid: rgb(5, 150, 105);--esp-task-badge-border: rgba(16, 185, 129, .32);--esp-task-badge-color: rgb(5, 150, 105)}.esp-task-priority-badge-priority-low{--esp-task-badge-bg-soft: rgba(148, 163, 184, .14);--esp-task-badge-bg-solid: rgb(100, 116, 139);--esp-task-badge-border: rgba(148, 163, 184, .34);--esp-task-badge-color: rgb(100, 116, 139)}.esp-task-priority-badge-priority-medium{--esp-task-badge-bg-soft: rgba(59, 130, 246, .14);--esp-task-badge-bg-solid: rgb(37, 99, 235);--esp-task-badge-border: rgba(59, 130, 246, .32);--esp-task-badge-color: rgb(37, 99, 235)}.esp-task-priority-badge-priority-high{--esp-task-badge-bg-soft: rgba(245, 158, 11, .14);--esp-task-badge-bg-solid: rgb(217, 119, 6);--esp-task-badge-border: rgba(245, 158, 11, .3);--esp-task-badge-color: rgb(217, 119, 6)}.esp-task-priority-badge-priority-critical{--esp-task-badge-bg-soft: rgba(239, 68, 68, .14);--esp-task-badge-bg-solid: rgb(220, 38, 38);--esp-task-badge-border: rgba(239, 68, 68, .3);--esp-task-badge-color: rgb(220, 38, 38)}.esp-task-card{min-height:220px}.esp-task-card-header{gap:var(--esp-spacing-3)}.esp-task-card-topline{display:flex;align-items:center;justify-content:space-between;gap:var(--esp-spacing-3);flex-wrap:wrap}.esp-task-card-badges{display:flex;align-items:center;gap:var(--esp-spacing-2);flex-wrap:wrap}.esp-task-card-due-date{display:inline-flex;align-items:center;min-height:30px;padding:0 var(--esp-spacing-3);border-radius:var(--esp-radius-full);border:1px solid var(--esp-border-subtle);background:color-mix(in srgb,var(--esp-bg-surface-hover) 88%,transparent);color:var(--esp-text-muted);font-size:.75rem;font-weight:600;letter-spacing:.01em}.esp-task-card-title,.esp-task-card-description{margin-top:0}.esp-task-card-body{display:flex;flex-direction:column;gap:var(--esp-spacing-4)}.esp-task-card-meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:var(--esp-spacing-3)}.esp-task-card-meta-item{min-width:0;display:flex;flex-direction:column;gap:4px}.esp-task-card-meta-label{font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--esp-text-muted)}.esp-task-card-meta-value{font-size:.92rem;line-height:1.45;color:var(--esp-text-base)}.esp-task-card-progress{display:flex;flex-direction:column;gap:var(--esp-spacing-2)}.esp-task-card-progress-row{display:flex;align-items:center;justify-content:space-between;gap:var(--esp-spacing-3)}.esp-task-card-progress-label{font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--esp-text-muted)}.esp-task-card-progress-value{font-size:.82rem;color:var(--esp-text-base)}.esp-task-card-progress-track{position:relative;width:100%;height:8px;overflow:hidden;border-radius:var(--esp-radius-full);background:color-mix(in srgb,var(--esp-bg-surface-hover) 92%,transparent);box-shadow:inset 0 0 0 1px var(--esp-border-subtle)}.esp-task-card-progress-bar{height:100%;width:var(--esp-task-card-progress, 0%);border-radius:inherit;background:linear-gradient(90deg,var(--esp-color-primary) 0%,color-mix(in srgb,var(--esp-color-primary) 72%,#7dd3fc) 100%)}.esp-task-card-tags{display:flex;align-items:center;flex-wrap:wrap;gap:var(--esp-spacing-2)}.esp-task-card-tag{display:inline-flex;align-items:center;min-height:28px;padding:0 var(--esp-spacing-3);border-radius:var(--esp-radius-full);border:1px solid var(--esp-border-subtle);background:color-mix(in srgb,var(--esp-bg-surface-hover) 88%,transparent);color:var(--esp-text-muted);font-size:.78rem;font-weight:600;line-height:1}.esp-task-card-meta-extra{color:var(--esp-text-muted)}.esp-task-card-footer{justify-content:space-between;gap:var(--esp-spacing-3);flex-wrap:wrap}.esp-task-calendar{min-width:0}.esp-task-calendar-header{gap:var(--esp-spacing-4)}.esp-task-calendar-copy{display:flex;flex-direction:column;gap:var(--esp-spacing-1)}.esp-task-calendar-heading,.esp-task-calendar-description{margin:0}.esp-task-calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--esp-spacing-4);flex-wrap:wrap}.esp-task-calendar-range-label{font-size:1rem;font-weight:700;letter-spacing:-.015em;text-transform:capitalize;color:var(--esp-text-base)}.esp-task-calendar-toolbar-actions{display:flex;align-items:center;gap:var(--esp-spacing-3);flex-wrap:wrap}.esp-task-calendar-view-switcher{display:inline-flex;align-items:center;gap:4px;padding:4px;border-radius:var(--esp-radius-full);border:1px solid var(--esp-border-subtle);background:color-mix(in srgb,var(--esp-bg-surface-hover) 82%,transparent)}.esp-task-calendar-view-button{min-height:30px;padding:0 var(--esp-spacing-3);border:0;border-radius:var(--esp-radius-full);background:transparent;color:var(--esp-text-muted);font-size:.78rem;font-weight:600;cursor:pointer}.esp-task-calendar-view-button.is-active{background:color-mix(in srgb,var(--esp-color-primary) 16%,transparent);color:var(--esp-color-primary)}.esp-task-calendar-nav{display:flex;align-items:center;gap:var(--esp-spacing-2)}.esp-task-calendar-body{display:flex;flex-direction:column;gap:var(--esp-spacing-4)}.esp-task-calendar-grid-wrap{width:100%;overflow-x:auto}.esp-task-calendar-weekdays,.esp-task-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(130px,1fr));min-width:910px}.esp-task-calendar-weekday{padding:var(--esp-spacing-3) var(--esp-spacing-4);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--esp-text-muted)}.esp-task-calendar-day{min-height:160px;padding:var(--esp-spacing-3);border-top:1px solid var(--esp-border-subtle);border-right:1px solid var(--esp-border-subtle);background:color-mix(in srgb,var(--esp-bg-base) 92%,transparent);display:flex;flex-direction:column;gap:var(--esp-spacing-3)}.esp-task-calendar-grid>.esp-task-calendar-day:nth-child(7n+1){border-left:1px solid var(--esp-border-subtle)}.esp-task-calendar-day-outside{background:color-mix(in srgb,var(--esp-bg-surface-hover) 72%,transparent)}.esp-task-calendar-day-today,.esp-task-calendar-week-column-today{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--esp-color-primary) 28%,transparent)}.esp-task-calendar-day-selected,.esp-task-calendar-week-column-selected{background:color-mix(in srgb,var(--esp-color-primary) 6%,var(--esp-bg-base))}.esp-task-calendar-day-button,.esp-task-calendar-week-head{display:inline-flex;align-items:center;justify-content:space-between;gap:var(--esp-spacing-2);width:100%;padding:0;border:0;background:transparent;color:var(--esp-text-base);font:inherit;cursor:pointer;text-align:left}.esp-task-calendar-day-number{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:30px;border-radius:var(--esp-radius-full);font-size:.9rem;font-weight:700}.esp-task-calendar-day-today .esp-task-calendar-day-number{background:color-mix(in srgb,var(--esp-color-primary) 16%,transparent);color:var(--esp-color-primary)}.esp-task-calendar-day-count{font-size:.72rem;font-weight:700;color:var(--esp-text-muted)}.esp-task-calendar-day-items,.esp-task-calendar-week-items,.esp-task-calendar-day-panel-list{display:flex;flex-direction:column;gap:var(--esp-spacing-2);min-height:0}.esp-task-calendar-task-slot,.esp-task-calendar-task-button,.esp-task-calendar-task-card-button{width:100%}.esp-task-calendar-task-button,.esp-task-calendar-task-card-button{padding:0;border:0;background:transparent;cursor:pointer;text-align:left}.esp-task-calendar-task-badge{width:100%;justify-content:flex-start;overflow:hidden;text-overflow:ellipsis}.esp-task-calendar-task-badge .esp-task-badge-label{min-width:0;overflow:hidden;text-overflow:ellipsis}.esp-task-calendar-task-card{min-height:auto}.esp-task-calendar-task-card .esp-card-header{padding-top:var(--esp-spacing-4);padding-left:var(--esp-spacing-4);padding-right:var(--esp-spacing-4)}.esp-task-calendar-task-card .esp-card-body{padding:var(--esp-spacing-4)}.esp-task-calendar-task-card .esp-card-footer{padding-left:var(--esp-spacing-4);padding-right:var(--esp-spacing-4)}.esp-task-calendar-task-card .esp-task-card-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.esp-task-calendar-more{display:inline-flex;align-items:center;justify-content:center;min-height:26px;padding:0 var(--esp-spacing-3);border-radius:var(--esp-radius-full);border:1px dashed var(--esp-border-subtle);background:transparent;color:var(--esp-text-muted);font-size:.72rem;font-weight:600;cursor:pointer}.esp-task-calendar-week-grid{display:grid;grid-template-columns:repeat(7,minmax(220px,1fr));gap:var(--esp-spacing-3);overflow-x:auto}.esp-task-calendar-week-column{min-width:220px;padding:var(--esp-spacing-3);border-radius:var(--esp-radius-lg);border:1px solid var(--esp-border-subtle);background:color-mix(in srgb,var(--esp-bg-base) 92%,transparent);display:flex;flex-direction:column;gap:var(--esp-spacing-3)}.esp-task-calendar-week-head{align-items:flex-start;flex-direction:column}.esp-task-calendar-week-head-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--esp-text-muted)}.esp-task-calendar-week-head-date{font-size:.95rem;font-weight:700;color:var(--esp-text-base)}.esp-task-calendar-day-panel{display:flex;flex-direction:column;gap:var(--esp-spacing-4)}.esp-task-calendar-day-panel-head{display:flex;flex-direction:column;gap:4px}.esp-task-calendar-day-panel-label{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--esp-text-muted)}.esp-task-calendar-day-panel-date{font-size:1.05rem;color:var(--esp-text-base);text-transform:capitalize}.esp-task-calendar-inline-empty,.esp-task-calendar-empty{padding:var(--esp-spacing-5);border-radius:var(--esp-radius-lg);border:1px dashed var(--esp-border-subtle);background:color-mix(in srgb,var(--esp-bg-surface-hover) 72%,transparent);color:var(--esp-text-muted);text-align:center}.esp-task-calendar-inline-empty{padding:var(--esp-spacing-4);font-size:.85rem}@media (max-width: 768px){.esp-task-calendar-header{gap:var(--esp-spacing-3)}.esp-task-calendar-toolbar{align-items:stretch}.esp-task-calendar-toolbar-actions,.esp-task-calendar-nav,.esp-task-calendar-view-switcher{width:100%;justify-content:space-between}}.esp-gantt-chart{width:100%}.esp-gantt-chart-header{gap:var(--esp-spacing-4)}.esp-gantt-chart-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--esp-spacing-4);flex-wrap:wrap}.esp-gantt-chart-nav{display:inline-flex;align-items:center;gap:var(--esp-spacing-2);flex-wrap:wrap}.esp-gantt-chart-range-label{display:inline-flex;align-items:center;min-height:34px;padding:0 var(--esp-spacing-3);border-radius:var(--esp-radius-full);border:1px solid var(--esp-border-subtle);background:color-mix(in srgb,var(--esp-bg-surface-hover) 86%,transparent);color:var(--esp-text-base);font-size:.82rem;font-weight:700;line-height:1}.esp-gantt-chart-body{padding-top:0}.esp-gantt-chart-scroll{overflow-x:auto}.esp-gantt-chart-table{min-width:calc(var(--esp-gantt-label-width) + (var(--esp-gantt-day-count) * var(--esp-gantt-day-width)))}.esp-gantt-chart-head,.esp-gantt-chart-row{display:grid;grid-template-columns:var(--esp-gantt-label-width) minmax(0,1fr)}.esp-gantt-chart-head{position:sticky;top:0;z-index:2}.esp-gantt-chart-head-label,.esp-gantt-chart-label-cell{min-width:0;padding:var(--esp-spacing-4);border-right:1px solid var(--esp-border-subtle)}.esp-gantt-chart-head-label{display:flex;align-items:center;justify-content:space-between;gap:var(--esp-spacing-3);background:color-mix(in srgb,var(--esp-bg-surface) 92%,transparent);border-bottom:1px solid var(--esp-border-subtle);font-size:.82rem;color:var(--esp-text-muted)}.esp-gantt-chart-head-label strong{color:var(--esp-text-base);font-size:.9rem}.esp-gantt-chart-head-days{display:grid;border-bottom:1px solid var(--esp-border-subtle);background:color-mix(in srgb,var(--esp-bg-surface) 92%,transparent)}.esp-gantt-chart-head-day{display:flex;flex-direction:column;justify-content:center;gap:2px;min-width:0;min-height:62px;padding:10px 6px;border-left:1px solid var(--esp-border-subtle);text-align:center;color:var(--esp-text-muted)}.esp-gantt-chart-head-day span{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.esp-gantt-chart-head-day strong{font-size:.9rem;color:var(--esp-text-base)}.esp-gantt-chart-head-day.is-today{background:color-mix(in srgb,var(--esp-color-primary) 10%,transparent)}.esp-gantt-chart-row+.esp-gantt-chart-row{border-top:1px solid var(--esp-border-subtle)}.esp-gantt-chart-row-group{background:color-mix(in srgb,var(--esp-bg-surface-hover) 64%,transparent)}.esp-gantt-chart-row-item .esp-gantt-chart-label-cell{padding-left:calc(var(--esp-spacing-4) + 14px)}.esp-gantt-chart-label-cell{background:color-mix(in srgb,var(--esp-bg-surface) 90%,transparent)}.esp-gantt-chart-label-cell.is-clickable{cursor:pointer}.esp-gantt-chart-label-cell.is-clickable:hover{background:color-mix(in srgb,var(--esp-bg-surface-hover) 86%,transparent)}.esp-gantt-chart-group-label,.esp-gantt-chart-item-label{display:flex;flex-direction:column;gap:var(--esp-spacing-2);min-width:0}.esp-gantt-chart-group-header,.esp-gantt-chart-item-header{display:flex;align-items:center;justify-content:space-between;gap:var(--esp-spacing-2)}.esp-gantt-chart-group-kind{display:inline-flex;align-items:center;min-height:22px;padding:0 8px;border-radius:var(--esp-radius-full);background:color-mix(in srgb,var(--esp-color-primary) 10%,transparent);color:var(--esp-color-primary);font-size:.68rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.esp-gantt-chart-group-title,.esp-gantt-chart-item-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--esp-text-base)}.esp-gantt-chart-group-subtitle,.esp-gantt-chart-item-description{color:var(--esp-text-muted);font-size:.82rem;line-height:1.45}.esp-gantt-chart-group-meta,.esp-gantt-chart-item-meta,.esp-gantt-chart-item-badges{display:flex;align-items:center;gap:var(--esp-spacing-2);flex-wrap:wrap}.esp-gantt-chart-item-contexts{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.esp-gantt-chart-item-context-badge{display:inline-flex;align-items:center;min-height:22px;padding:0 8px;border-radius:var(--esp-radius-full);border:1px solid color-mix(in srgb,var(--esp-border-base) 84%,transparent);background:color-mix(in srgb,var(--esp-bg-surface-hover) 82%,transparent);color:var(--esp-text-muted);font-size:.68rem;font-weight:600;line-height:1}.esp-gantt-chart-group-meta,.esp-gantt-chart-item-meta{color:var(--esp-text-muted);font-size:.78rem}.esp-gantt-chart-item-progress{color:var(--esp-text-base);font-size:.78rem;font-weight:700}.esp-gantt-chart-timeline-cell{position:relative;min-height:96px;overflow:hidden}.esp-gantt-chart-row-group .esp-gantt-chart-timeline-cell{min-height:78px}.esp-gantt-chart-day-grid{position:absolute;top:0;right:0;bottom:0;left:0;display:grid}.esp-gantt-chart-day-cell{border-left:1px solid var(--esp-border-subtle);background:linear-gradient(180deg,color-mix(in srgb,var(--esp-bg-page) 72%,transparent) 0%,color-mix(in srgb,var(--esp-bg-surface) 90%,transparent) 100%)}.esp-gantt-chart-day-cell.is-today{background:linear-gradient(180deg,color-mix(in srgb,var(--esp-color-primary) 11%,transparent) 0%,color-mix(in srgb,var(--esp-color-primary) 6%,var(--esp-bg-surface) 94%) 100%)}.esp-gantt-chart-bar{--esp-gantt-bar-bg: linear-gradient(90deg, var(--esp-color-primary) 0%, color-mix(in srgb, var(--esp-color-primary) 76%, #7dd3fc) 100%);position:absolute;top:50%;transform:translateY(-50%);min-width:12px;height:28px;padding:0 12px;border:1px solid color-mix(in srgb,var(--esp-color-primary) 30%,transparent);border-radius:var(--esp-radius-full);background:color-mix(in srgb,var(--esp-bg-surface) 18%,transparent);box-shadow:inset 0 0 0 999px #ffffff05,var(--esp-shadow-sm);overflow:hidden;display:inline-flex;align-items:center;justify-content:center;cursor:default}.esp-gantt-chart-bar:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--esp-gantt-bar-bg);opacity:.82}.esp-gantt-chart-bar-group{height:34px;border-color:color-mix(in srgb,var(--esp-color-primary) 36%,transparent)}.esp-gantt-chart-bar-progress{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,rgba(255,255,255,.14) 0%,rgba(255,255,255,.28) 100%);opacity:.85;z-index:1}.esp-gantt-chart-bar-label{position:relative;z-index:2;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#f8fafc;font-size:.74rem;font-weight:700;letter-spacing:.01em}.esp-gantt-chart-bar-status-blocked{--esp-gantt-bar-bg: linear-gradient(90deg, #ef4444 0%, #f97316 100%)}.esp-gantt-chart-bar-status-done{--esp-gantt-bar-bg: linear-gradient(90deg, #10b981 0%, #34d399 100%)}.esp-gantt-chart-bar-status-in_progress{--esp-gantt-bar-bg: linear-gradient(90deg, #3b82f6 0%, #60a5fa 100%)}.esp-gantt-chart-bar-status-planned{--esp-gantt-bar-bg: linear-gradient(90deg, #8b5cf6 0%, #a78bfa 100%)}.esp-gantt-chart-bar-status-todo{--esp-gantt-bar-bg: linear-gradient(90deg, #64748b 0%, #94a3b8 100%)}.esp-gantt-chart-empty{padding:var(--esp-spacing-8) var(--esp-spacing-6);color:var(--esp-text-muted);text-align:center}@media (max-width: 960px){.esp-gantt-chart-header,.esp-gantt-chart-toolbar{align-items:stretch}.esp-gantt-chart-toolbar{flex-direction:column}.esp-gantt-chart-head,.esp-gantt-chart-row{grid-template-columns:280px minmax(0,1fr)}}:root{--esp-color-white: #ffffff;--esp-color-black: #000000;--esp-color-primary-50: #eff6ff;--esp-color-primary-100: #dbeafe;--esp-color-primary-200: #bfdbfe;--esp-color-primary-300: #93c5fd;--esp-color-primary-400: #60a5fa;--esp-color-primary-500: #3b82f6;--esp-color-primary-600: #2563eb;--esp-color-primary-700: #1d4ed8;--esp-color-primary-800: #1e40af;--esp-color-primary-900: #1e3a8a;--esp-color-danger-50: #fef2f2;--esp-color-danger-500: #ef4444;--esp-color-danger-600: #dc2626;--esp-color-danger-800: #991b1b;--esp-color-danger-900: #7f1d1d;--esp-color-success-50: #ecfdf5;--esp-color-success-500: #10b981;--esp-color-success-600: #059669;--esp-color-success-800: #065f46;--esp-color-success-900: #064e3b;--esp-color-warning-50: #fffbeb;--esp-color-warning-500: #f59e0b;--esp-color-warning-600: #d97706;--esp-color-warning-800: #92400e;--esp-color-warning-900: #78350f;--esp-color-info-50: #eff6ff;--esp-color-info-500: #0ea5e9;--esp-color-info-600: #0284c7;--esp-color-info-800: #075985;--esp-color-info-900: #0c4a6e;--esp-font-family-base: "Inter", sans-serif;--esp-spacing-1: .25rem;--esp-spacing-2: .5rem;--esp-spacing-3: .75rem;--esp-spacing-4: 1rem;--esp-spacing-5: 1.25rem;--esp-spacing-6: 1.5rem;--esp-spacing-8: 2rem;--esp-radius-sm: 6px;--esp-radius-md: 8px;--esp-radius-lg: 12px;--esp-radius-xl: 16px;--esp-radius-full: 9999px;--esp-transition-fast: all .15s ease;--esp-transition-base: all .2s cubic-bezier(.4, 0, .2, 1);--esp-transition-slow: all .3s ease;--esp-hover-lift: translateY(-2px);--esp-active-press: scale(.98);--esp-hover-glow: 0 0 0 2px rgba(59, 130, 246, .15);--esp-shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--esp-shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--esp-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--esp-scrollbar-size: 10px;--esp-z-dropdown: 1000;--esp-z-sticky: 1020;--esp-z-fixed: 1030;--esp-z-modal-backdrop: 1040;--esp-z-modal: 1050;--esp-z-popover: 1060;--esp-z-tooltip: 1070;--esp-z-toast: 1080}:root,[data-theme=light]{--esp-bg-base: #FAFBFC;--esp-bg-surface: #ffffff;--esp-bg-surface-hover: #f1f5f9;--esp-bg-input: #ffffff;--esp-bg-page: #F5F6F8;--esp-bg-subtle: #f1f5f9;--esp-bg-subtle-hover: #e2e8f0;--esp-text-base: #0f172a;--esp-text-muted: #64748b;--esp-text-inverse: #ffffff;--esp-border-base: #e2e8f0;--esp-border-focus: var(--esp-color-primary-500);--esp-color-primary: var(--esp-color-primary-600);--esp-color-primary-hover: var(--esp-color-primary-700);--esp-color-primary-active: rgba(37, 99, 235, .1);--esp-color-danger: var(--esp-color-danger-500);--esp-color-danger-bg: var(--esp-color-danger-50);--esp-shadow-base: 0 8px 30px rgba(0, 0, 0, .04);--esp-bg-skeleton: #e2e8f0;--esp-bg-overlay: rgba(15, 23, 42, .25);--esp-glass-bg: rgba(255, 255, 255, .75);--esp-glass-bg-hover: rgba(255, 255, 255, .85);--esp-glass-border: rgba(0, 0, 0, .08);--esp-glass-shadow: 0 8px 32px rgba(0, 0, 0, .04);--esp-glass-blur: 16px;--esp-glass-highlight: inset 0 1px 0 0 rgba(255, 255, 255, 1);--esp-scrollbar-track: rgba(37, 99, 235, .04);--esp-scrollbar-thumb: rgba(37, 99, 235, .16);--esp-scrollbar-thumb-hover: rgba(37, 99, 235, .32);--esp-scrollbar-thumb-active: rgba(37, 99, 235, .52);--esp-bg-surface-active: #e2e8f0;--esp-border-subtle: #f1f5f9}[data-theme=dark],.dark{--esp-bg-base: #18191C;--esp-bg-surface: #1E2025;--esp-bg-surface-hover: #22252A;--esp-bg-input: #18191C;--esp-bg-page: #18191C;--esp-bg-subtle: rgba(255, 255, 255, .03);--esp-bg-subtle-hover: rgba(255, 255, 255, .08);--esp-text-base: #f8fafc;--esp-text-muted: #94a3b8;--esp-text-inverse: #18191C;--esp-border-base: rgba(255, 255, 255, .1);--esp-border-focus: var(--esp-color-primary-500);--esp-color-primary: var(--esp-color-primary-500);--esp-color-primary-hover: var(--esp-color-primary-600);--esp-color-primary-active: rgba(56, 189, 248, .14);--esp-color-danger: #f87171;--esp-color-danger-bg: rgba(248, 113, 113, .12);--esp-shadow-base: 0 8px 32px rgba(0, 0, 0, .5);--esp-bg-skeleton: #22252A;--esp-bg-overlay: rgba(24, 25, 28, .8);--esp-glass-bg: rgba(30, 32, 37, .75);--esp-glass-bg-hover: rgba(30, 32, 37, .85);--esp-glass-border: rgba(255, 255, 255, .08);--esp-glass-shadow: 0 12px 40px rgba(0, 0, 0, .4);--esp-glass-blur: 20px;--esp-glass-highlight: inset 0 1px 0 0 rgba(255, 255, 255, .05);--esp-scrollbar-track: rgba(255, 255, 255, .02);--esp-scrollbar-thumb: rgba(255, 255, 255, .1);--esp-scrollbar-thumb-hover: rgba(255, 255, 255, .2);--esp-scrollbar-thumb-active: rgba(255, 255, 255, .3);--esp-bg-surface-active: rgba(255, 255, 255, .1);--esp-border-subtle: rgba(255, 255, 255, .06)}.esp-grid{display:grid;gap:var(--grid-gap, var(--esp-spacing-4))}.esp-grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.esp-grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.esp-grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.esp-grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.esp-grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.esp-grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.esp-grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}@media (min-width: 640px){.sm\:esp-grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.sm\:esp-grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:esp-grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:esp-grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:esp-grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.sm\:esp-grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}}@media (min-width: 768px){.md\:esp-grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.md\:esp-grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:esp-grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:esp-grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:esp-grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.md\:esp-grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}}@media (min-width: 1024px){.lg\:esp-grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.lg\:esp-grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:esp-grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:esp-grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:esp-grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.lg\:esp-grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}}@media (min-width: 1280px){.xl\:esp-grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.xl\:esp-grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.xl\:esp-grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\:esp-grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:esp-grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.xl\:esp-grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}}.esp-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--esp-z-modal-backdrop, 1040);background-color:var(--esp-bg-overlay);display:flex;align-items:center;justify-content:center;padding:var(--esp-spacing-4);animation:esp-fade-in var(--esp-transition-base)}.esp-modal-content{background:var(--esp-glass-bg);border:1px solid var(--esp-glass-border);border-radius:var(--esp-radius-lg);box-shadow:var(--esp-glass-shadow),var(--esp-glass-highlight);-webkit-backdrop-filter:saturate(180%) blur(var(--esp-glass-blur));backdrop-filter:saturate(180%) blur(var(--esp-glass-blur));width:100%;max-height:90vh;display:flex;flex-direction:column;z-index:var(--esp-z-modal, 1050);animation:esp-slide-up var(--esp-transition-slow);overflow:hidden}.esp-modal-sm{max-width:400px}.esp-modal-md{max-width:500px}.esp-modal-lg{max-width:800px}.esp-modal-xl{max-width:1140px}.esp-modal-full{max-width:100vw;height:100vh;border-radius:0;max-height:100vh}.esp-modal-header{padding:var(--esp-spacing-4) var(--esp-spacing-5);border-bottom:1px solid var(--esp-glass-border);display:flex;align-items:center;justify-content:space-between}.esp-modal-title{margin:0;font-size:1.125rem;font-weight:600;color:var(--esp-text-base)}.esp-modal-close{background:transparent;border:none;font-size:1.5rem;line-height:1;color:var(--esp-text-muted);cursor:pointer;padding:var(--esp-spacing-1);border-radius:var(--esp-radius-sm);transition:var(--esp-transition-fast)}.esp-modal-close:hover{background-color:var(--esp-bg-surface-hover);color:var(--esp-text-base);transform:var(--esp-hover-lift)}.esp-modal-close:active{transform:var(--esp-active-press)}.esp-modal-body{padding:var(--esp-spacing-5);overflow-y:auto;flex-grow:1;color:var(--esp-text-base)}.esp-modal-footer{padding:var(--esp-spacing-4) var(--esp-spacing-5);border-top:1px solid var(--esp-glass-border);display:flex;justify-content:flex-end;gap:var(--esp-spacing-3);background-color:var(--esp-bg-surface-hover)}@keyframes esp-fade-in{0%{opacity:0}to{opacity:1}}@keyframes esp-slide-up{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.esp-toast-container{position:fixed;bottom:var(--esp-spacing-4);right:var(--esp-spacing-4);display:flex;flex-direction:column;gap:var(--esp-spacing-2);z-index:var(--esp-z-toast, 1080);pointer-events:none}.esp-toast{pointer-events:auto;min-width:250px;max-width:400px;background:var(--esp-glass-bg);border:1px solid var(--esp-glass-border);-webkit-backdrop-filter:saturate(180%) blur(var(--esp-glass-blur));backdrop-filter:saturate(180%) blur(var(--esp-glass-blur));box-shadow:var(--esp-glass-shadow),var(--esp-glass-highlight);color:var(--esp-text-base);padding:var(--esp-spacing-3) var(--esp-spacing-4);border-radius:var(--esp-radius-lg);display:flex;align-items:center;justify-content:space-between;gap:var(--esp-spacing-3);border-left:4px solid var(--esp-color-primary-500);animation:esp-toast-slide-in .3s cubic-bezier(.16,1,.3,1) forwards}.esp-toast-exit{animation:esp-toast-fade-out .2s ease-in forwards}.esp-toast-success{border-left-color:var(--esp-color-success-500)}.esp-toast-error{border-left-color:var(--esp-color-danger-500)}.esp-toast-warning{border-left-color:var(--esp-color-warning-500)}.esp-toast-info{border-left-color:var(--esp-color-info-500)}.esp-toast-close{background:transparent;border:none;font-size:1.25rem;line-height:1;color:var(--esp-text-muted);cursor:pointer;padding:0;transition:var(--esp-transition-fast)}.esp-toast-close:hover{color:var(--esp-text-base)}@keyframes esp-toast-slide-in{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes esp-toast-fade-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}.esp-tooltip{position:fixed;z-index:var(--esp-z-tooltip, 1070);background:var(--esp-glass-bg);border:1px solid var(--esp-glass-border);-webkit-backdrop-filter:saturate(180%) blur(var(--esp-glass-blur));backdrop-filter:saturate(180%) blur(var(--esp-glass-blur));box-shadow:var(--esp-glass-shadow),var(--esp-glass-highlight);color:var(--esp-text-base);padding:var(--esp-spacing-2) var(--esp-spacing-3);border-radius:var(--esp-radius-md);font-size:.875rem;pointer-events:none;animation:esp-tooltip-fade var(--esp-transition-fast);max-width:250px;word-wrap:break-word;transition:top .1s ease,left .1s ease}@keyframes esp-tooltip-fade{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.esp-loading-sm{--loading-size: 16px}.esp-loading-md{--loading-size: 24px}.esp-loading-lg{--loading-size: 32px}.esp-loading-spinner{width:var(--loading-size);height:var(--loading-size);animation:esp-rotate 2s linear infinite}.esp-spinner-svg{width:100%;height:100%}.esp-spinner-circle{stroke:var(--esp-color-primary-500);stroke-linecap:round;animation:esp-dash 1.5s ease-in-out infinite}@keyframes esp-rotate{to{transform:rotate(360deg)}}@keyframes esp-dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}to{stroke-dasharray:90,150;stroke-dashoffset:-124}}.esp-loading-dots{display:flex;gap:var(--esp-spacing-1)}.esp-dot{width:calc(var(--loading-size) / 3);height:calc(var(--loading-size) / 3);border-radius:50%;background-color:var(--esp-color-primary-500);animation:esp-bounce 1.4s infinite ease-in-out both}.esp-dot:nth-child(1){animation-delay:-.32s}.esp-dot:nth-child(2){animation-delay:-.16s}@keyframes esp-bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.esp-skeleton-container{display:flex;flex-direction:column;gap:var(--esp-spacing-2);width:100%}.esp-skeleton-line{height:16px;border-radius:var(--esp-radius-md);background:var(--esp-bg-skeleton);background:linear-gradient(90deg,var(--esp-bg-skeleton) 25%,var(--esp-bg-surface-hover) 50%,var(--esp-bg-skeleton) 75%);background-size:200% 100%;animation:esp-shimmer 1.5s infinite}.esp-skeleton-short{width:60%}@keyframes esp-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}