:root{
    font-family: -apple-system, BlinkMacSystemFont, system-ui, "PingFang SC", "Microsoft YaHei UI", "Microsoft YaHei", "Source Han Sans CN", "Noto Sans CJK SC", sans-serif;
    /* Element Plus 变量映射 */
    --el-color-primary: var(--td-color-primary);
    --el-color-danger: var(--td-color-danger);
    --el-color-error: var(--td-color-error);
    --el-color-warning: var(--td-color-warning);
    --el-color-success: var(--td-color-success);
    --el-color-info: var(--td-color-info);
    /* 色阶：antd @ant-design/colors generate 算法，见 td.css --td-color-*-N */
    --el-color-primary-light-3: var(--td-color-primary-5);
    --el-color-primary-light-5: var(--td-color-primary-4);
    --el-color-primary-light-7: var(--td-color-primary-3);
    --el-color-primary-light-8: var(--td-color-primary-2);
    --el-color-primary-light-9: var(--td-color-primary-1);
    --el-color-primary-dark-2: var(--td-color-primary-7);
    --el-color-primary-dark-5: var(--td-color-primary-8);
    --el-color-success-light-9: var(--td-color-success-1);
    --el-color-success-light-8: var(--td-color-success-2);
    --el-color-success-light-7: var(--td-color-success-3);
    --el-color-success-light-5: var(--td-color-success-4);
    --el-color-success-light-3: var(--td-color-success-5);
    --el-color-success-dark-2: var(--td-color-success-7);
    --el-color-success-dark-5: var(--td-color-success-8);
    --el-color-warning-light-9: var(--td-color-warning-1);
    --el-color-warning-light-8: var(--td-color-warning-2);
    --el-color-warning-light-7: var(--td-color-warning-3);
    --el-color-warning-light-5: var(--td-color-warning-4);
    --el-color-warning-light-3: var(--td-color-warning-5);
    --el-color-warning-dark-2: var(--td-color-warning-7);
    --el-color-warning-dark-5: var(--td-color-warning-8);
    --el-color-danger-light-9: var(--td-color-danger-1);
    --el-color-danger-light-8: var(--td-color-danger-2);
    --el-color-danger-light-7: var(--td-color-danger-3);
    --el-color-danger-light-5: var(--td-color-danger-4);
    --el-color-danger-light-3: var(--td-color-danger-5);
    --el-color-danger-dark-2: var(--td-color-danger-7);
    --el-color-danger-dark-5: var(--td-color-danger-8);
    --el-color-error-light-9: var(--td-color-error-1);
    --el-color-error-light-8: var(--td-color-error-2);
    --el-color-error-light-7: var(--td-color-error-3);
    --el-color-error-light-5: var(--td-color-error-4);
    --el-color-error-light-3: var(--td-color-error-5);
    --el-color-error-dark-2: var(--td-color-error-7);
    --el-color-error-dark-5: var(--td-color-error-8);
    /* --el-color-info-light-9: var(--td-color-info-1);
    --el-color-info-light-8: var(--td-color-info-2);
    --el-color-info-light-7: var(--td-color-info-3);
    --el-color-info-light-5: var(--td-color-info-4);
    --el-color-info-light-3: var(--td-color-info-5);
    --el-color-info-dark-2: var(--td-color-info-7);
    --el-color-info-dark-5: var(--td-color-info-8); */
    --el-text-color-primary: var(--td-text-color-primary);
    --el-text-color-regular: var(--td-text-color-regular);
    --el-text-color-secondary: var(--td-text-color-secondary);
    --el-text-color-placeholder: var(--td-text-color-placeholder);
    --el-text-color-disabled: var(--td-text-color-disabled);
    --el-bg-color: var(--td-bg-color);
    --el-bg-color-page: var(--td-bg-color-page);
    --el-bg-color-overlay: var(--td-bg-color-overlay);
    --el-border-color: var(--td-border-color);
    --el-border-color-hover: #c0c4cc;
    --el-border-width: 1px;
    --el-border-style: solid;
    --el-border: 1px solid #dcdfe6;
    --el-fill-color: #f0f2f5;
    --el-fill-color-light: #f5f7fa;
    --el-fill-color-lighter: #fafafa;
    --el-fill-color-extra-light: #fafcff;
    --el-fill-color-dark: #ebedf0;
    --el-fill-color-darker: #e6e8eb;
    --el-fill-color-blank: #ffffff;
    --el-font-size-base: var(--td-font-size-base);
    --el-component-size-small: var(--td-spacing-lg);
    --el-component-size: var(--td-spacing-xl);
    --el-component-size-large: var(--td-spacing-xxl);
    --el-border-radius-base: var(--td-border-radius-input);
    --el-border-radius-small: var(--td-border-radius-input);
    --el-border-radius-round: var(--td-border-radius-button);
    --el-box-shadow: 0px 12px 32px 4px rgba(0, 0, 0, .04), 0px 8px 20px rgba(0, 0, 0, .08);
    --el-box-shadow-light: 0px 0px 12px rgba(0, 0, 0, .12);
    --el-box-shadow-lighter: 0px 0px 6px rgba(0, 0, 0, .12);
    --el-box-shadow-dark: 0px 16px 48px 16px rgba(0, 0, 0, .08), 0px 12px 32px rgba(0, 0, 0, .12), 0px 8px 16px -8px rgba(0, 0, 0, .16);
    --el-disabled-bg-color: #f5f7fa;
    --el-disabled-text-color: #a8abb2;
    --el-disabled-border-color: #e4e7ed;
    --el-overlay-color: rgba(0, 0, 0, .8);
    --el-overlay-color-light: rgba(0, 0, 0, .7);
    --el-overlay-color-lighter: rgba(0, 0, 0, .5);
    --el-mask-color: rgba(255, 255, 255, .9);
    --el-mask-color-extra-light: rgba(255, 255, 255, .3);
    --el-svg-monochrome-grey: #dcdfe6;
    --el-empty-image-width:var(--td-empty-image-width);
}
* {
    margin: 0;
    padding: 0;
}
h4,h5{
    margin: 15px 0px;
}
::-webkit-scrollbar{
    width: 7px;
    height: 7px;
}
::-webkit-scrollbar-track{
    background-color: transparent;
    border-left: 2px solid transparent;
}
::-webkit-scrollbar-thumb{
    background-color: #d7d7d7;
    border-radius: 6px;
    border-left: 2px solid transparent;
}

