@keyframes MainLayout-module__loading___qxp-Z{0%{background-position:200% 0}to{background-position:-200% 0}}.MainLayout-module__layout___Vv2zA{min-height:100vh;background:var(--bg-layout)}.MainLayout-module__sidebar___popPm{background:var(--bg-primary)!important;border-right:1px solid var(--border-secondary);box-shadow:var(--shadow-sm);position:relative;z-index:var(--z-index-sticky);transition:all var(--transition-normal);overflow-y:auto}.MainLayout-module__sidebar___popPm::-webkit-scrollbar{width:4px}.MainLayout-module__sidebar___popPm::-webkit-scrollbar-track{background:var(--bg-secondary)}.MainLayout-module__sidebar___popPm::-webkit-scrollbar-thumb{background:var(--color-gray-400);border-radius:2px}.MainLayout-module__sidebar___popPm::-webkit-scrollbar-thumb:hover{background:var(--color-gray-500)}.MainLayout-module__sidebar___popPm.MainLayout-module__collapsed___go2J1 .MainLayout-module__logo___xJn8P{padding:var(--spacing-md) var(--spacing-sm)}.MainLayout-module__logo___xJn8P{display:flex;align-items:center;justify-content:center;height:var(--header-height);padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--border-secondary);margin-bottom:var(--spacing-sm);background:var(--bg-primary)}.MainLayout-module__logo___xJn8P .MainLayout-module__logoText___iXtCq{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-primary);white-space:nowrap}.MainLayout-module__logo___xJn8P .MainLayout-module__logoTextCollapsed___0IglE{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-primary)}.MainLayout-module__menu___n4Ijv{border:none!important;background:transparent!important}.MainLayout-module__menu___n4Ijv .ant-menu-item{margin:0 var(--spacing-sm);border-radius:var(--border-radius-md)!important;height:44px;line-height:44px}.MainLayout-module__menu___n4Ijv .ant-menu-item:hover{background-color:var(--color-primary-light)!important;color:var(--color-primary)!important}.MainLayout-module__menu___n4Ijv .ant-menu-item.ant-menu-item-selected{background-color:var(--color-primary)!important;color:var(--color-white)!important}.MainLayout-module__menu___n4Ijv .ant-menu-item.ant-menu-item-selected:after{display:none}.MainLayout-module__menu___n4Ijv .ant-menu-item.ant-menu-item-selected .anticon{color:var(--color-white)!important}.MainLayout-module__menu___n4Ijv .ant-menu-item-icon{font-size:var(--font-size-md)}.MainLayout-module__mainContent___Wx8Fe{background:var(--bg-layout)}.MainLayout-module__header___wxNKj{display:flex;align-items:center;justify-content:space-between;background:var(--bg-primary)!important;border-bottom:1px solid var(--border-secondary);box-shadow:var(--shadow-sm);padding:0 var(--spacing-lg);height:var(--header-height);position:sticky;top:0;z-index:var(--z-index-sticky)}.MainLayout-module__headerLeft___ElOOL{display:flex;align-items:center;justify-content:flex-start}.MainLayout-module__headerRight___Mzr7E{display:flex;align-items:center;justify-content:flex-end}.MainLayout-module__toggleButton___y9Ggm{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--border-radius-md);color:var(--text-primary);font-size:var(--font-size-md);transition:all var(--transition-fast)}.MainLayout-module__toggleButton___y9Ggm:hover{background-color:var(--color-gray-100);color:var(--color-primary)}.MainLayout-module__toggleButton___y9Ggm:focus{background-color:var(--color-gray-100);color:var(--color-primary)}.MainLayout-module__notificationButton___6bN3n{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--border-radius-md);color:var(--text-secondary);font-size:var(--font-size-md);transition:all var(--transition-fast)}.MainLayout-module__notificationButton___6bN3n:hover{background-color:var(--color-gray-100);color:var(--color-primary)}.MainLayout-module__userInfo___W8Xms{display:flex;align-items:center;justify-content:flex-start;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius-md);cursor:pointer;transition:background-color var(--transition-fast)}.MainLayout-module__userInfo___W8Xms:hover{background-color:var(--color-gray-100)}.MainLayout-module__userInfo___W8Xms .MainLayout-module__userName___pCAUz{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary)}@media(max-width:767px){.MainLayout-module__userInfo___W8Xms .MainLayout-module__userName___pCAUz{display:none}}.MainLayout-module__content___Ny6Zi{padding:var(--spacing-lg);min-height:calc(100vh - var(--header-height))}@media(max-width:767px){.MainLayout-module__content___Ny6Zi{padding:var(--spacing-md)}}.MainLayout-module__contentInner___E7vZl{max-width:var(--content-max-width);margin:0 auto;width:100%}@media(max-width:767px){.MainLayout-module__sidebar___popPm{position:fixed!important;height:100vh;z-index:var(--z-index-modal)}.MainLayout-module__sidebar___popPm:not(.MainLayout-module__collapsed___go2J1){box-shadow:var(--shadow-lg)}.MainLayout-module__header___wxNKj{padding:0 var(--spacing-md)}.MainLayout-module__mainContent___Wx8Fe{margin-left:0!important}}@media(min-width:768px){.MainLayout-module__content___Ny6Zi{padding:var(--spacing-xl)}}@media(max-width:767px){.MainLayout-module__sidebar___popPm:not(.MainLayout-module__collapsed___go2J1):before{content:"";position:fixed;inset:0;background:#00000073;z-index:-1;animation:MainLayout-module__fadeIn___shto- var(--transition-normal)}}@keyframes MainLayout-module__fadeIn___shto-{0%{opacity:0}to{opacity:1}}.ant-layout-sider-children{display:flex;flex-direction:column}.ant-badge-count{font-size:var(--font-size-xs);min-width:16px;height:16px;line-height:16px;border-radius:8px}.ant-dropdown .ant-dropdown-menu{border-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg);border:1px solid var(--border-secondary);padding:var(--spacing-sm)}.ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-item{border-radius:var(--border-radius-md);padding:var(--spacing-sm) var(--spacing-md)}.ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-item:hover{background-color:var(--color-gray-100)}.ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-item-danger:hover{background-color:var(--color-error-light);color:var(--color-error)}:root{--color-primary: #1890ff;--color-primary-hover: #40a9ff;--color-primary-active: #096dd9;--color-primary-light: #e6f7ff;--color-success: #52c41a;--color-success-light: #f6ffed;--color-warning: #faad14;--color-warning-light: #fffbe6;--color-error: #ff4d4f;--color-error-light: #fff2f0;--color-info: #1890ff;--color-info-light: #e6f7ff;--color-white: #ffffff;--color-black: #000000;--color-gray-50: #fafafa;--color-gray-100: #f5f5f5;--color-gray-200: #f0f0f0;--color-gray-300: #d9d9d9;--color-gray-400: #bfbfbf;--color-gray-500: #8c8c8c;--color-gray-600: #595959;--color-gray-700: #434343;--color-gray-800: #262626;--color-gray-900: #1f1f1f;--bg-primary: #ffffff;--bg-secondary: #fafafa;--bg-tertiary: #f5f5f5;--bg-layout: #f0f2f5;--text-primary: rgba(0, 0, 0, .88);--text-secondary: rgba(0, 0, 0, .65);--text-tertiary: rgba(0, 0, 0, .45);--text-quaternary: rgba(0, 0, 0, .25);--text-white: #ffffff;--border-primary: #d9d9d9;--border-secondary: #f0f0f0;--border-light: #f0f0f0;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-xxl: 48px;--border-radius-sm: 4px;--border-radius-md: 6px;--border-radius-lg: 8px;--border-radius-xl: 12px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .03), 0 1px 6px -1px rgba(0, 0, 0, .02);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-card: 0 1px 2px 0 rgba(0, 0, 0, .03), 0 1px 6px -1px rgba(0, 0, 0, .02), 0 2px 4px 0 rgba(0, 0, 0, .02);--z-index-dropdown: 1050;--z-index-sticky: 1020;--z-index-fixed: 1030;--z-index-modal-backdrop: 1040;--z-index-modal: 1050;--z-index-popover: 1060;--z-index-tooltip: 1070;--transition-fast: .1s ease;--transition-normal: .2s ease;--transition-slow: .3s ease;--transition-bounce: .3s cubic-bezier(.68, -.55, .265, 1.55);--header-height: 64px;--sidebar-width: 256px;--sidebar-collapsed-width: 80px;--content-max-width: 1200px;--breakpoint-xs: 480px;--breakpoint-sm: 576px;--breakpoint-md: 768px;--breakpoint-lg: 992px;--breakpoint-xl: 1200px;--breakpoint-xxl: 1600px;--font-family-primary: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-family-mono: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace;--font-size-xs: 12px;--font-size-sm: 14px;--font-size-md: 16px;--font-size-lg: 18px;--font-size-xl: 20px;--font-size-xxl: 24px;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}*,*:before,*:after{box-sizing:border-box}*{margin:0;padding:0}html{height:100%;font-size:14px}body{height:100%;font-family:var(--font-family-primary);font-size:var(--font-size-sm);line-height:var(--line-height-normal);color:var(--text-primary);background-color:var(--bg-layout);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{height:100%}button{background:none;border:none;cursor:pointer;font:inherit}a{color:inherit;text-decoration:none}ul,ol{list-style:none}table{border-collapse:collapse;border-spacing:0}input,textarea,select{font:inherit;color:inherit}*:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}h1,h2,h3,h4,h5,h6{margin:0;font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:var(--text-primary)}h1{font-size:var(--font-size-xxl);font-weight:var(--font-weight-bold)}h2{font-size:var(--font-size-xl)}h3{font-size:var(--font-size-lg)}h4{font-size:var(--font-size-md);font-weight:var(--font-weight-medium)}h5{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}h6{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:.5px}p{margin:0 0 var(--spacing-md) 0;font-size:var(--font-size-sm);line-height:var(--line-height-normal);color:var(--text-primary)}p:last-child{margin-bottom:0}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-hover);text-decoration:underline}a:active{color:var(--color-primary-active)}ul,ol{margin:0 0 var(--spacing-md) 0;padding-left:var(--spacing-lg)}ul li,ol li{margin-bottom:var(--spacing-xs);font-size:var(--font-size-sm);line-height:var(--line-height-normal);color:var(--text-primary)}ul:last-child,ol:last-child{margin-bottom:0}code{font-family:var(--font-family-mono);font-size:calc(var(--font-size-sm) * .9);background:var(--color-gray-100);color:var(--color-error);padding:2px 4px;border-radius:var(--border-radius-sm)}pre{font-family:var(--font-family-mono);font-size:var(--font-size-sm);background:var(--color-gray-100);color:var(--text-primary);padding:var(--spacing-md);border-radius:var(--border-radius-md);overflow-x:auto;margin:0 0 var(--spacing-md) 0}pre code{background:none;color:inherit;padding:0}blockquote{margin:var(--spacing-lg) 0;padding:var(--spacing-md) var(--spacing-lg);border-left:4px solid var(--color-primary);background:var(--bg-secondary);border-radius:0 var(--border-radius-md) var(--border-radius-md) 0}blockquote p{font-style:italic;color:var(--text-secondary)}blockquote p:last-child{margin-bottom:0}small{font-size:var(--font-size-xs);color:var(--text-secondary)}strong,b{font-weight:var(--font-weight-semibold)}em,i{font-style:italic}u{text-decoration:underline;text-decoration-color:var(--color-primary)}s,del{text-decoration:line-through;color:var(--text-tertiary)}mark{background:var(--color-warning-light);color:var(--text-primary);padding:1px 2px;border-radius:2px}hr{border:none;height:1px;background:var(--border-primary);margin:var(--spacing-xl) 0}.text-xs{font-size:var(--font-size-xs)!important}.text-sm{font-size:var(--font-size-sm)!important}.text-md{font-size:var(--font-size-md)!important}.text-lg{font-size:var(--font-size-lg)!important}.text-xl{font-size:var(--font-size-xl)!important}.text-xxl{font-size:var(--font-size-xxl)!important}.font-normal{font-weight:var(--font-weight-normal)!important}.font-medium{font-weight:var(--font-weight-medium)!important}.font-semibold{font-weight:var(--font-weight-semibold)!important}.font-bold{font-weight:var(--font-weight-bold)!important}.text-primary{color:var(--text-primary)!important}.text-secondary{color:var(--text-secondary)!important}.text-tertiary{color:var(--text-tertiary)!important}.text-success{color:var(--color-success)!important}.text-warning{color:var(--color-warning)!important}.text-error{color:var(--color-error)!important}.text-info{color:var(--color-info)!important}.line-height-tight{line-height:var(--line-height-tight)!important}.line-height-normal{line-height:var(--line-height-normal)!important}.line-height-relaxed{line-height:var(--line-height-relaxed)!important}.text-ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.text-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}.text-clamp-3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}@media(max-width:767px){h1{font-size:var(--font-size-xl)}h2{font-size:var(--font-size-lg)}h3{font-size:var(--font-size-md)}}body{font-family:var(--font-family-primary);background-color:var(--bg-layout);color:var(--text-primary);min-height:100vh}:global .ant-card{border-radius:var(--border-radius-lg)!important;box-shadow:var(--shadow-card)!important;border:1px solid var(--border-secondary)!important}:global .ant-card .ant-card-head{border-bottom:1px solid var(--border-secondary)!important}:global .ant-card .ant-card-head .ant-card-head-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);line-height:var(--line-height-normal);color:var(--text-primary);padding:var(--spacing-md) 0}:global .ant-card .ant-card-body{padding:var(--spacing-lg)!important}@media(max-width:767px){:global .ant-card .ant-card-body{padding:var(--spacing-md)!important}}:global .ant-btn{border-radius:var(--border-radius-md)!important;font-weight:var(--font-weight-medium)!important;transition:all var(--transition-fast)!important;height:auto;padding:var(--spacing-sm) var(--spacing-md)!important}:global .ant-btn.ant-btn-primary{background:var(--color-primary)!important;border-color:var(--color-primary)!important}:global .ant-btn.ant-btn-primary:hover{background:var(--color-primary-hover)!important;border-color:var(--color-primary-hover)!important}:global .ant-btn.ant-btn-primary:active{background:var(--color-primary-active)!important;border-color:var(--color-primary-active)!important}:global .ant-btn.ant-btn-text:hover{background:var(--color-gray-100)!important}:global .ant-input{border-radius:var(--border-radius-md)!important;border-color:var(--border-primary)!important}:global .ant-input:hover{border-color:var(--color-primary-hover)!important}:global .ant-input:focus{border-color:var(--color-primary)!important;box-shadow:0 0 0 2px var(--color-primary-light)!important}:global .ant-select .ant-select-selector{border-radius:var(--border-radius-md)!important;border-color:var(--border-primary)!important}:global .ant-select .ant-select-selector:hover{border-color:var(--color-primary-hover)!important}:global .ant-select.ant-select-focused .ant-select-selector{border-color:var(--color-primary)!important;box-shadow:0 0 0 2px var(--color-primary-light)!important}:global .ant-table .ant-table-thead>tr>th{background:var(--bg-secondary)!important;border-bottom:1px solid var(--border-secondary)!important;font-weight:var(--font-weight-semibold)!important;color:var(--text-primary)!important}:global .ant-table .ant-table-tbody>tr>td{border-bottom:1px solid var(--border-secondary)!important}:global .ant-table .ant-table-tbody>tr:hover>td{background:var(--bg-secondary)!important}:global .ant-modal .ant-modal-content{border-radius:var(--border-radius-lg)!important;box-shadow:var(--shadow-lg)!important}:global .ant-modal .ant-modal-header{border-bottom:1px solid var(--border-secondary)!important;border-radius:var(--border-radius-lg) var(--border-radius-lg) 0 0!important}:global .ant-modal .ant-modal-header .ant-modal-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:var(--text-primary)}:global .ant-modal .ant-modal-body{padding:var(--spacing-lg)!important}:global .ant-modal .ant-modal-footer{border-top:1px solid var(--border-secondary)!important;padding:var(--spacing-md) var(--spacing-lg)!important}:global .ant-dropdown .ant-dropdown-menu{border-radius:var(--border-radius-lg)!important;box-shadow:var(--shadow-lg)!important;border:1px solid var(--border-secondary)!important;padding:var(--spacing-sm)!important}:global .ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-item{border-radius:var(--border-radius-md)!important;padding:var(--spacing-sm) var(--spacing-md)!important;margin:2px 0!important}:global .ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-item:hover{background-color:var(--color-gray-100)!important}:global .ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-item-danger:hover{background-color:var(--color-error-light)!important;color:var(--color-error)!important}:global .ant-pagination .ant-pagination-item{border-radius:var(--border-radius-md)!important}:global .ant-pagination .ant-pagination-item.ant-pagination-item-active{background:var(--color-primary)!important;border-color:var(--color-primary)!important}:global .ant-pagination .ant-pagination-item.ant-pagination-item-active a{color:var(--color-white)!important}:global .ant-pagination .ant-pagination-prev .ant-pagination-item-link,:global .ant-pagination .ant-pagination-next .ant-pagination-item-link{border-radius:var(--border-radius-md)!important}:global .ant-tag{border-radius:var(--border-radius-sm)!important;padding:2px var(--spacing-sm)!important;font-size:var(--font-size-xs)!important;font-weight:var(--font-weight-medium)!important}:global .ant-badge-count{font-size:var(--font-size-xs)!important;min-width:18px!important;height:18px!important;line-height:18px!important;border-radius:9px!important;box-shadow:0 0 0 1px var(--color-white)!important}:global .ant-notification .ant-notification-notice{border-radius:var(--border-radius-lg)!important;box-shadow:var(--shadow-lg)!important}:global .ant-message .ant-message-notice .ant-message-notice-content{border-radius:var(--border-radius-lg)!important;box-shadow:var(--shadow-md)!important}:global .ant-tooltip .ant-tooltip-inner{border-radius:var(--border-radius-md)!important;background:var(--color-gray-800)!important;color:var(--color-white)!important}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:var(--spacing-xs)!important}.mb-2{margin-bottom:var(--spacing-sm)!important}.mb-3{margin-bottom:var(--spacing-md)!important}.mb-4{margin-bottom:var(--spacing-lg)!important}.mb-5{margin-bottom:var(--spacing-xl)!important}.mt-0{margin-top:0!important}.mt-1{margin-top:var(--spacing-xs)!important}.mt-2{margin-top:var(--spacing-sm)!important}.mt-3{margin-top:var(--spacing-md)!important}.mt-4{margin-top:var(--spacing-lg)!important}.mt-5{margin-top:var(--spacing-xl)!important}.p-0{padding:0!important}.p-1{padding:var(--spacing-xs)!important}.p-2{padding:var(--spacing-sm)!important}.p-3{padding:var(--spacing-md)!important}.p-4{padding:var(--spacing-lg)!important}.p-5{padding:var(--spacing-xl)!important}@media(max-width:767px){.hide-mobile{display:none!important}}@media(min-width:768px){.hide-tablet,.show-mobile{display:none!important}}@media(min-width:992px){.hide-desktop{display:none!important}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{transform:translate(-100%)}to{transform:translate(0)}}.fade-in{animation:fadeIn var(--transition-normal) ease-out}.slide-in{animation:slideIn var(--transition-normal) ease-out}.loading{background:linear-gradient(90deg,var(--color-gray-200) 25%,var(--color-gray-100) 50%,var(--color-gray-200) 75%);background-size:200% 100%;animation:loading 1.5s infinite;border-radius:var(--border-radius-md);height:20px}.loading.loading-large{height:40px}.loading.loading-small{height:16px}
