:root{--fs-2xs: 11px;--fs-xs: 11.5px;--fs-sm: 12.5px;--fs-md: 13px;--fs-lg: 15px;--fs-title: 16px;--fs-xl: 18px;--fs-2xl: 22px;--fs-3xl: 28px;--fs-display: 40px;--fs-icon-sm: 14px;--fs-icon: 16px;--fs-icon-lg: 20px;--fs-icon-xl: 24px;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--lh-tight: 1.2;--lh-normal: 1.45;--space-0: 2px;--space-1: 4px;--space-1h: 6px;--space-2: 8px;--space-2h: 10px;--space-3: 12px;--space-3h: 14px;--space-4: 16px;--space-4h: 20px;--space-5: 24px;--space-6: 32px;--space-7: 40px;--space-8: 48px;--space-9: 64px;--radius-xs: 4px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-pill: 999px;--ui-radius: var(--radius-md);--control-h: 32px;--control-h-sm: 28px;--control-h-lg: 40px;--icon-btn: 32px;--avatar-sm: 28px;--avatar-md: 36px;--header-h: 56px;--rail-w: 64px;--rail-w-narrow: 56px;--panel-w: 248px;--popover-pad: var(--space-1);--menu-item-pad-y: var(--space-1h);--menu-item-pad-x: var(--space-3);--menu-icon: var(--fs-icon);--shadow-sm: 0 1px 2px rgb(0 0 0 / .06);--shadow-md: 0 8px 24px rgb(0 0 0 / .14);--shadow-lg: -8px 0 32px rgb(0 0 0 / .18);--overlay-scrim: rgb(0 0 0 / .35);--shadow-hover: 0 4px 14px rgb(0 0 0 / .06);--ui-surface: var(--dx-component-color-bg, #fff);--ui-border: var(--dx-color-border, #e0e0e0);--ui-text: var(--dx-color-text, #242424);--ui-muted: var(--dx-texteditor-color-label, #707070);--ui-primary: var(--dx-color-primary, #0f6cbd);--ui-on-primary: #fff;--ui-success: var(--dx-color-success, #107c10);--ui-danger: var(--dx-color-danger, #d13438);--ui-warning: #f08a24;--ui-info: var(--ui-primary);--ui-hover: color-mix(in srgb, var(--ui-text) 6%, transparent);--ui-selected: color-mix(in srgb, var(--ui-primary) 10%, transparent);--ui-subtle: color-mix(in srgb, var(--ui-text) 3%, var(--ui-surface));--ui-paper: #fff;--ui-paper-text: #242424;--ui-paper-muted: #6b7280;--media-bg: #000;--tone-blue: #1f6fd6;--tone-indigo: #5b5fc7;--tone-purple: #8e44ad;--tone-pink: #e43f8c;--tone-red: #d13438;--tone-orange: #e8590c;--tone-gold: #c28f12;--tone-green: #2e9e5b;--tone-teal: #0f9b9b;--tone-slate: #3d4a5c;--side-bg: #1c2d4a;--side-bg-2: #172540;--side-text: #d5deec;--side-muted: #8fa1bd;--side-line: rgb(255 255 255 / .1);--side-hover: rgb(255 255 255 / .07);--side-active-text: #fff;--side-accent: #9ec1ff}.ui-field{display:block}.ui-hint{display:flex;justify-content:space-between;gap:var(--space-2);margin-top:var(--space-1);font-size:var(--fs-xs);color:var(--ui-muted)}.ui-error{color:var(--ui-danger)}.ui-count{margin-left:auto}.ui-switch-row{display:inline-flex;align-items:center;gap:var(--space-2);cursor:pointer}.ui-btn-content{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-1h)}.dx-button.ui-btn-sm .dx-button-content{padding:var(--space-0) var(--space-2);font-size:var(--fs-xs)}.dx-button.ui-btn-lg .dx-button-content{padding:var(--space-2h) var(--space-4h);font-size:var(--fs-title)}.ui-input-row .dx-button{height:var(--control-h)}.ui-card{display:block;background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:var(--ui-radius);overflow:hidden}.ui-card-head{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-4h) var(--space-1h)}.ui-card-head h3{margin:0;font-size:var(--fs-title);font-weight:var(--fw-semibold)}.ui-card-head p{margin:var(--space-0) 0 0;font-size:var(--fs-xs);color:var(--ui-muted)}.ui-card-actions{display:flex;align-items:center;gap:var(--space-2h)}.ui-card-actions>[uiCardActions]{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2h)}.ui-card-body{padding:var(--space-3h) var(--space-4h) var(--space-4h)}.ui-card-body.flush{padding:var(--space-2) 0 0}.ui-card-body.flush>ui-tabs{padding:0 var(--space-4h);margin-bottom:0}.ui-card-body.flush .dx-datagrid-borders>.dx-datagrid-headers,.ui-card-body.flush .dx-datagrid-borders>.dx-datagrid-rowsview,.ui-card-body.flush .dx-datagrid-borders>.dx-datagrid-total-footer{border-left:0;border-right:0}.ui-page-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-4h)}.ui-page-header h1{margin:0;font-size:var(--fs-2xl);font-weight:var(--fw-bold)}.ui-page-header p{margin:var(--space-1h) 0 0;font-size:var(--fs-md);color:var(--ui-muted)}.ui-ph-main{flex:1 1 360px;min-width:min(360px,100%)}.ui-eyebrow{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--ui-primary);margin-bottom:var(--space-0)}.ui-page-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2h)}.ui-kpi{display:block;padding:var(--space-4);background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:var(--ui-radius)}.ui-kpi-label{display:flex;align-items:center;gap:var(--space-1h);font-size:var(--fs-md);color:var(--ui-muted)}.ui-kpi-value{font-size:var(--fs-2xl);font-weight:var(--fw-semibold);margin:var(--space-1) 0}.ui-kpi-foot{display:flex;justify-content:space-between;align-items:flex-end;min-height:calc(var(--control-h) - 2px)}.ui-kpi-delta{font-size:var(--fs-xs)}.ui-kpi-delta[data-tone=success]{color:var(--ui-success)}.ui-kpi-delta[data-tone=danger]{color:var(--ui-danger)}.ui-badge{--tone: var(--ui-primary);display:inline-block;padding:var(--space-0) var(--space-2);border-radius:var(--radius-pill);font-size:var(--fs-xs);line-height:var(--lh-normal);color:var(--tone);background:color-mix(in srgb,var(--tone) 14%,transparent)}.ui-badge[data-tone=success]{--tone: var(--ui-success)}.ui-badge[data-tone=danger]{--tone: var(--ui-danger)}.ui-badge[data-tone=warning]{--tone: var(--ui-warning);color:color-mix(in srgb,var(--ui-warning) 70%,var(--ui-text))}.ui-badge[data-tone=neutral]{--tone: var(--ui-muted)}.ui-empty{display:flex;flex-direction:column;align-items:center;gap:var(--space-1h);padding:var(--space-6) var(--space-4);text-align:center;color:var(--ui-muted)}.ui-empty .dx-icon{font-size:var(--fs-display);opacity:.6}.ui-empty h4{margin:var(--space-1) 0 0;color:var(--ui-text)}.ui-empty p{margin:0 0 var(--space-2);max-width:360px}.ui-avatar{--size: 32px;display:inline-grid;place-items:center;flex:none;width:var(--size);height:var(--size);border-radius:50%;overflow:hidden;color:var(--ui-on-primary);font-size:calc(var(--size) * .38);font-weight:var(--fw-semibold)}.ui-avatar img{width:100%;height:100%;object-fit:cover}.ui-kv{display:grid;grid-template-columns:repeat(var(--cols, 2),minmax(0,1fr));gap:var(--space-3h) var(--space-4h)}.ui-kv-label{font-size:var(--fs-xs);color:var(--ui-muted);margin-bottom:var(--space-0)}.ui-kv-value{overflow-wrap:anywhere}.ui-side-panel .dx-overlay-content{border-radius:0}.ui-side-panel.dx-popup-wrapper>.dx-overlay-content{border-radius:0!important;box-shadow:var(--shadow-lg)!important}.ui-side-panel.dx-popup-wrapper>.dx-overlay-content>.dx-popup-bottom{border-radius:0!important}.ui-side-panel-body{height:100%;overflow:auto}.ui-stepper{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-5);margin-bottom:var(--space-4h)}.ui-step{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-1) 0;border:0;background:none;color:var(--ui-muted);font:inherit;cursor:pointer}.ui-step:disabled{cursor:default}.ui-step.active{color:var(--ui-text);font-weight:var(--fw-semibold)}.ui-step-dot{display:inline-grid;place-items:center;width:var(--control-h-sm);height:var(--control-h-sm);border-radius:50%;border:1px solid var(--ui-border);font-size:var(--fs-xs)}.ui-step.active .ui-step-dot{background:var(--ui-primary);border-color:var(--ui-primary);color:var(--ui-on-primary)}.ui-step.done .ui-step-dot{background:color-mix(in srgb,var(--ui-success) 15%,transparent);border-color:var(--ui-success);color:var(--ui-success)}.ui-filter-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2h);margin-bottom:var(--space-3h)}.ui-fb-start,.ui-fb-end{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.ui-progress{display:block}.ui-progress-head{display:flex;justify-content:space-between;gap:var(--space-2);font-size:var(--fs-xs);color:var(--ui-muted);margin-bottom:var(--space-1)}.ui-progress-value{color:var(--ui-text)}.ui-progress-track{height:var(--space-1h);border-radius:var(--radius-pill);background:color-mix(in srgb,var(--ui-muted) 18%,transparent);overflow:hidden}.ui-progress-bar{height:100%;border-radius:inherit;background:var(--ui-primary);transition:width .3s}.ui-progress-bar[data-tone=warning]{background:var(--ui-warning)}.ui-progress-bar[data-tone=danger]{background:var(--ui-danger)}.ui-timeline{display:flex;flex-direction:column;gap:var(--space-3h)}.ui-tl-item{display:grid;grid-template-columns:10px 1fr;gap:var(--space-3)}.ui-tl-dot{--tone: var(--ui-primary);width:var(--space-2h);height:var(--space-2h);margin-top:var(--space-1);border-radius:50%;background:var(--tone)}.ui-tl-dot[data-tone=success]{--tone: var(--ui-success)}.ui-tl-dot[data-tone=danger]{--tone: var(--ui-danger)}.ui-tl-dot[data-tone=warning]{--tone: var(--ui-warning)}.ui-tl-dot[data-tone=neutral]{--tone: var(--ui-muted)}.ui-tl-title{font-weight:var(--fw-medium)}.ui-tl-note,.ui-tl-time{font-size:var(--fs-xs);color:var(--ui-muted)}.ui-tabs{display:flex;gap:var(--space-1);overflow-x:auto;scrollbar-width:none}.ui-tabs::-webkit-scrollbar{display:none}.ui-tabs{border-bottom:1px solid var(--ui-border);margin-bottom:var(--space-4)}.ui-tab{display:inline-flex;align-items:center;gap:var(--space-1h);padding:var(--space-2h) var(--space-3);border:0;border-bottom:2px solid transparent;background:none;color:var(--ui-muted);font:inherit;white-space:nowrap;text-decoration:none;cursor:pointer}.ui-tab:hover{color:var(--ui-text)}.ui-tab.active{color:var(--ui-primary);border-bottom-color:var(--ui-primary);font-weight:var(--fw-semibold)}.ui-tab-badge{padding:0 var(--space-1h);border-radius:var(--radius-pill);font-size:var(--fs-2xs);background:color-mix(in srgb,var(--ui-muted) 15%,transparent);color:var(--ui-text)}.ui-stat{--tone: var(--tone-blue);display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4h);background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:var(--ui-radius)}.ui-stat[data-tone=green]{--tone: var(--tone-green)}.ui-stat[data-tone=orange]{--tone: var(--ui-warning)}.ui-stat[data-tone=purple]{--tone: var(--tone-purple)}.ui-stat[data-tone=red]{--tone: var(--tone-red)}.ui-stat[data-tone=teal]{--tone: var(--tone-teal)}.ui-stat[data-tone=gray]{--tone: var(--tone-slate)}.ui-stat-icon{flex:none;display:grid;place-items:center;width:56px;height:var(--header-h);border-radius:50%;color:var(--tone);background:color-mix(in srgb,var(--tone) 13%,transparent)}.ui-stat-icon .dx-icon{font-size:var(--fs-icon-xl)}.ui-stat-text{min-width:0}.ui-stat{container-type:inline-size}@container (max-width: 250px){.ui-stat-icon{width:var(--control-h-lg);height:var(--control-h-lg)}.ui-stat-icon .dx-icon{font-size:var(--fs-icon-lg)}.ui-stat-value{font-size:var(--fs-2xl)}}@media(max-width:600px){.ui-stat{flex-direction:column;align-items:flex-start;gap:var(--space-2);padding:var(--space-3h)}.ui-stat-icon{width:var(--control-h-lg);height:var(--control-h-lg)}.ui-stat-icon .dx-icon{font-size:var(--fs-icon-lg)}.ui-stat-value{font-size:var(--fs-xl)}.ui-stat-label,.ui-stat-caption{font-size:var(--fs-xs)}.ui-stat-text{width:100%}}.ui-stat-label,.ui-stat-caption{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-stat-label{font-size:var(--fs-md);color:var(--ui-text)}.ui-stat-value{font-size:var(--fs-2xl);font-weight:var(--fw-bold);line-height:1.25;white-space:nowrap}.ui-stat-caption{font-size:var(--fs-md);color:var(--ui-muted)}.ui-checklist{display:flex;flex-direction:column;gap:var(--space-3h)}.ui-cl-head{display:flex;justify-content:space-between;align-items:center}.ui-cl-head h3{margin:0;font-size:var(--fs-title);font-weight:var(--fw-semibold)}.ui-cl-pct{font-size:var(--fs-2xl);font-weight:var(--fw-bold);color:var(--ui-primary)}.ui-cl-track{height:var(--space-3);margin-bottom:var(--space-1)}.ui-cl-row{display:flex;align-items:center;gap:var(--space-3);font-size:var(--fs-md)}.ui-cl-mark{display:grid;place-items:center;flex:none;width:var(--space-4h);height:var(--space-4h);border-radius:50%;border:1.5px solid var(--ui-border)}.ui-cl-mark .dx-icon{font-size:var(--fs-icon-sm)}[data-state=done] .ui-cl-mark{background:var(--ui-success);border-color:var(--ui-success);color:var(--ui-on-primary)}[data-state=warn] .ui-cl-mark{border:0;color:var(--ui-warning)}[data-state=warn] .ui-cl-mark .dx-icon{font-size:var(--fs-icon-lg)}.ui-cl-text{flex:1}.ui-cl-action{border:0;background:none;color:var(--ui-primary);font:inherit;font-size:var(--fs-md);cursor:pointer}.ui-breadcrumb{display:flex;flex-wrap:wrap;gap:var(--space-2);font-size:var(--fs-md);color:var(--ui-muted);margin-bottom:var(--space-2h)}.ui-breadcrumb a{color:var(--ui-primary);text-decoration:none}.ui-breadcrumb a.first{color:var(--ui-muted)}.ui-breadcrumb a:hover{text-decoration:underline}.ui-breadcrumb .current{color:var(--ui-text)}.ui-status-dot{--tone: var(--ui-primary);display:inline-flex;align-items:center;gap:var(--space-2)}.ui-status-dot[data-tone=success]{--tone: var(--ui-success)}.ui-status-dot[data-tone=danger]{--tone: var(--ui-danger)}.ui-status-dot[data-tone=warning]{--tone: var(--ui-warning)}.ui-status-dot[data-tone=neutral]{--tone: var(--ui-muted)}.ui-status-dot.pill{padding:var(--space-0) var(--space-3) var(--space-0) var(--space-2h);border-radius:var(--radius-pill);font-size:var(--fs-md);color:color-mix(in srgb,var(--tone) 80%,var(--ui-text));background:color-mix(in srgb,var(--tone) 13%,transparent)}.ui-dot{flex:none;width:var(--space-2);height:var(--space-2);border-radius:50%;background:var(--tone)}.ui-table-link{color:var(--ui-primary);cursor:pointer}.ui-podium{display:flex;justify-content:center;align-items:flex-end;gap:var(--space-3h);padding:var(--space-2) 0 0}.ui-pod-col{--medal: color-mix(in srgb, var(--tone-orange) 50%, var(--tone-gold));position:relative;display:flex;flex-direction:column;align-items:center;gap:var(--space-1);width:min(200px,30%);padding:0;border:0;background:none;color:var(--ui-text);font:inherit;cursor:pointer}.ui-pod-col[data-place="1"]{--medal: var(--tone-gold)}.ui-pod-col[data-place="2"]{--medal: var(--side-muted)}.ui-pod-crown{color:var(--tone-gold);font-size:var(--fs-2xl)}.ui-pod-avatar{padding:var(--space-0);border-radius:50%;border:3px solid var(--medal);margin-bottom:var(--space-1)}.ui-pod-name,.ui-pod-sub{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}.ui-pod-name{font-weight:var(--fw-semibold)}.ui-pod-sub{font-size:var(--fs-xs);color:var(--ui-muted)}.ui-pod-value{font-size:var(--fs-xl);font-weight:var(--fw-bold);color:var(--ui-primary)}.ui-pod-value small{font-size:var(--fs-xs);font-weight:var(--fw-medium);color:var(--ui-muted)}.ui-pod-step{display:grid;place-items:start center;width:100%;height:70px;margin-top:var(--space-2);padding-top:var(--space-2h);border-radius:var(--radius-md) var(--radius-md) 0 0;background:linear-gradient(180deg,color-mix(in srgb,var(--medal) 30%,var(--ui-surface)),color-mix(in srgb,var(--medal) 8%,var(--ui-surface)));border:1px solid color-mix(in srgb,var(--medal) 40%,transparent);border-bottom:0}[data-place="1"] .ui-pod-step{height:100px}[data-place="3"] .ui-pod-step{height:52px}.ui-pod-rank{display:grid;place-items:center;width:var(--avatar-sm);height:var(--avatar-sm);border-radius:50%;background:var(--medal);color:var(--ui-on-primary);font-weight:var(--fw-bold)}.ui-leaderboard{display:flex;flex-direction:column}.ui-lb-row{display:flex;align-items:center;gap:var(--space-3h);width:100%;padding:var(--space-3) var(--space-4h);border:0;border-bottom:1px solid var(--ui-border);background:none;color:var(--ui-text);font:inherit;text-align:left;cursor:pointer}.ui-lb-row:hover{background:color-mix(in srgb,var(--ui-primary) 5%,transparent)}.ui-lb-row.me{background:color-mix(in srgb,var(--ui-primary) 9%,transparent)}.ui-lb-rank{flex:none;display:grid;place-items:center;width:var(--avatar-sm);height:var(--avatar-sm);border-radius:50%;font-size:var(--fs-md);font-weight:var(--fw-bold);color:var(--ui-muted);background:color-mix(in srgb,var(--ui-muted) 12%,transparent)}.ui-lb-rank[data-medal]{color:var(--ui-on-primary)}.ui-lb-rank[data-medal="1"]{background:var(--tone-gold)}.ui-lb-rank[data-medal="2"]{background:var(--side-muted)}.ui-lb-rank[data-medal="3"]{background:color-mix(in srgb,var(--tone-orange) 50%,var(--tone-gold))}.ui-lb-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--space-0)}.ui-lb-name{display:flex;align-items:center;gap:var(--space-2);font-weight:var(--fw-semibold)}.ui-lb-sub{font-size:var(--fs-xs);color:var(--ui-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ui-lb-badge{--c: var(--ui-primary);padding:0 var(--space-2);border-radius:var(--radius-pill);font-size:var(--fs-2xs);font-weight:var(--fw-semibold);line-height:var(--lh-normal);color:color-mix(in srgb,var(--c) 85%,var(--ui-text));background:color-mix(in srgb,var(--c) 16%,transparent)}.ui-lb-you{padding:0 var(--space-1h);border-radius:var(--radius-pill);font-size:var(--fs-2xs);line-height:var(--lh-normal);color:var(--ui-on-primary);background:var(--ui-primary)}.ui-lb-meta{display:flex;flex-wrap:wrap;gap:var(--space-1h);margin-top:var(--space-0)}.ui-lb-meta span{padding:0 var(--space-2);border-radius:var(--radius-sm);font-size:var(--fs-2xs);line-height:var(--lh-normal);color:var(--ui-muted);background:color-mix(in srgb,var(--ui-muted) 10%,transparent)}.ui-lb-progress{flex:none;width:160px;display:flex;flex-direction:column;gap:var(--space-1)}.ui-lb-value{flex:none;min-width:90px;text-align:right;font-size:var(--fs-xl);font-weight:var(--fw-bold)}.ui-lb-value small{display:block;font-size:var(--fs-2xs);font-weight:var(--fw-medium);color:var(--ui-muted)}.ui-lb-empty{padding:var(--space-6);text-align:center;color:var(--ui-muted)}.ui-leaderboard{container-type:inline-size}.ui-lb-meta span,.ui-lb-name{white-space:nowrap}@container (max-width: 640px){.ui-lb-progress{display:none}}@container (max-width: 420px){.ui-lb-row{padding:var(--space-2h) var(--space-3);gap:var(--space-2h)}.ui-lb-value{min-width:60px;font-size:var(--fs-title)}}.ui-tree{display:block}.ui-tree-scroll{overflow:auto;padding:var(--space-2) var(--space-1) var(--space-4h)}.ui-tree-level{display:flex;justify-content:center;margin:0;padding:var(--space-4) 0 0;list-style:none;position:relative}.ui-tree-level.root{padding-top:0;width:max-content;min-width:100%}.ui-tree-level:not(.root):before{content:"";position:absolute;top:0;left:50%;height:18px;border-left:1.5px solid var(--ui-border)}.ui-tree-level li{position:relative;display:flex;flex-direction:column;align-items:center;padding:var(--space-4) var(--space-1h) 0}.ui-tree-level li:before,.ui-tree-level li:after{content:"";position:absolute;top:0;width:50%;height:18px;border-top:1.5px solid var(--ui-border)}.ui-tree-level li:before{right:50%}.ui-tree-level li:after{left:50%;border-left:1.5px solid var(--ui-border)}.ui-tree-level li:first-child:before,.ui-tree-level li:last-child:after{border-top:0}.ui-tree-level li:only-child:before{display:none}.ui-tree-level li:only-child:after{border-top:0}.ui-tree-level li:first-child:after{border-top-left-radius:var(--radius-sm)}.ui-tree-level li:last-child:before{border-right:1.5px solid var(--ui-border);border-top-right-radius:var(--radius-sm)}.ui-tree-level.root>li{padding-top:0}.ui-tree-level.root>li:before,.ui-tree-level.root>li:after{display:none}.ui-tree-node{--c: var(--ui-primary);position:relative;width:168px;padding:var(--space-2h) var(--space-2h) var(--space-3h);border:1px solid var(--ui-border);border-top:3px solid var(--c);border-radius:var(--radius-md);background:var(--ui-surface);text-align:center;cursor:pointer;box-shadow:var(--shadow-sm)}.ui-tree-node:hover{border-color:color-mix(in srgb,var(--c) 50%,var(--ui-border));border-top-color:var(--c)}.ui-tree-node.hit{box-shadow:0 0 0 2px color-mix(in srgb,var(--ui-primary) 45%,transparent)}.ui-tree-title,.ui-tree-sub{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-tree-title{font-size:var(--fs-md);font-weight:var(--fw-semibold)}.ui-tree-sub{font-size:var(--fs-2xs);color:var(--ui-muted)}.ui-tree-badge{display:inline-block;margin-top:var(--space-1h);padding:0 var(--space-2);border-radius:var(--radius-pill);font-size:var(--fs-2xs);line-height:var(--lh-tight);color:color-mix(in srgb,var(--c) 85%,var(--ui-text));background:color-mix(in srgb,var(--c) 14%,transparent)}.ui-tree-toggle{position:absolute;left:50%;bottom:-11px;transform:translate(-50%);min-width:var(--icon-btn);padding:0 var(--space-1h);border:1px solid var(--ui-border);border-radius:var(--radius-pill);background:var(--ui-surface);color:var(--ui-text);font:inherit;font-size:var(--fs-2xs);line-height:var(--lh-normal);cursor:pointer;z-index:1}.ui-tree-toggle:hover{border-color:var(--ui-primary);color:var(--ui-primary)}.ui-tree-empty{padding:var(--space-6);text-align:center;color:var(--ui-muted)}.ui-copy-field{display:block}.ui-copy-label{font-size:var(--fs-xs);color:var(--ui-muted);margin-bottom:var(--space-1)}.ui-copy-box{display:flex;border:1px solid var(--ui-border);border-radius:var(--radius-sm);overflow:hidden;background:color-mix(in srgb,var(--ui-muted) 5%,var(--ui-surface))}.ui-copy-input{flex:1;min-width:0;padding:var(--space-2) var(--space-2h);border:0;background:none;color:var(--ui-text);font:inherit;font-size:var(--fs-md);outline:none}.ui-copy-btn{display:inline-flex;align-items:center;gap:var(--space-1h);padding:0 var(--space-3h);border:0;border-left:1px solid var(--ui-border);background:var(--ui-surface);color:var(--ui-primary);font:inherit;font-size:var(--fs-md);font-weight:var(--fw-semibold);cursor:pointer}.ui-copy-btn .dx-icon{color:inherit;font-size:var(--fs-icon-sm)}body .ui-card-head h3{font-size:var(--fs-title);font-weight:var(--fw-semibold);margin:0}body .ui-page-header h1{font-size:var(--fs-2xl);font-weight:var(--fw-bold);margin:0}body .ui-cl-head h3{font-size:var(--fs-title);font-weight:var(--fw-semibold);margin:0}body .ui-empty h4{font-size:var(--fs-title);margin:var(--space-1) 0 0}:root{--ui-input-border: color-mix(in srgb, var(--ui-text) 22%, transparent);--ui-input-hover: color-mix(in srgb, var(--ui-text) 40%, transparent)}.dx-texteditor.dx-editor-outlined,.dx-texteditor.dx-editor-filled,.dx-texteditor.dx-editor-underlined{border:1px solid var(--ui-input-border)!important;border-radius:var(--radius-sm)!important;background:var(--ui-surface)!important;box-shadow:none!important;transition:border-color .15s,box-shadow .15s}.dx-texteditor.dx-editor-outlined:before,.dx-texteditor.dx-editor-outlined:after,.dx-texteditor.dx-editor-filled:before,.dx-texteditor.dx-editor-filled:after,.dx-texteditor.dx-editor-underlined:before,.dx-texteditor.dx-editor-underlined:after{display:none!important}.dx-texteditor.dx-editor-outlined .dx-texteditor-label .dx-label-before,.dx-texteditor.dx-editor-outlined .dx-texteditor-label .dx-label,.dx-texteditor.dx-editor-outlined .dx-texteditor-label .dx-label-after,.dx-texteditor.dx-editor-filled .dx-texteditor-label .dx-label-before,.dx-texteditor.dx-editor-filled .dx-texteditor-label .dx-label,.dx-texteditor.dx-editor-filled .dx-texteditor-label .dx-label-after,.dx-texteditor.dx-editor-underlined .dx-texteditor-label .dx-label-before,.dx-texteditor.dx-editor-underlined .dx-texteditor-label .dx-label,.dx-texteditor.dx-editor-underlined .dx-texteditor-label .dx-label-after{border-color:transparent!important}.dx-texteditor.dx-editor-outlined.dx-state-hover,.dx-texteditor.dx-editor-filled.dx-state-hover,.dx-texteditor.dx-editor-underlined.dx-state-hover{border-color:var(--ui-input-hover)!important}.dx-texteditor.dx-editor-outlined.dx-state-focused,.dx-texteditor.dx-editor-filled.dx-state-focused,.dx-texteditor.dx-editor-underlined.dx-state-focused{border-color:var(--ui-primary)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--ui-primary) 16%,transparent)!important}.dx-texteditor.dx-editor-outlined.dx-invalid,.dx-texteditor.dx-editor-filled.dx-invalid,.dx-texteditor.dx-editor-underlined.dx-invalid{border-color:var(--ui-danger)!important}.dx-texteditor.dx-editor-outlined.dx-invalid.dx-state-focused,.dx-texteditor.dx-editor-filled.dx-invalid.dx-state-focused,.dx-texteditor.dx-editor-underlined.dx-invalid.dx-state-focused{box-shadow:0 0 0 3px color-mix(in srgb,var(--ui-danger) 14%,transparent)!important}.dx-texteditor.dx-editor-outlined.dx-state-disabled,.dx-texteditor.dx-editor-outlined.dx-state-readonly,.dx-texteditor.dx-editor-filled.dx-state-disabled,.dx-texteditor.dx-editor-filled.dx-state-readonly,.dx-texteditor.dx-editor-underlined.dx-state-disabled,.dx-texteditor.dx-editor-underlined.dx-state-readonly{background:color-mix(in srgb,var(--ui-text) 4%,var(--ui-surface))!important}.dx-texteditor.dx-editor-outlined .dx-texteditor-input,.dx-texteditor.dx-editor-filled .dx-texteditor-input,.dx-texteditor.dx-editor-underlined .dx-texteditor-input{min-height:calc(var(--control-h-lg) - 2px);padding-left:var(--space-3);padding-right:var(--space-3);font-size:var(--fs-md)}.dx-texteditor.dx-editor-outlined .dx-placeholder:before,.dx-texteditor.dx-editor-filled .dx-placeholder:before,.dx-texteditor.dx-editor-underlined .dx-placeholder:before{padding-left:var(--space-3);padding-right:var(--space-3)}.dx-texteditor-with-label .dx-label span,.dx-field-item-label-text,.dx-field-item-label .dx-field-item-label-text{font-size:var(--fs-md);font-weight:var(--fw-medium);color:var(--ui-text)!important}.dx-field-item-required-mark{color:var(--ui-danger)!important}.dx-field-item-label-content:has(>.dx-field-item-custom-label-content)>.dx-field-item-required-mark{display:none}.dx-field-item-help-text{font-size:var(--fs-xs);color:var(--ui-muted)}.dx-form .dx-field-item-label-location-top{padding-bottom:var(--space-1h)}.dx-form .dx-field-item:not(.dx-first-row){padding-top:var(--space-4)}.dx-tagbox.dx-texteditor .dx-tag-container{min-height:calc(var(--control-h-lg) - 2px);padding-left:var(--space-2);align-items:center}.dx-datagrid .dx-datagrid-headers{background:color-mix(in srgb,var(--ui-text) 3.5%,var(--ui-surface));color:var(--ui-muted);border-bottom:1px solid var(--ui-border)!important}.dx-datagrid .dx-datagrid-headers .dx-header-row>td{padding-top:var(--space-2h);padding-bottom:var(--space-2h);font-size:var(--fs-md);font-weight:var(--fw-semibold);color:color-mix(in srgb,var(--ui-text) 75%,transparent)}.dx-datagrid .dx-row>td{padding-top:var(--space-2h);padding-bottom:var(--space-2h)}.dx-datagrid .dx-data-row>td{border-bottom:1px solid color-mix(in srgb,var(--ui-border) 70%,transparent)}.dx-datagrid .dx-data-row.dx-state-hover:not(.dx-selection):not(.dx-row-inserted):not(.dx-row-removed):not(.dx-edit-row)>td:not(.dx-focused){background:color-mix(in srgb,var(--ui-primary) 5%,var(--ui-surface))}.dx-datagrid-pager{border-top:1px solid var(--ui-border);padding:var(--space-2h) var(--space-4)}.dx-button:not(.dx-button-mode-text){border-radius:var(--radius-sm)}.dx-button .dx-button-content{display:flex;align-items:center;justify-content:center;min-height:calc(var(--control-h) - 2px)}.dx-button.dx-button-has-icon:not(.dx-button-has-text) .dx-button-content{min-height:0}.dx-button-text{font-weight:var(--fw-medium);text-transform:none}.dx-popup-wrapper:not(.dx-dropdowneditor-overlay):not(.dx-dropdownbutton-popup-wrapper):not(.dx-popover-wrapper):not(.dx-dropdownlist-popup-wrapper)>.dx-overlay-content{border-radius:var(--radius-lg)}.dx-popup-wrapper:not(.dx-dropdowneditor-overlay):not(.dx-dropdownbutton-popup-wrapper):not(.dx-popover-wrapper):not(.dx-dropdownlist-popup-wrapper)>.dx-overlay-content>.dx-popup-title{padding:var(--space-3h) var(--space-4h);border-bottom:1px solid var(--ui-border)}.dx-popup-wrapper:not(.dx-dropdowneditor-overlay):not(.dx-dropdownbutton-popup-wrapper):not(.dx-popover-wrapper):not(.dx-dropdownlist-popup-wrapper)>.dx-overlay-content>.dx-popup-title .dx-toolbar-label{font-size:var(--fs-title);font-weight:var(--fw-semibold)}.dx-popup-wrapper:not(.dx-dropdowneditor-overlay):not(.dx-dropdownbutton-popup-wrapper):not(.dx-popover-wrapper):not(.dx-dropdownlist-popup-wrapper)>.dx-overlay-content>.dx-popup-content{padding:var(--space-4h)}.dx-popup-wrapper:not(.dx-dropdowneditor-overlay):not(.dx-dropdownbutton-popup-wrapper):not(.dx-popover-wrapper):not(.dx-dropdownlist-popup-wrapper)>.dx-overlay-content>.dx-popup-bottom{padding:var(--space-3) var(--space-4h);border-top:1px solid var(--ui-border);background:color-mix(in srgb,var(--ui-text) 2.5%,var(--ui-surface));border-radius:0 0 var(--radius-lg) var(--radius-lg)}.dx-invalid-message>.dx-overlay-content{padding:var(--space-0) 0 0!important;background:none!important;color:var(--ui-danger)!important;font-size:var(--fs-xs);box-shadow:none!important}.dx-form .dx-field-item.dx-field-item-required,.dx-form .dx-field-item:has(.dx-invalid){padding-bottom:var(--space-3h)}.ui-field:has(.dx-invalid){padding-bottom:var(--space-4)}.ui-info{display:inline-flex;vertical-align:middle;margin-left:var(--space-1)}.ui-info-btn{display:inline-grid;place-items:center;width:var(--fs-icon);height:var(--fs-icon);padding:0;border:0;border-radius:50%;background:none;color:var(--ui-muted);cursor:help}.ui-info-btn .dx-icon{font-size:var(--fs-icon-sm);color:inherit}.ui-info-btn:hover,.ui-info-btn:focus-visible{color:var(--ui-primary);background:color-mix(in srgb,var(--ui-primary) 10%,transparent);outline:none}.ui-info-text{font-size:var(--fs-sm);line-height:1.45;text-align:left;white-space:normal}.ui-field-label{display:flex;align-items:center;gap:var(--space-0);margin-bottom:var(--space-1h);font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--ui-text)}.ui-check-row{display:inline-flex;align-items:center}body,.dx-widget{font-size:var(--fs-md)}.dx-texteditor.dx-editor-outlined .dx-texteditor-input,.dx-texteditor.dx-editor-filled .dx-texteditor-input,.dx-texteditor.dx-editor-underlined .dx-texteditor-input{min-height:calc(var(--control-h) - 2px);padding-top:var(--space-1);padding-bottom:var(--space-1);padding-left:var(--space-2h);padding-right:var(--space-2h);font-size:var(--fs-md)}.dx-texteditor.dx-editor-outlined .dx-placeholder:before,.dx-texteditor.dx-editor-filled .dx-placeholder:before,.dx-texteditor.dx-editor-underlined .dx-placeholder:before{padding:var(--space-1h) var(--space-2h);font-size:var(--fs-md)}.dx-texteditor.dx-textarea .dx-texteditor-input{min-height:var(--space-9)}.dx-tag-content{padding-top:var(--space-0);padding-bottom:var(--space-0);font-size:var(--fs-sm)}.dx-field-item-label-text,.dx-texteditor-with-label .dx-label span,.ui-field-label{font-size:var(--fs-md)!important;font-weight:var(--fw-semibold)!important}.dx-form .dx-field-item-label-location-top{padding-bottom:var(--space-1)}.dx-button .dx-button-content{padding:var(--space-1) var(--space-3)}.dx-button-text{font-size:var(--fs-md)}.dx-button .dx-icon{font-size:var(--fs-icon)}.dx-list-item-content,.dx-menu-item-text,.dx-tab-text,.ui-tab{font-size:var(--fs-md)}.dx-list-item-content{padding:var(--space-1h) var(--space-3)}.dx-datagrid{font-size:var(--fs-md)}.dx-datagrid .dx-row>td,.dx-datagrid .dx-header-row>td{padding-top:var(--space-2);padding-bottom:var(--space-2)}.dx-popup-title.dx-toolbar .dx-toolbar-label{font-size:var(--fs-title)}.dx-checkbox-text,.dx-switch-container,.dx-radiobutton{font-size:var(--fs-md)}.dx-texteditor:not(.dx-textarea):not(.dx-tagbox):not(.dx-htmleditor){height:var(--control-h)!important;min-height:var(--control-h)!important}.dx-texteditor:not(.dx-textarea):not(.dx-tagbox):not(.dx-htmleditor) .dx-texteditor-container,.dx-texteditor:not(.dx-textarea):not(.dx-tagbox):not(.dx-htmleditor) .dx-texteditor-input-container{height:100%}.dx-texteditor:not(.dx-textarea):not(.dx-tagbox):not(.dx-htmleditor) .dx-texteditor-input{min-height:0!important;height:100%;padding-top:0!important;padding-bottom:0!important}.dx-texteditor:not(.dx-textarea):not(.dx-tagbox):not(.dx-htmleditor) .dx-placeholder:before{padding-top:0!important;padding-bottom:0!important;line-height:calc(var(--control-h) - 2px)}.dx-texteditor:not(.dx-textarea):not(.dx-tagbox):not(.dx-htmleditor) .dx-texteditor-buttons-container .dx-button{height:calc(var(--control-h) - 2px);margin-top:0;margin-bottom:0}.dx-tagbox{min-height:var(--control-h)!important}.dx-popover-wrapper .dx-popup-content{padding:var(--popover-pad)!important}.dx-popover-wrapper .dx-overlay-content{border-radius:var(--radius-md)!important;box-shadow:var(--shadow-md)!important}:root{--app-gap: 16px;--app-radius: 8px;--app-header-h: 56px;--app-surface: var(--dx-component-color-bg, #fff);--app-bg: color-mix(in srgb, var(--dx-color-main-bg, #fafafa) 95%, #5a7bb5);--app-border: var(--dx-color-border, #e0e0e0);--app-text: var(--dx-color-text, #242424);--app-muted: var(--dx-texteditor-color-label, #707070);--app-primary: var(--dx-color-primary, #0f6cbd)}html,body{height:100%;margin:0}body{background:var(--app-bg);color:var(--app-text);font-family:var(--dx-font-family, "Segoe UI", system-ui, sans-serif)}*{box-sizing:border-box}a{color:var(--app-primary)}.chips{display:flex;flex-wrap:wrap;gap:var(--space-1h)}.chip{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-0) var(--space-2h);border:1px solid var(--app-border);border-radius:var(--radius-pill);font-size:var(--fs-xs);text-decoration:none;background:var(--app-surface)}.chip .dx-icon-export{font-size:var(--fs-icon-sm)}.demo{background:var(--app-surface);border:1px solid var(--app-border);border-radius:var(--app-radius);overflow:hidden}.stack{display:flex;flex-direction:column;gap:var(--space-3)}.row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2h)}.label{font-size:var(--fs-xs);color:var(--app-muted);margin-bottom:var(--space-1)}.muted{color:var(--app-muted)}.value-out{font-size:var(--fs-md);color:var(--app-muted)}.badge{display:inline-block;padding:var(--space-0) var(--space-2);border-radius:var(--radius-pill);font-size:var(--fs-xs);background:color-mix(in srgb,var(--app-primary) 15%,transparent);color:var(--app-primary)}.badge.success{background:color-mix(in srgb,var(--ui-success) 15%,transparent);color:var(--ui-success)}.badge.danger{background:color-mix(in srgb,var(--ui-danger) 15%,transparent);color:var(--ui-danger)}.badge.warning{background:color-mix(in srgb,var(--ui-warning) 25%,transparent);color:var(--app-text)}.code{font-family:Cascadia Code,Consolas,monospace;font-size:var(--fs-xs);background:var(--app-bg);border:1px solid var(--app-border);border-radius:var(--radius-sm);padding:var(--space-3);overflow:auto;white-space:pre;margin:0}.matrix{display:grid;gap:var(--space-3) var(--space-4);align-items:center}.matrix .mh{font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:.05em;color:var(--app-muted)}.grid{display:grid;gap:var(--app-gap);align-items:start}.cols-2{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr))}.cols-3{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}.cols-main{grid-template-columns:minmax(0,2fr) minmax(300px,1fr)}@media(max-width:1100px){.cols-main{grid-template-columns:minmax(0,1fr)}}.mb{margin-bottom:var(--app-gap)}.small{font-size:var(--fs-xs)}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2h) 0;border-bottom:1px solid var(--app-border)}.list-row:last-child{border-bottom:0}.grow{flex:1;min-width:0}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-4);margin-bottom:var(--space-4)}@media(max-width:600px){.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2h)}}.split{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,1fr);gap:var(--space-4);margin-bottom:var(--space-4);align-items:stretch}.split>ui-card{height:100%}@media(max-width:1100px){.split{grid-template-columns:minmax(0,1fr)}}.card-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2h)}button:focus,a:focus,[tabindex]:focus{outline:none}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--app-primary);outline-offset:2px}
