:root{--dy-blue-50: #eef3fe;--dy-blue-100: #d9e3fa;--dy-blue-200: #b9cefb;--dy-blue-300: #8faef7;--dy-blue-400: #5f88ee;--dy-blue-500: #2456c4;--dy-blue-600: #1d47a3;--dy-blue-700: #193b88;--dy-blue-800: #16306e;--dy-blue-900: #0b1e52;--dy-ink-900: #1f2733;--dy-ink-700: #5b6472;--dy-ink-500: #6e7686;--dy-ink-300: #9aa3b2;--dy-ink-200: #c8cfda;--dy-ink-100: #e7ebf2;--dy-ink-50: #f0f2f6;--dy-white: #ffffff;--dy-green-500: #0e8f52;--dy-green-700: #0b7e4b;--dy-green-50: #e8f6ee;--dy-orange-500: #c2730a;--dy-orange-700: #9a5a00;--dy-orange-50: #fff4e2;--dy-red-500: #ce4a45;--dy-red-700: #b02a2a;--dy-red-50: #fdedec;--dy-teal-500: #0e8e84;--dy-teal-50: #e2f5f2;--dy-violet-500: #6b46d4;--dy-violet-50: #ede9fe;--dy-amber-500: #b25e09;--dy-amber-50: #fceedd;--dy-coral-500: #c0495b;--dy-coral-50: #fbe9ec}:root,[data-theme=light]{color-scheme:light;--dy-color-primary: var(--dy-blue-500);--dy-color-primary-hover: var(--dy-blue-600);--dy-color-primary-active: var(--dy-blue-700);--dy-color-primary-soft: var(--dy-blue-50);--dy-color-text: var(--dy-ink-900);--dy-color-text-secondary: var(--dy-ink-700);--dy-color-text-weak: var(--dy-ink-500);--dy-color-text-disabled: var(--dy-ink-300);--dy-color-text-inverse: var(--dy-white);--dy-color-bg-canvas: #f5f7fa;--dy-color-bg-surface: var(--dy-white);--dy-color-bg-elevated: var(--dy-white);--dy-color-bg-sunken: #fafbfc;--dy-color-border-strong: var(--dy-ink-200);--dy-color-border: var(--dy-ink-100);--dy-color-border-soft: var(--dy-ink-50);--dy-color-success: var(--dy-green-700);--dy-color-success-graphic: var(--dy-green-500);--dy-color-success-bg: var(--dy-green-50);--dy-color-warning: var(--dy-orange-700);--dy-color-warning-graphic: var(--dy-orange-500);--dy-color-warning-bg: var(--dy-orange-50);--dy-color-error: var(--dy-red-700);--dy-color-error-graphic: var(--dy-red-500);--dy-color-error-bg: var(--dy-red-50);--dy-color-info: #1d4ed8;--dy-color-info-bg: var(--dy-blue-50);--dy-color-accent-teal: var(--dy-teal-500);--dy-color-accent-teal-bg: var(--dy-teal-50);--dy-color-accent-violet: var(--dy-violet-500);--dy-color-accent-violet-bg: var(--dy-violet-50);--dy-color-accent-amber: var(--dy-amber-500);--dy-color-accent-amber-bg: var(--dy-amber-50);--dy-color-accent-coral: var(--dy-coral-500);--dy-color-accent-coral-bg: var(--dy-coral-50);--dy-color-mask: rgba(15, 19, 25, .45);--dy-shadow-card: 0 1px 2px rgba(31, 39, 51, .04);--dy-shadow-raised: 0 4px 12px rgba(31, 39, 51, .08);--dy-shadow-overlay: 0 12px 32px rgba(31, 39, 51, .12);--dy-color-focus-ring: var(--dy-blue-600)}[data-theme=dark]{color-scheme:dark;--dy-color-primary: var(--dy-blue-400);--dy-color-primary-hover: var(--dy-blue-300);--dy-color-primary-active: var(--dy-blue-200);--dy-color-primary-soft: #1a2440;--dy-color-text: #e6eaf2;--dy-color-text-secondary: #a8b1c0;--dy-color-text-weak: #7c8698;--dy-color-text-disabled: #57606e;--dy-color-text-inverse: #0f1319;--dy-color-bg-canvas: #0f1319;--dy-color-bg-surface: #171c24;--dy-color-bg-elevated: #1f2530;--dy-color-bg-sunken: #12171e;--dy-color-border-strong: #364154;--dy-color-border: #2a3240;--dy-color-border-soft: #222933;--dy-color-success: #34c77b;--dy-color-success-graphic: #34c77b;--dy-color-success-bg: #10281c;--dy-color-warning: #e3a23c;--dy-color-warning-graphic: #e3a23c;--dy-color-warning-bg: #2b2010;--dy-color-error: #e8736e;--dy-color-error-graphic: #e8736e;--dy-color-error-bg: #2c1616;--dy-color-info: var(--dy-blue-300);--dy-color-info-bg: #1a2440;--dy-color-accent-teal: #3cc0b4;--dy-color-accent-teal-bg: #0f2724;--dy-color-accent-violet: #a48bf0;--dy-color-accent-violet-bg: #1e1930;--dy-color-accent-amber: #e3a23c;--dy-color-accent-amber-bg: #2b2010;--dy-color-accent-coral: #e58a97;--dy-color-accent-coral-bg: #2c171b;--dy-color-mask: rgba(0, 0, 0, .65);--dy-shadow-card: none;--dy-shadow-raised: none;--dy-shadow-overlay: none;--dy-color-focus-ring: var(--dy-blue-300)}:root{--dy-font-scale: 1}html{font-size:calc(100% * var(--dy-font-scale))}:root{--dy-space-0-5: 2px;--dy-space-1: 4px;--dy-space-2: 8px;--dy-space-3: 12px;--dy-space-4: 16px;--dy-space-6: 24px;--dy-space-8: 32px;--dy-space-12: 48px;--dy-radius-sm: 6px;--dy-radius-md: 8px;--dy-radius-lg: 12px;--dy-radius-xl: 16px;--dy-radius-full: 999px;--dy-font-size-display: 2rem;--dy-font-size-h1: 1.5rem;--dy-font-size-h2: 1.25rem;--dy-font-size-h3: 1.125rem;--dy-font-size-body-lg: 1rem;--dy-font-size-body: .875rem;--dy-font-size-body-sm: .8125rem;--dy-font-size-caption: .75rem;--dy-font-size-overline: .6875rem;--dy-line-height-tight: 1.3;--dy-line-height-heading: 1.35;--dy-line-height-body: 1.55;--dy-line-height-comfort: 1.6;--dy-control-height-sm: 32px;--dy-control-height: 40px;--dy-control-height-lg: 48px;--dy-duration-fast: .15s;--dy-duration-base: .25s;--dy-duration-slow: .4s;--dy-ease-standard: cubic-bezier(.2, .8, .2, 1);--dy-ease-out: cubic-bezier(.16, 1, .3, 1);--dy-z-sticky: 100;--dy-z-appbar: 200;--dy-z-drawer: 900;--dy-z-modal: 1000;--dy-z-popover: 1100;--dy-z-toast: 2000;--dy-page-gutter: 16px;--dy-content-max: 1440px}@media (max-width: 767px){:root{--dy-font-size-body: 1rem;--dy-control-height: 44px}}@media (min-width: 768px){:root{--dy-page-gutter: 24px;--dy-control-height: 44px}}@media (min-width: 992px){:root{--dy-page-gutter: 32px;--dy-control-height: 40px}}@media (prefers-reduced-motion: reduce){:root{--dy-duration-fast: 0ms;--dy-duration-base: 0ms;--dy-duration-slow: 0ms}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.dy-tabbar{display:none}.dy-mobile-only{display:none!important}.dy-brand-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}@media (max-width: 767px){.dy-mobile-only{display:inline-flex!important}.dy-header-actions-desktop{display:none!important}.dy-tabbar{display:flex;position:fixed;inset:auto 0 0 0;height:calc(56px + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);background:var(--dy-color-bg-surface);border-top:1px solid var(--dy-color-border);z-index:var(--dy-z-appbar)}.dy-tabbar__item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:48px;border:0;background:none;color:var(--dy-color-text-weak);font-family:inherit;font-size:var(--dy-font-size-overline);line-height:1.2;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:color var(--dy-duration-fast) var(--dy-ease-out)}.dy-tabbar__icon{font-size:20px;line-height:1}.dy-tabbar__item.is-active{color:var(--dy-color-primary);font-weight:500}.dy-tabbar__item:active{color:var(--dy-color-primary)}.dy-has-tabbar{padding-bottom:calc(56px + env(safe-area-inset-bottom,0px))}.dy-workbench-sider{display:none!important}.dy-workbench-content .ant-table-wrapper{overflow:visible}.dy-workbench-content .ant-table{background:transparent}.dy-workbench-content .ant-table-container{border:0!important}.dy-workbench-content .ant-table-header{display:none}.dy-workbench-content .ant-table-content,.dy-workbench-content .ant-table-body{overflow:visible!important;max-height:none!important}.dy-workbench-content .ant-table table{display:block;width:100%!important;table-layout:auto!important}.dy-workbench-content .ant-table-thead{display:none}.dy-workbench-content .ant-table-tbody{display:block}.dy-workbench-content .ant-table-tbody>tr.ant-table-measure-row{height:0!important;padding:0!important;margin:0!important;border:0!important;border-radius:0!important;background:transparent!important;overflow:hidden}.dy-workbench-content .ant-table-tbody>tr.ant-table-measure-row>td{height:0!important;padding:0!important;border:0!important}.dy-workbench-content .ant-table-tbody>tr{display:block;padding:var(--dy-space-3) var(--dy-space-4);margin-bottom:var(--dy-space-3);background:var(--dy-color-bg-surface);border:1px solid var(--dy-color-border);border-radius:var(--dy-radius-lg)}.dy-workbench-content .ant-table-tbody>tr>td{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--dy-space-3);width:auto!important;padding:4px 0!important;border:0!important;text-align:right;overflow-wrap:anywhere}.dy-workbench-content .ant-table-tbody>tr>td:before{content:attr(data-label);flex:0 0 auto;max-width:42%;color:var(--dy-color-text-weak);font-size:var(--dy-font-size-caption);line-height:1.6;text-align:left}.dy-workbench-content .ant-table-tbody>tr>td[data-label=""]:before,.dy-workbench-content .ant-table-tbody>tr>td:not([data-label]):before{display:none}.dy-workbench-content .ant-table-tbody>tr>td:first-child{font-weight:600;font-size:var(--dy-font-size-body-lg);justify-content:flex-start}.dy-workbench-content .ant-table-tbody>tr>td .ant-space{justify-content:flex-end;flex-wrap:wrap}.dy-workbench-content .ant-table-tbody>tr>td .ant-select,.dy-workbench-content .ant-table-tbody>tr>td .ant-input,.dy-workbench-content .ant-table-tbody>tr>td .ant-input-affix-wrapper{flex:1 1 auto;min-width:0;max-width:62%}.dy-workbench-content .ant-table-tbody>tr>td .ant-btn,.dy-workbench-content .ant-table-tbody>tr>td a{white-space:nowrap;flex-shrink:0}.dy-workbench-content .ant-table-tbody>tr>td:last-child{flex-wrap:wrap;justify-content:flex-end}.dy-filter-bar{width:100%}.dy-filter-bar .ant-input-affix-wrapper,.dy-filter-bar .ant-select,.dy-filter-bar .ant-picker{flex:1 1 100%;width:100%!important}.dy-workbench-content .ant-table-pagination.ant-pagination{justify-content:center;margin:var(--dy-space-4) 0!important}.dy-workbench-content .ant-table-tbody>tr>td.ant-table-selection-column,.dy-workbench-content .ant-table-tbody>tr>td.ant-table-row-expand-icon-cell{justify-content:flex-start}.dy-landing-header{padding-inline:var(--dy-space-4)!important}.dy-brand-title{font-size:var(--dy-font-size-body-lg)!important}.dy-brand-suffix{display:none}}@media (min-width: 768px){.dy-brand-title{max-width:46vw}}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;height:100%;font-family:Inter,PingFang SC,Microsoft YaHei,HarmonyOS Sans SC,sans-serif;-webkit-font-smoothing:antialiased;background:var(--dy-color-bg-canvas);color:var(--dy-color-text)}:root{--brand-50: var(--dy-blue-50);--brand-100: var(--dy-blue-100);--brand-500: var(--dy-blue-500);--brand-600: var(--dy-blue-600);--brand-800: var(--dy-blue-800);--page-bg: var(--dy-color-bg-canvas);--card-bg: var(--dy-color-bg-surface);--border: var(--dy-color-border);--border-soft: var(--dy-color-border-soft);--text-primary: var(--dy-color-text);--text-secondary: var(--dy-color-text-secondary);--text-weak: var(--dy-color-text-weak);--success: var(--dy-color-success);--warning: var(--dy-color-warning);--danger: var(--dy-color-error);--info: var(--dy-color-info);--accent-teal: var(--dy-color-accent-teal);--accent-teal-bg: var(--dy-color-accent-teal-bg);--accent-violet: var(--dy-color-accent-violet);--accent-violet-bg: var(--dy-color-accent-violet-bg);--accent-amber: var(--dy-color-accent-amber);--accent-amber-bg: var(--dy-color-accent-amber-bg);--accent-coral: var(--dy-color-accent-coral);--accent-coral-bg: var(--dy-color-accent-coral-bg);--app-height: calc(100vh - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px)) }@supports (height: 100dvh){:root{--app-height: calc(100dvh - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px)) }}.stat-number,.ant-statistic-content,.ant-table .ant-table-cell,.amount{font-variant-numeric:tabular-nums}:focus-visible,a:focus-visible,button:focus-visible,[tabindex]:focus-visible,.ant-btn:focus-visible,.ant-menu:focus-visible,.ant-input:focus-visible,.ant-select-selector:focus-visible,.ant-picker:focus-visible,.ant-checkbox-input:focus-visible,.ant-radio-input:focus-visible,.ant-switch:focus-visible{outline:2px solid var(--dy-color-focus-ring)!important;outline-offset:2px!important}@media (forced-colors: active){:focus-visible{outline:2px solid Highlight!important;outline-offset:2px!important}}.dy-skip-link{position:fixed;top:8px;left:8px;z-index:var(--dy-z-toast);transform:translateY(-200%);padding:10px 16px;border-radius:var(--dy-radius-md);background:var(--dy-color-primary);color:var(--dy-color-text-inverse);font-size:var(--dy-font-size-body);line-height:1.4;text-decoration:none;transition:transform var(--dy-duration-fast) var(--dy-ease-standard)}.dy-skip-link:focus{transform:translateY(0)}.dy-sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.hover-lift{transition:transform .2s ease,box-shadow .2s ease}.hover-lift:hover{transform:translateY(-2px);box-shadow:0 6px 16px #141f5214}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#d3dae4;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#b6c0cd}@media (max-width: 768px){.login-brand{min-height:200px;padding:32px 24px!important}.login-brand h1{font-size:24px!important}.login-brand p{display:none}}.ant-btn{transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease,border-color .2s ease,color .2s ease}.ant-btn:not(:disabled):hover{transform:translateY(-1px)}.ant-btn:not(:disabled):active{transform:translateY(0) scale(.98)}.ant-spin-nested-loading .ant-spin .ant-spin-dot-item{background-color:#2456c4}.ant-empty-description{color:#8a93a3}.brand-bar{height:3px;background:#2456c4}@media (prefers-reduced-motion: reduce){.ant-btn,.hover-lift,.ant-spin-dot,.ant-table-tbody>tr,*{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (max-width: 768px){.ant-btn:not(.ant-btn-sm):not(.ant-btn-xs){min-height:44px}.ant-input,.ant-select-selector,.ant-picker{min-height:44px}.ant-table-tbody>tr>td .ant-btn-sm{min-height:36px}}.dy-link-action{display:inline-flex;align-items:center;min-height:24px;padding:0;border:0;background:none;color:var(--dy-color-primary);font:inherit;font-size:var(--dy-font-size-caption);line-height:1.4;cursor:pointer;text-align:left;white-space:nowrap}.dy-link-action:hover{color:var(--dy-color-primary-hover);text-decoration:underline}.dy-link-action:disabled{color:var(--dy-color-text-disabled);cursor:not-allowed;text-decoration:none}.skeleton-row{height:12px;border-radius:6px;background:linear-gradient(90deg,#eff3fa 25%,#dce6f8,#eff3fa 75%);background-size:200% 100%;animation:skeleton-wave 1.2s infinite}@keyframes skeleton-wave{to{background-position:-200% 0}}.login-shell{min-height:var(--app-height);display:grid;grid-template-columns:minmax(0,5.5fr) minmax(360px,4.5fr);background:#fff}.login-panel{display:flex;flex-direction:column}.login-form-col{display:flex;align-items:center;justify-content:center;padding:32px;background:#fff}@media (max-width: 920px){.login-shell{grid-template-columns:1fr}.login-panel{padding:28px 24px 12px!important}.login-panel h1{font-size:26px!important;margin-top:18px!important}.login-panel .login-stats{grid-template-columns:repeat(4,1fr)!important}.login-panel .login-footer{display:none}}.ant-layout-sider-collapsed .sider-brand-text,.ant-layout-sider-collapsed .sider-slogan,.ant-layout-sider-collapsed .nav-user{display:none}.ant-layout-sider-collapsed .ant-menu-item{justify-content:center;padding-inline:0!important}@supports (-webkit-touch-callout: none){html{-webkit-text-size-adjust:100%;text-size-adjust:100%}}html{background:#f5f7fa}*{-webkit-tap-highlight-color:transparent}body{padding-top:env(safe-area-inset-top,0px);padding-right:env(safe-area-inset-right,0px);padding-bottom:env(safe-area-inset-bottom,0px);padding-left:env(safe-area-inset-left,0px);overscroll-behavior-y:none}#root{-webkit-overflow-scrolling:touch}@media (max-width: 768px){input,textarea,select,.ant-input,.ant-input-affix-wrapper input,.ant-select-selection-search-input,.ant-picker-input>input{font-size:16px!important}}input,textarea,select{-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:0}.ant-table-cell,.ant-menu-item,.ant-tabs-tab{-webkit-user-select:none;user-select:none}.safe-bottom{padding-bottom:calc(12px + env(safe-area-inset-bottom,0px))}@media (max-width: 576px){.desktop-only{display:none!important}}
