:root{--color-primary: #2563eb;--color-primary-hover: #1d4ed8;--color-primary-light: #dbeafe;--color-primary-bg: #eff6ff;--color-success: #10b981;--color-warning: #f59e0b;--color-danger: #ef4444;--color-purple: #8b5cf6;--color-cyan: #06b6d4;--color-pink: #ec4899;--color-bg: #f3f6fb;--color-bg-elevated: #ffffff;--color-text: #172033;--color-text-secondary: #5f6f86;--color-text-tertiary: #91a0b5;--color-border: #dfe7f1;--color-border-light: #edf2f7;--radius-sm: 6px;--radius-md: 7px;--radius-lg: 10px;--radius-xl: 16px;--shadow-xs: 0 1px 2px rgba(29, 78, 216, .035);--shadow-sm: 0 2px 8px rgba(32, 67, 123, .055);--shadow-md: 0 8px 20px rgba(32, 67, 123, .08);--shadow-lg: 0 10px 15px -3px rgba(15, 23, 42, .08), 0 4px 6px -4px rgba(15, 23, 42, .04);--shadow-xl: 0 20px 25px -5px rgba(15, 23, 42, .1), 0 8px 10px -6px rgba(15, 23, 42, .05);--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--font-sans: "Noto Sans SC", "Source Han Sans SC", "Noto Sans CJK SC", "思源黑体 CN", "思源黑体", "PingFang SC", "Microsoft YaHei", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--control-height: 36px;--control-height-sm: 32px;--control-height-lg: 40px}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--color-bg);color:var(--color-text);min-width:320px}button,input,textarea,select{font:inherit}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px;transition:background .2s}::-webkit-scrollbar-thumb:hover{background:#94a3b8}::-webkit-scrollbar-track{background:transparent}.page-fade-enter{opacity:0;transform:translateY(8px)}.page-fade-enter-active{opacity:1;transform:translateY(0);transition:opacity .3s ease,transform .3s ease}.page-content{animation:pageFadeIn .35s ease-out}@keyframes pageFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.ant-card{margin-bottom:0;border-radius:var(--radius-lg)!important;border-color:var(--color-border)!important;box-shadow:var(--shadow-xs);transition:box-shadow .2s ease,border-color .2s ease}.ant-card.ant-card-hoverable:hover{border-color:#cfdaea!important;box-shadow:var(--shadow-sm)}.ant-card-head{border-bottom-color:var(--color-border-light)!important;font-weight:600}.ant-card-head-title{font-size:15px!important;font-weight:600!important;color:var(--color-text)!important}.ant-statistic-title{font-size:13px!important;color:var(--color-text-secondary)!important;margin-bottom:4px!important}.ant-statistic-content{font-weight:600}.ant-table-thead>tr>th{background:#f6f8fc!important;font-weight:500!important;font-size:13px!important;color:var(--color-text-secondary)!important;border-bottom-color:var(--color-border)!important}.ant-table-tbody>tr>td{font-size:13px!important;border-bottom-color:var(--color-border-light)!important}.ant-table-tbody>tr:hover>td{background:#f2f6ff!important}.ant-btn{border-radius:var(--radius-md);min-height:var(--control-height);padding-inline:14px;font-size:14px}.ant-btn-sm{min-height:var(--control-height-sm);padding-inline:12px}.ant-btn-lg{min-height:var(--control-height-lg);padding-inline:16px}.ant-btn-primary{font-weight:600;box-shadow:0 3px 9px #2563eb29}.ant-input,.ant-input-affix-wrapper,.ant-input-password{border-radius:var(--radius-md)!important}.app-shell-menu.ant-menu-dark .ant-menu-item{border-radius:var(--radius-md);margin:4px 8px!important;width:calc(100% - 16px)!important}.app-shell-menu.ant-menu-dark .ant-menu-item .ant-menu-title-content{margin-inline-start:8px!important}.app-shell-menu.ant-menu-dark .ant-menu-item-group-title{padding:19px 20px 7px!important;color:#dbe8ff7a!important;font-size:11px!important;font-weight:500;letter-spacing:.06em;line-height:1}.app-shell-menu.ant-menu-dark .ant-menu-item-selected{background:#2f6fed!important;box-shadow:0 5px 14px #03164033;font-weight:600}.app-shell-menu.ant-menu-dark .ant-menu-item:hover:not(.ant-menu-item-selected){background:#ffffff13!important}.app-shell-sider{background:#1e293b!important}.app-shell-sider.ant-layout-sider-collapsed .ant-menu-item-group-title{height:14px;padding:10px 0 0!important;color:transparent!important}.app-shell-sider.ant-layout-sider-collapsed .app-shell-menu .ant-menu-item{margin-inline:10px!important;width:calc(100% - 20px)!important;padding-inline:calc(50% - 7px)!important}.app-shell-brand img{transition:transform .2s ease,box-shadow .2s ease}.app-shell-brand:hover img{transform:translateY(-1px)}.app-shell-header{border-bottom:1px solid #e4ebf5}.app-shell-collapse-trigger:hover{color:var(--color-primary)!important;background:#eef4ff!important}.app-shell-collapse-trigger{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:0;border-radius:8px;background:transparent;color:#64748b;font:inherit;font-size:18px;cursor:pointer;transition:color .2s ease,background-color .2s ease}.app-shell-collapse-trigger:focus-visible,.app-shell-user:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.app-shell-user:hover{background:#f3f6fb!important}.app-shell-content{width:auto;max-width:none}.zt-module-tabs>.ant-tabs-nav{margin:0 0 14px!important;padding:0 18px;overflow:hidden;background:#fff;border:1px solid #e1e8f2;border-radius:10px;box-shadow:var(--shadow-xs)}.zt-module-tabs>.ant-tabs-nav:before{border-bottom:0!important}.zt-module-tabs>.ant-tabs-nav .ant-tabs-tab{margin:0!important;padding:13px 0!important;font-size:13px;font-weight:500}.zt-module-tabs>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab{margin-left:32px!important}.zt-module-tabs>.ant-tabs-nav .ant-tabs-tab-btn,.zt-module-tabs>.ant-tabs-nav .ant-tabs-tab-btn>span{display:inline-flex;align-items:center;gap:7px}.zt-module-tabs>.ant-tabs-nav .ant-tabs-ink-bar{height:2px;border-radius:2px}.zt-filter-row,.wecom-filter-bar,.v2-filter-bar,.cop-filter-panel{gap:10px;padding:12px 14px!important;background:#f8fafc!important;border:1px solid #e4eaf2!important;border-radius:8px!important;box-shadow:none!important}.zt-filter-row{display:flex!important;align-items:center;flex-wrap:wrap;margin-bottom:16px!important}.ant-card.zt-filter-surface{background:#f8fafc!important;border-color:#e8edf3!important;border-radius:8px!important;box-shadow:none!important}.ant-card.zt-filter-surface>.ant-card-body{padding:12px 14px!important}.ant-dropdown-menu{border-radius:var(--radius-md)!important;box-shadow:var(--shadow-lg)!important}.ant-tag{border-radius:var(--radius-sm);font-weight:500}.ant-breadcrumb{font-size:13px}.ant-radio-button-wrapper{border-radius:0!important}.ant-radio-button-wrapper:first-child{border-radius:var(--radius-md) 0 0 var(--radius-md)!important}.ant-radio-button-wrapper:last-child{border-radius:0 var(--radius-md) var(--radius-md) 0!important}.stat-card{position:relative;overflow:hidden;border-radius:var(--radius-lg);background:var(--color-bg-elevated);box-shadow:var(--shadow-sm);transition:all .25s ease;cursor:default}.stat-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px)}.stat-card-icon{width:48px;height:48px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0}a{color:var(--color-primary);text-decoration:none;transition:color .2s}a:hover{color:var(--color-primary-hover)}@media(max-width:640px){.app-shell-header{height:56px!important;padding:0 12px!important}.app-shell-leading,.app-shell-meta{gap:8px!important}.app-shell-breadcrumb,.app-shell-time,.app-shell-separator{display:none!important}.app-shell-user{padding:2px!important}.app-shell-user .ant-avatar{width:30px!important;height:30px!important}.app-shell-user>div:last-child>div:last-child{display:none}.app-shell-content{width:auto;margin:12px!important}.zt-module-tabs>.ant-tabs-nav{padding-inline:12px}.zt-module-tabs>.ant-tabs-nav .ant-tabs-nav-wrap{overflow-x:auto}.zt-module-tabs>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab{margin-left:22px!important}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