:focus-visible{
    outline: none;
}
html,
body,
#root{
    width: 100%;
    height: 100%;
    overflow: hidden;
}
#app{
    width: 100%;
    height: 100%;
    overflow: auto;
}
micro-app, micro-app-body{
 height: 100%;   
}
[hidden]{
    display: none !important;
}
[class*=" el-icon-"], [class^=el-icon-] {
    font-style: normal;
    font-weight: 400;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    vertical-align: baseline;
    display: inline-block;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.el-message {
    z-index: 4000 !important;
}
.td-el-menu.el-menu{
    border-right: 0px;
    height: 100%;
}
.td-el-menu.el-menu .el-menu-item{
    height: 40px;
    line-height: 40px;
    border-radius: 4px;
}
.td-el-menu.el-menu .el-sub-menu__title{
    height: 40px;
    line-height: 40px;
    border-radius: 4px;
}
.td-el-menu.el-menu .el-menu-item.is-active{
    background-color: var(--el-menu-hover-bg-color);
    color: var(--el-text-color-regular);
}
.el-sub-menu [class^=el-icon-] {
    vertical-align: middle;
    margin-right: 5px;
    width: 24px;
    text-align: center;
    font-size: 18px;
}
.el-container{
    height: 100% !important;
}
.el-header,
.el-aside,
.el-main,
.el-footer{
    background-color: var(--el-bg-color);
}
.el-aside{
    padding: 15px 15px;
}
.el-header{
    height: auto !important;
    margin-bottom: 10px;
}
.el-aside{
    width: 240px;
    /* margin-right: 15px; */
    border-right: 1px solid var(--el-border-color);
}
.td-el-aside-mini.el-aside{
    width: 200px;
}
.td-el-aside-large.el-aside{
    width: 300px;
}
.td-el-aside-larger.el-aside{
    width: 350px;
}
.el-footer{
    height: auto;
    text-align: center;
}
.el-form-footer{
    text-align: center;
}
.el-form-tip{
    color: #999;
}
.el-form .el-select.el-select-default{
    min-width: 200px;
}
.el-select--extra-large .el-select__wrapper {
    min-height: 80px;
    display: block;
}
.el-tree__empty-block{
    min-height: 0px;
}
.el-drawer__header{
    margin-bottom: 10px !important;
}

/*树形高度UI标准*/
.el-tree-node__content{
    height: 40px !important;
    line-height: 40px !important;
    border-radius: 4px;
}
.el-tree-node__content:hover {
    background-color: var(--el-menu-hover-bg-color) !important;
}


/*通用选择器*/
.td-selector{
    position: relative;
    width: 100%;
    overflow: hidden;
    min-width: 200px;
}
.td-selector .el-select{
    min-width: auto;
}
.td-selector .td-selector-left{
    display: inline-block;
    vertical-align: top;
    border-radius: 2px;
    min-height: 30px;
    width: 100%;
}
.td-selector .td-selector-left .el-select{
    padding-right: 50px;
}
.td-selector .td-selector-right{
    display: inline-block;
    width: auto;
    position: absolute;
    top: 0px;
    right: 5px;    
}
.td-selector .td-selector-right .el-icon {
    cursor: pointer;
    font-size: 16px;
    height: 32px;
    width: 26px;
    color: var(--el-text-color-regular);
}
.td-selector .el-select__suffix{
    width: 14px;
}
.td-selector-list-item {
    display: inline-block;
    min-width: 180px;
}
.td-selector-options{
    display: none !important;
}
.td-select-popper{
    width: 100%;
    left: 0px !important;
}
.td-select-popper-max-width{
    max-width: 800px;
}

/*通用列表*/
.td-list{
    list-style:none;
}
.td-list .td-list-item{
    position: relative;
    border: 1px solid var(--el-border-color);
    padding: 5px 10px;
    cursor: pointer;
    border-radius: 0px;
    line-height: 22px;
    white-space: nowrap;
    font-size: 14px;
    margin-top: -1px;
    overflow: hidden;
    text-overflow: ellipsis;
}
.td-list .td-list-item:first-child{
    margin-top: 0px;
}
.td-list .td-list-item-active{
    background-color: var(--el-menu-hover-bg-color);
}

/*通用树形*/
.td-tree-node-actions{
    display: none;
    margin-left: auto;
    margin-right: 8px;
}
.el-tree-node__content:hover > .td-tree-node-actions{
    display: inline-block;
}
.td-tree-node-icon{
    margin-right: 5px;
}
.td-tree-node-label{
    width: 80%;
    display: inline-block;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    vertical-align: bottom;
}
/*通用工作台卡片*/
.td-card{
    height: 100%;
    border: 1px solid var(--td-border-color);
    background-color: var(--td-bg-color);
    overflow: hidden;
    box-shadow: var(--td-box-shadow-card);
    border-radius: var(--td-border-radius-card);
    box-sizing: border-box;
}
.td-card .td-card-header{
    padding: 15px 18px;
    font-size: var(--td-font-size-title-secondary);
}
.td-card .td-card-header .td-card-header-icon{
    display: inline-block;
    vertical-align: middle;
    margin-right: 8px;
    line-height: 20px;
}
.td-card .td-card-header .td-card-header-icon img{
    width: 20px;
    height: 20px;
}
.td-card .td-card-header .td-card-header-icon-more{
    float: right;
    display: inline-block;
    width: 30px;
    height: 20px;
    cursor: pointer;
    vertical-align: middle;
    background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAAGXcA1uAAAABGdBTUEAALGPC/xhBQAAADhlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAAqACAAQAAAABAAAAGKADAAQAAAABAAAAGAAAAADB/VeXAAAAiElEQVRIDWNgoB+YPn36Y5Bt06ZN+w9j0812ZEtBbLpZTK5FQEd6AvEjkH5cbHLNHtVHwxAAJW1QhIGswMUGyTGBCBD4//+/DJCaiY8NkhsFoyEwPEOAEd1boHwDzRYgqcdZWVlyIAap4iA9IADPaxAuOM+lMTIyPgHyQXVSOrniMH2j9AgIAQBhjGA5I3YodAAAAABJRU5ErkJggg==') no-repeat center center;
}
.td-card .td-card-body{
    padding: 5px 18px 15px 18px;
    height: calc(100% - 51px - 20px);
}
