#app{width:100%;height:100vh;font-family:var(--font-family);color:var(--color-text-primary);background-color:var(--color-bg-layout)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}html.theme-transition,html.theme-transition *,html.theme-transition :before,html.theme-transition :after{transition-property:color,background-color,border-color,box-shadow,fill,stroke;transition-duration:.46s;transition-timing-function:var(--ease-in-out)}html.theme-view-transition .ant-table-wrapper,html.theme-view-transition .ant-table,html.theme-view-transition .ant-table-container,html.theme-view-transition .ant-table-content,html.theme-view-transition .ant-table-sticky-holder{contain:none!important;isolation:auto!important}@media (prefers-reduced-motion:reduce){html.theme-transition,html.theme-transition *,html.theme-transition :before,html.theme-transition :after{transition:none!important}html.theme-view-transition::view-transition-old(root){animation:none!important}html.theme-view-transition::view-transition-new(root){animation:none!important}}html.theme-view-transition::view-transition-old(root){mix-blend-mode:normal;will-change:clip-path}html.theme-view-transition::view-transition-new(root){mix-blend-mode:normal;will-change:clip-path}html.theme-view-transition::view-transition-old(root){z-index:1;animation:none}html.theme-view-transition::view-transition-new(root){z-index:9999;animation:.74s cubic-bezier(.22,1,.36,1) forwards theme-clip-reveal}html.theme-view-transition.dark::view-transition-old(root){z-index:9999;animation:.74s cubic-bezier(.16,1,.3,1) forwards theme-clip-conceal}html.theme-view-transition.dark::view-transition-new(root){z-index:1;animation:none}@keyframes theme-clip-reveal{0%{clip-path:circle(0 at var(--theme-transition-x) var(--theme-transition-y))}to{clip-path:circle(var(--theme-transition-radius) at var(--theme-transition-x) var(--theme-transition-y))}}@keyframes theme-clip-conceal{0%{clip-path:circle(var(--theme-transition-radius) at var(--theme-transition-x) var(--theme-transition-y))}to{clip-path:circle(0 at var(--theme-transition-x) var(--theme-transition-y))}}body{font-family:var(--font-family);font-size:var(--font-size-sm);line-height:var(--line-height-base);color:var(--color-text-primary);background-color:var(--color-bg-layout);margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:var(--color-text-primary);margin:0}h1{font-size:var(--font-size-4xl)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}h5{font-size:var(--font-size-lg)}h6{font-size:var(--font-size-base)}p{line-height:var(--line-height-base);margin:0}a{color:var(--color-primary);transition:color var(--duration-base);text-decoration:none}a:hover{color:var(--color-primary-5)}ul,ol{margin:0;padding:0;list-style:none}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-layout)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb:hover{background:var(--color-border);opacity:.8}*{scrollbar-width:thin;scrollbar-color:var(--color-border) var(--color-bg-layout)}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-tertiary{color:var(--color-text-tertiary)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.text-error{color:var(--color-error)}.text-info{color:var(--color-info)}.font-normal{font-weight:var(--font-weight-normal)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.flex-row{flex-direction:row}.flex-column{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.flex-1{flex:1}.m-0{margin:0}.mt-0{margin-top:0}.mr-0{margin-right:0}.mb-0{margin-bottom:0}.ml-0{margin-left:0}.p-0{padding:0}.pt-0{padding-top:0}.pr-0{padding-right:0}.pb-0{padding-bottom:0}.pl-0{padding-left:0}.m-xs{margin:var(--spacing-xs)}.m-sm{margin:var(--spacing-sm)}.m-md{margin:var(--spacing-md)}.m-lg{margin:var(--spacing-lg)}.m-xl{margin:var(--spacing-xl)}.mt-xs{margin-top:var(--spacing-xs)}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mt-xl{margin-top:var(--spacing-xl)}.mb-xs{margin-bottom:var(--spacing-xs)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.mb-xl{margin-bottom:var(--spacing-xl)}.p-xs{padding:var(--spacing-xs)}.p-sm{padding:var(--spacing-sm)}.p-md{padding:var(--spacing-md)}.p-lg{padding:var(--spacing-lg)}.p-xl{padding:var(--spacing-xl)}.w-full{width:100%}.w-auto{width:auto}.h-full{height:100%}.h-auto{height:auto}.h-screen{height:100vh}.rounded-none{border-radius:0}.rounded-sm{border-radius:var(--radius-sm)}.rounded{border-radius:var(--radius-base)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-full{border-radius:var(--radius-full)}.cursor-pointer{cursor:pointer}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-scroll{overflow:scroll}.transition-all{transition:all var(--duration-base) var(--ease-out)}.transition-colors{transition:color var(--duration-base) var(--ease-out), background-color var(--duration-base) var(--ease-out), border-color var(--duration-base) var(--ease-out)}.transition-transform{transition:transform var(--duration-base) var(--ease-out)}.card{background:var(--color-bg-container);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);border:1px solid var(--color-border-secondary);padding:var(--spacing-lg);transition:all var(--duration-slow) var(--ease-out)}.card:hover{box-shadow:var(--shadow-card-hover)}.page-container{box-sizing:border-box;min-height:100%;padding:0}.page-header{margin-bottom:var(--spacing-lg)}.page-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--spacing-sm)}.page-description{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.loading-container{justify-content:center;align-items:center;min-height:200px;display:flex}.empty-container{padding:var(--spacing-3xl) var(--spacing-lg);color:var(--color-text-tertiary);flex-direction:column;justify-content:center;align-items:center;display:flex}.empty-icon{margin-bottom:var(--spacing-md);font-size:64px}.empty-text{font-size:var(--font-size-base)}@media (max-width:768px){.page-container{padding:0}.card{padding:var(--spacing-md)}}:root{--font-family:"Inter", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-family-number:"DIN Alternate", "Bahnschrift", "Inter", "Roboto", -apple-system, BlinkMacSystemFont, sans-serif;--font-family-code:"SF Mono", Monaco, "Cascadia Code", "Roboto Mono", Consolas, "Courier New", monospace;--font-size-xs:12px;--font-size-sm:14px;--font-size-base:16px;--font-size-lg:18px;--font-size-xl:20px;--font-size-2xl:24px;--font-size-3xl:30px;--font-size-4xl:38px;--line-height-base:1.5715;--line-height-tight:1.3;--line-height-relaxed:1.8;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--spacing-2xl:48px;--spacing-3xl:64px;--radius-xs:2px;--radius-sm:4px;--radius-base:8px;--radius-lg:14px;--radius-xl:20px;--radius-full:9999px;--duration-fast:.1s;--duration-base:.2s;--duration-slow:.3s;--duration-slower:.5s;--ease-in:cubic-bezier(.55, .055, .675, .19);--ease-out:cubic-bezier(.215, .61, .355, 1);--ease-in-out:cubic-bezier(.645, .045, .355, 1);--ease-out-back:cubic-bezier(.12, .4, .29, 1.46);--ease-in-back:cubic-bezier(.71, -.46, .88, .6);--ease-in-out-back:cubic-bezier(.71, -.46, .29, 1.46);--shadow-1:0 1px 2px #0f172a0a, 0 8px 24px #0f172a0a;--shadow-2:0 6px 20px #0f172a0f;--shadow-3:0 12px 36px #0f172a14;--shadow-card:0 6px 24px #0f172a0f;--shadow-card-hover:0 10px 32px #0f172a1f;--shadow-drawer:0 8px 40px 0 #0000001f;--shadow-modal:0 12px 48px 0 #00000026;--color-success:#52c41a;--color-success-bg:#f6ffed;--color-success-border:#b7eb8f;--color-warning:#faad14;--color-warning-bg:#fffbe6;--color-warning-border:#ffe58f;--color-error:#ff4d4f;--color-error-bg:#fff2f0;--color-error-border:#ffccc7;--color-info:#1890ff;--color-info-bg:#e6f7ff;--color-info-border:#91d5ff;--color-text-primary:#000000d9;--color-text-secondary:#000000a6;--color-text-tertiary:#00000073;--color-text-quaternary:#00000040;--color-border:#d9d9d9;--color-border-secondary:#f0f0f0;--color-bg-container:#fff;--color-bg-layout:#f5f7fa;--color-bg-mask:#00000073;--color-fill-quaternary:#fafafa;--z-index-dropdown:1050;--z-index-modal:1060;--z-index-drawer:1070;--z-index-notification:1080;--color-primary-1:#e6f7ff;--color-primary-2:#bae7ff;--color-primary-3:#91d5ff;--color-primary-4:#69c0ff;--color-primary-5:#40a9ff;--color-primary-6:#1890ff;--color-primary-7:#096dd9;--color-primary-8:#0050b3;--color-primary-9:#003a8c;--color-primary-10:#002766;--color-primary:var(--color-primary-6)}:root[data-primary-color=blue]{--color-primary-1:#e6f7ff;--color-primary-2:#bae7ff;--color-primary-3:#91d5ff;--color-primary-4:#69c0ff;--color-primary-5:#40a9ff;--color-primary-6:#1890ff;--color-primary-7:#096dd9;--color-primary-8:#0050b3;--color-primary-9:#003a8c;--color-primary-10:#002766;--color-primary:var(--color-primary-6)}:root[data-primary-color=green]{--color-primary-1:#f6ffed;--color-primary-2:#d9f7be;--color-primary-3:#b7eb8f;--color-primary-4:#95de64;--color-primary-5:#73d13d;--color-primary-6:#52c41a;--color-primary-7:#389e0d;--color-primary-8:#237804;--color-primary-9:#135200;--color-primary-10:#092b00;--color-primary:var(--color-primary-6)}:root[data-primary-color=purple]{--color-primary-1:#f9f0ff;--color-primary-2:#efdbff;--color-primary-3:#d3adf7;--color-primary-4:#b37feb;--color-primary-5:#9254de;--color-primary-6:#722ed1;--color-primary-7:#531dab;--color-primary-8:#391085;--color-primary-9:#22075e;--color-primary-10:#120338;--color-primary:var(--color-primary-6)}:root[data-primary-color=red]{--color-primary-1:#fff1f0;--color-primary-2:#ffccc7;--color-primary-3:#ffa39e;--color-primary-4:#ff7875;--color-primary-5:#ff4d4f;--color-primary-6:#f5222d;--color-primary-7:#cf1322;--color-primary-8:#a8071a;--color-primary-9:#820014;--color-primary-10:#5c0011;--color-primary:var(--color-primary-6)}:root[data-primary-color=orange]{--color-primary-1:#fff7e6;--color-primary-2:#ffe7ba;--color-primary-3:#ffd591;--color-primary-4:#ffc069;--color-primary-5:#ffa940;--color-primary-6:#fa8c16;--color-primary-7:#d46b08;--color-primary-8:#ad4e00;--color-primary-9:#873800;--color-primary-10:#612500;--color-primary:var(--color-primary-6)}:root[data-primary-color=cyan]{--color-primary-1:#e6fffb;--color-primary-2:#b5f5ec;--color-primary-3:#87e8de;--color-primary-4:#5cdbd3;--color-primary-5:#36cfc9;--color-primary-6:#13c2c2;--color-primary-7:#08979c;--color-primary-8:#006d75;--color-primary-9:#00474f;--color-primary-10:#002329;--color-primary:var(--color-primary-6)}:root.dark{--color-text-primary:#ffffffd9;--color-text-secondary:#ffffffa6;--color-text-tertiary:#ffffff73;--color-text-quaternary:#ffffff40;--color-border:#434343;--color-border-secondary:#303030;--color-bg-container:#1f1f1f;--color-bg-layout:#141414;--color-bg-mask:#000000a6;--color-fill-quaternary:#ffffff14;--shadow-card:0 8px 28px #00000047;--shadow-card-hover:0 14px 36px #0006}html.gray-mode{filter:grayscale()}.fade-enter-active,.fade-leave-active{transition:opacity var(--duration-slow) var(--ease-in-out)}.fade-enter-from,.fade-leave-to{opacity:0}.slide-left-enter-active,.slide-left-leave-active{transition:all var(--duration-slow) var(--ease-in-out)}.slide-left-enter-from{opacity:0;transform:translate(30px)}.slide-left-leave-to{opacity:0;transform:translate(-30px)}.slide-right-enter-active,.slide-right-leave-active{transition:all var(--duration-slow) var(--ease-in-out)}.slide-right-enter-from{opacity:0;transform:translate(-30px)}.slide-right-leave-to{opacity:0;transform:translate(30px)}.slide-up-enter-active,.slide-up-leave-active{transition:all var(--duration-slow) var(--ease-in-out)}.slide-up-enter-from{opacity:0;transform:translateY(24px)}.slide-up-leave-to{opacity:0;transform:translateY(-24px)}.slide-down-enter-active,.slide-down-leave-active{transition:all var(--duration-slow) var(--ease-in-out)}.slide-down-enter-from{opacity:0;transform:translateY(-24px)}.slide-down-leave-to{opacity:0;transform:translateY(24px)}.zoom-enter-active,.zoom-leave-active{transition:all var(--duration-slow) var(--ease-out-back)}.zoom-enter-from,.zoom-leave-to{opacity:0;transform:scale(.95)}.zoom-big-enter-active,.zoom-big-leave-active{transition:all var(--duration-slow) var(--ease-out-back)}.zoom-big-enter-from{opacity:0;transform:scale(.8)}.zoom-big-leave-to{opacity:0;transform:scale(1.1)}@keyframes spin{to{transform:rotate(360deg)}}.loading-spin{animation:1s linear infinite spin}@keyframes skeleton-loading{0%{background-position:100%}to{background-position:0}}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 37%,#f0f0f0 63%) 0 0/400% 100%;animation:1.4s infinite skeleton-loading}:root.dark .skeleton{background:linear-gradient(90deg,#2a2a2a 25%,#1f1f1f 37%,#2a2a2a 63%) 0 0/400% 100%}@keyframes bounce-in{0%{opacity:0;transform:scale(0)}50%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.bounce-in{animation:bounce-in var(--duration-slow) var(--ease-out-back)}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-10px)}20%,40%,60%,80%{transform:translate(10px)}}.shake{animation:.5s shake}@keyframes pulse{0%{box-shadow:0 0 #1890ffb3}70%{box-shadow:0 0 0 10px #1890ff00}to{box-shadow:0 0 #1890ff00}}.pulse{animation:2s infinite pulse}@keyframes ripple{to{opacity:0;transform:scale(4)}}@keyframes slide-down{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.slide-down{animation:slide-down var(--duration-slow) var(--ease-out)}@keyframes slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.slide-up{animation:slide-up var(--duration-slow) var(--ease-out)}@keyframes fade-in-down{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.fade-in-down{animation:fade-in-down var(--duration-slow) var(--ease-out)}@keyframes fade-in-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-in-up{animation:fade-in-up var(--duration-slow) var(--ease-out)}.card-hover{transition:all var(--duration-slow) var(--ease-out);cursor:pointer}.card-hover:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-4px)}.btn-hover{transition:all var(--duration-base) var(--ease-out)}.btn-hover:hover:not(:disabled){box-shadow:var(--shadow-card-hover);transform:translateY(-2px)}.btn-hover:active:not(:disabled){transform:translateY(0)}.ripple-effect{position:relative;overflow:hidden}.ripple-effect:after{content:"";opacity:0;background:#ffffff80;border-radius:50%;width:0;height:0;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ripple-effect:active:after{width:20px;height:20px;animation:.6s ease-out ripple}
