html,body,#root{font-family:PingFang SC,PingFang TC,PingFang HK,-apple-system,BlinkMacSystemFont,Helvetica Neue,Helvetica,Microsoft YaHei,Segoe UI,sans-serif}.custom-menu-footer{height:194px;width:186px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;border-radius:12px;padding-block-end:20px}.custom-menu-footer .custom-menu-footer-content{display:flex;flex-direction:column;align-items:center}.custom-menu-footer .custom-menu-footer-content span{line-height:17px}.login-page{display:flex;height:100vh;width:100%;position:relative;overflow:auto;background-size:cover;background-repeat:no-repeat}.login-page .login-page-container{width:100%;height:100%;display:flex;flex-direction:column;overflow:auto}.login-page .login-page-container .login-page-header{height:90px;min-height:90px;padding-top:50px;padding-bottom:20px;display:flex;align-items:center;padding-inline:52px}.login-page .login-page-container .login-page-content-row{flex:1 1}.login-page .login-page-container .login-page-content{display:flex;flex:1 1;justify-content:center;align-items:center}.login-page .login-page-container .login-page-content .login-page-content-inner{display:flex;flex-direction:column;align-items:stretch;justify-content:center;width:100%;max-width:420px;gap:16px}.login-page .login-page-container .login-page-content .login-page-brand{display:flex;align-items:center;flex-shrink:0}.login-page .login-page-container .login-page-content .login-page-form-wrap{width:100%;min-width:0}.login-page .login-page-container .login-page-content .login-page-content-form{padding-block:20px}.ant-pro-form-login-container{width:420px;border-radius:12px;height:auto;padding-inline:40px;padding-block-start:40px;padding-block-end:37px}.ant-pro-form-login-container .ant-pro-form-login-top{text-align:left;margin-block-end:26px}.ant-pro-form-login-container .ant-pro-form-login-top .ant-pro-form-login-header{justify-content:flex-start;height:28px;line-height:28px}.ant-pro-form-login-container .ant-pro-form-login-top .ant-pro-form-login-header .ant-pro-form-login-title{font-size:20px;font-weight:400}.ant-pro-form-login-container .ant-pro-form-login-top .ant-pro-form-login-desc{margin-block-end:0}.flex-items-center{display:flex;align-items:center}@media (min-width: 601px){::-webkit-scrollbar{width:10px}::-webkit-scrollbar-thumb{background:silver;border-radius:8px}::-webkit-scrollbar-thumb:hover{background:gray}}.custom-html-style{font-family:PingFang SC,PingFang TC,PingFang HK,-apple-system,BlinkMacSystemFont,Helvetica Neue,Helvetica,Microsoft YaHei,sans-serif}.custom-html-style h1{font-size:32px;padding:0;border:none;font-weight:700;margin:32px 0;line-height:1.2}.custom-html-style h2{font-size:24px;padding:0;border:none;font-weight:700;margin:24px 0;line-height:1.7}.custom-html-style h3{font-size:18px;margin:18px 0;padding:0;line-height:1.7;border:none}.custom-html-style p{font-size:14px;line-height:1.7;margin:8px 0}.custom-html-style a{color:#0052d9}.custom-html-style a:hover{text-decoration:none}.custom-html-style strong{font-weight:700}.custom-html-style ol,.custom-html-style ul{font-size:14px;line-height:28px;padding-left:36px}.custom-html-style li{margin-bottom:8px;line-height:1.7}.custom-html-style hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.custom-html-style pre{display:block;background-color:#f5f5f5;padding:20px;font-size:14px;line-height:28px;border-radius:0;overflow-x:auto;word-break:break-word}.custom-html-style code{background-color:#f5f5f5;border-radius:0;padding:3px 0;margin:0;font-size:14px;overflow-x:auto;word-break:normal;color:#da578f}.custom-html-style code:after,.custom-html-style code:before{letter-spacing:0}.custom-html-style blockquote{position:relative;margin:16px 0;padding:5px 8px 5px 30px;background:none repeat scroll 0 0 #6680990d;border:none;border-left:10px solid #d6dbdf}.custom-html-style img,.custom-html-style video{max-width:100%}.custom-html-style table{font-size:14px;line-height:1.7;max-width:100%;overflow:auto;border:1px solid #f6f6f6;border-collapse:collapse;border-spacing:0;box-sizing:border-box}.custom-html-style table td,.custom-html-style table th{word-break:break-all;word-wrap:break-word;white-space:normal}.custom-html-style table tr{border:1px solid #efefef}.custom-html-style table tr:nth-child(2n){background-color:transparent}.custom-html-style table th{text-align:center;font-weight:700;border:1px solid #efefef;padding:10px 6px;background-color:#f5f7fa;word-break:break-word}.custom-html-style table td{border:1px solid #efefef;text-align:left;padding:10px 15px;word-break:break-word;min-width:60px}.alert{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:0 solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:600}.alert-dismissible{padding-right:4rem}.alert-dismissible .close{position:absolute;top:0;right:0;z-index:2;padding:.75rem 1.25rem;color:inherit}.alert-primary{color:#03356c;background-color:#cde0f6}.alert-primary hr{border-top-color:#a3c7ee}.alert-primary .alert-link{color:#021d3a}.alert-secondary{color:#383d41;background-color:#e2e3e5}.alert-secondary hr{border-top-color:#c8cbcf}.alert-secondary .alert-link{color:#202326}.alert-success{color:#445e27;background-color:#e6f0db}.alert-success hr{border-top-color:#cfe2bb}.alert-success .alert-link{color:#2a3a18}.alert-info{color:#1f4b74;background-color:#d8e9f9}.alert-info hr{border-top-color:#b2d4f2}.alert-info .alert-link{color:#14314c}.alert-warning{color:#855c0d;background-color:#ffefd1}.alert-warning hr{border-top-color:#ffe0a6}.alert-warning .alert-link{color:#573c08}.alert-danger{color:#74290e;background-color:#f9dcd1}.alert-danger hr{border-top-color:#f3bda9}.alert-danger .alert-link{color:#461909}.alert-light{color:#818182;background-color:#fefefe}.alert-light hr{border-top-color:#ececf6}.alert-light .alert-link{color:#686868}.alert-dark{color:#1b1e21;background-color:#d6d8d9}.alert-dark hr{border-top-color:#b9bbbe}.alert-dark .alert-link{color:#040505}.dark.custom-html-style blockquote{background-image:none;background-color:#5c6a780d;border-left-color:#444747}.dark.custom-html-style code{background-color:transparent}.dark .alert{opacity:.8}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{text-rendering:optimizeLegibility}.app-page-outlet{min-height:0}@media (min-width: 601px){html.dark ::-webkit-scrollbar-thumb,[data-theme=dark] ::-webkit-scrollbar-thumb{background:#475569}html.dark ::-webkit-scrollbar-thumb:hover,[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:#64748b}}html,body{width:100%;height:100%}input::-ms-clear,input::-ms-reveal{display:none}*,*:before,*:after{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{margin:0}[tabindex="-1"]:focus{outline:none}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5em;font-weight:500}p{margin-top:0;margin-bottom:1em}abbr[title],abbr[data-original-title]{text-decoration:underline dotted;border-bottom:0;cursor:help}address{margin-bottom:1em;font-style:normal;line-height:inherit}input[type=text],input[type=password],input[type=number],textarea{-webkit-appearance:none}ol,ul,dl{margin-top:0;margin-bottom:1em}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:500}dd{margin-bottom:.5em;margin-left:0}blockquote{margin:0 0 1em}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}pre,code,kbd,samp{font-size:1em;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace}pre{margin-top:0;margin-bottom:1em;overflow:auto}figure{margin:0 0 1em}img{vertical-align:middle;border-style:none}a,area,button,[role=button],input:not([type=range]),label,select,summary,textarea{touch-action:manipulation}table{border-collapse:collapse}caption{padding-top:.75em;padding-bottom:.3em;text-align:left;caption-side:bottom}input,button,select,optgroup,textarea{margin:0;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{padding:0;border-style:none}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;margin:0;padding:0;border:0}legend{display:block;width:100%;max-width:100%;margin-bottom:.5em;padding:0;color:inherit;font-size:1.5em;line-height:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}mark{padding:.2em;background-color:#feffe6}:root{--primitive-navy-950: #0a1628;--primitive-navy-900: #0f1b2e;--primitive-navy-800: #152238;--primitive-navy-700: #1c2f4a;--primitive-cyan-300: #67e8f9;--primitive-cyan-400: #22d3ee;--primitive-cyan-500: #06b6d4;--primitive-cyan-600: #0891b2;--primitive-emerald-400: #34d399;--primitive-emerald-500: #10b981;--primitive-emerald-600: #059669;--primitive-red-400: #f87171;--primitive-red-500: #ef4444;--primitive-red-600: #dc2626;--primitive-amber-400: #fbbf24;--primitive-amber-500: #f59e0b;--primitive-white: #ffffff;--primitive-slate-50: #f8fafc;--primitive-slate-100: #f1f5f9;--primitive-slate-200: #e2e8f0;--primitive-slate-300: #cbd5e1;--primitive-slate-400: #94a3b8;--primitive-slate-500: #64748b;--primitive-slate-600: #475569;--primitive-slate-700: #334155;--primitive-slate-800: #1e293b;--primitive-slate-900: #0f172a}:root,[data-theme=light]{--color-bg-canvas: var(--primitive-slate-50);--color-bg-surface: var(--primitive-white);--color-bg-elevated: var(--primitive-white);--color-bg-muted: var(--primitive-slate-100);--color-bg-inverse: var(--primitive-slate-900);--color-text-primary: var(--primitive-slate-900);--color-text-secondary: var(--primitive-slate-600);--color-text-tertiary: var(--primitive-slate-500);--color-text-disabled: var(--primitive-slate-400);--color-text-inverse: var(--primitive-white);--color-text-link: var(--primitive-cyan-600);--color-border-subtle: var(--primitive-slate-200);--color-border-strong: var(--primitive-slate-400);--color-border-focus: var(--primitive-cyan-500);--color-brand-primary: var(--primitive-cyan-600);--color-brand-accent: var(--primitive-cyan-500);--color-brand-cta: var(--primitive-emerald-600);--color-brand-danger: var(--primitive-red-600);--color-status-success: var(--primitive-emerald-600);--color-status-warning: var(--primitive-amber-500);--color-status-error: var(--primitive-red-600);--color-status-info: var(--primitive-cyan-600);--color-overlay-scrim: rgba(15, 23, 42, .55)}[data-theme=dark],.theme-dark,html.dark{--color-bg-canvas: var(--primitive-navy-950);--color-bg-surface: var(--primitive-navy-900);--color-bg-elevated: var(--primitive-navy-800);--color-bg-muted: var(--primitive-navy-800);--color-bg-inverse: var(--primitive-slate-50);--color-text-primary: var(--primitive-white);--color-text-secondary: var(--primitive-slate-400);--color-text-tertiary: var(--primitive-slate-500);--color-text-disabled: var(--primitive-slate-600);--color-text-inverse: var(--primitive-navy-950);--color-text-link: var(--primitive-cyan-400);--color-border-subtle: var(--primitive-navy-700);--color-border-strong: var(--primitive-slate-600);--color-border-focus: var(--primitive-cyan-500);--color-brand-primary: var(--primitive-cyan-400);--color-brand-accent: var(--primitive-cyan-400);--color-brand-cta: var(--primitive-emerald-500);--color-brand-danger: var(--primitive-red-500);--color-status-success: var(--primitive-emerald-400);--color-status-warning: var(--primitive-amber-400);--color-status-error: var(--primitive-red-400);--color-status-info: var(--primitive-cyan-400);--color-overlay-scrim: rgba(10, 22, 40, .72)}:root{--spacing-0: 0px;--spacing-1: 4px;--spacing-2: 8px;--spacing-3: 12px;--spacing-4: 16px;--spacing-5: 20px;--spacing-6: 24px;--spacing-8: 32px;--spacing-10: 40px;--spacing-12: 48px;--spacing-16: 64px}:root{--radius-none: 0px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 20px;--radius-full: 9999px}:root{--font-family-sans: "PingFang SC", "PingFang TC", "PingFang HK", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, "Microsoft YaHei", system-ui, sans-serif;--font-family-mono: ui-monospace, "SF Mono", Menlo, monospace;--font-size-display: 48px;--font-size-h1: 36px;--font-size-h2: 28px;--font-size-h3: 22px;--font-size-body-lg: 18px;--font-size-body: 16px;--font-size-body-sm: 14px;--font-size-caption: 12px;--font-size-overline: 11px;--line-height-tight: 1.15;--line-height-snug: 1.3;--line-height-normal: 1.5;--line-height-relaxed: 1.625;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700}:root{--shadow-xs: 0 1px 2px rgba(0, 0, 0, .05);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .08);--shadow-md: 0 8px 24px rgba(0, 0, 0, .12);--shadow-lg: 0 16px 40px rgba(0, 0, 0, .18)}[data-theme=dark],.theme-dark,html.dark{--shadow-xs: 0 1px 2px rgba(0, 0, 0, .35);--shadow-sm: 0 4px 16px rgba(0, 0, 0, .35);--shadow-md: 0 12px 32px rgba(0, 0, 0, .45);--shadow-lg: 0 20px 48px rgba(0, 0, 0, .55)}:root{--duration-fast: .12s;--duration-normal: .2s;--duration-slow: .32s;--ease-standard: cubic-bezier(.4, 0, .2, 1);--ease-emphasized: cubic-bezier(.2, 0, 0, 1)}:root{--comp-button-primary-bg: var(--color-brand-cta);--comp-button-primary-text: var(--color-text-inverse);--comp-button-primary-hover: var(--primitive-emerald-400);--comp-button-secondary-bg: var(--color-bg-surface);--comp-button-secondary-text: var(--color-text-primary);--comp-button-secondary-border: var(--color-border-subtle);--comp-button-ghost-text: var(--color-brand-accent);--comp-button-ghost-border: var(--color-border-subtle);--comp-button-danger-bg: var(--color-brand-danger);--comp-button-danger-text: var(--primitive-white);--comp-button-padding-x-md: var(--spacing-5);--comp-button-padding-y-md: var(--spacing-2);--comp-button-padding-x-lg: var(--spacing-6);--comp-button-padding-y-lg: 14px;--comp-button-radius: var(--radius-full);--comp-button-font-weight: var(--font-weight-semibold);--comp-input-bg: var(--color-bg-surface);--comp-input-text: var(--color-text-primary);--comp-input-placeholder: var(--color-text-tertiary);--comp-input-border: var(--color-border-subtle);--comp-input-border-hover: var(--color-border-strong);--comp-input-border-focus: var(--color-border-focus);--comp-input-radius: var(--radius-sm);--comp-input-padding-x: var(--spacing-5);--comp-input-padding-y: var(--spacing-3);--comp-input-error: var(--color-status-error);--comp-card-bg: var(--color-bg-elevated);--comp-card-border: var(--color-border-subtle);--comp-card-radius: var(--radius-lg);--comp-card-shadow: var(--shadow-md);--comp-card-padding: var(--spacing-6);--comp-badge-neutral-bg: var(--color-bg-muted);--comp-badge-neutral-text: var(--color-text-secondary);--comp-badge-accent-bg: rgba(6, 182, 212, .2);--comp-badge-accent-text: var(--color-brand-accent);--comp-badge-success-bg: rgba(16, 185, 129, .2);--comp-badge-success-text: var(--color-status-success);--comp-badge-warning-bg: rgba(245, 158, 11, .2);--comp-badge-warning-text: var(--color-status-warning);--comp-badge-error-bg: rgba(239, 68, 68, .2);--comp-badge-error-text: var(--color-status-error);--comp-badge-radius: var(--radius-sm);--comp-control-border: var(--color-border-strong);--comp-control-checked-bg: var(--color-brand-cta);--comp-control-checked-border: var(--color-brand-cta);--comp-control-focus-ring: var(--color-border-focus);--comp-switch-track-off: var(--primitive-slate-400);--comp-switch-track-on: var(--primitive-emerald-500);--comp-switch-thumb: var(--primitive-white);--comp-alert-info-bg: rgba(6, 182, 212, .12);--comp-alert-info-border: var(--primitive-cyan-600);--comp-alert-info-text: var(--color-text-primary);--comp-alert-success-bg: rgba(16, 185, 129, .12);--comp-alert-success-border: var(--primitive-emerald-600);--comp-alert-warning-bg: rgba(245, 158, 11, .12);--comp-alert-warning-border: var(--primitive-amber-500);--comp-alert-error-bg: rgba(239, 68, 68, .12);--comp-alert-error-border: var(--primitive-red-500);--comp-avatar-radius: var(--radius-full);--comp-avatar-border: var(--color-border-subtle);--comp-divider-color: var(--color-border-subtle);--comp-nav-bg: var(--color-bg-canvas);--comp-nav-text: var(--color-text-primary);--comp-nav-height: 64px;--comp-nav-link-hover: var(--color-brand-accent);--comp-modal-bg: var(--color-bg-elevated);--comp-modal-overlay: var(--color-overlay-scrim);--comp-modal-radius: var(--radius-xl);--comp-table-header-bg: var(--color-bg-muted);--comp-table-row-hover: var(--color-bg-muted);--comp-table-border: var(--color-border-subtle);--comp-tooltip-bg: var(--primitive-slate-800);--comp-tooltip-text: var(--primitive-slate-50);--comp-tooltip-radius: var(--radius-sm)}body .ant-pro-layout,body .ant-pro-layout .ant-layout.ant-layout-has-sider{min-width:0}body .ant-pro-layout .ant-pro-layout-content{position:relative;z-index:1;min-width:0}body .ant-pro-layout .ant-pro-sider .ant-layout-sider-children{border-inline-end:unset;padding-inline:20px}body .ant-pro-layout .ant-pro-sider .ant-pro-sider-logo{padding-block:25px;border-block-end:unset;justify-content:center}body .ant-pro-layout .ant-pro-sider a h1{font-size:20px;font-weight:600;font-family:PingFang SC,PingFang TC,PingFang HK,-apple-system,BlinkMacSystemFont,Helvetica Neue,Helvetica,Microsoft YaHei,sans-serif}body .ant-pro-layout .ant-pro-sider .ant-menu{min-height:unset}body .ant-pro-layout .ant-pro-sider .ant-menu .ant-menu-item{margin-block-start:unset;margin-block-end:12px;margin-inline:0;height:40px;line-height:40px}body .ant-pro-layout .ant-pro-sider .ant-menu .ant-menu-item:nth-child(6){margin-top:25px;overflow:visible}body .ant-pro-layout .ant-pro-sider .ant-menu .ant-menu-item:nth-child(6):before{position:absolute;content:"";left:0;right:0;height:1px;top:-13px}body .app-page-outlet{position:relative;z-index:1;min-height:0}body .ant-btn-round.ant-btn{min-width:98px}
