*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol;font-size:14px;line-height:1.5715;color:#000000d9;background-color:#fff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}#root{height:100%}.fade-enter{opacity:0;transform:translateY(10px)}.fade-enter-active{opacity:1;transform:translateY(0);transition:all .3s cubic-bezier(.215,.61,.355,1)}.fade-exit{opacity:1;transform:translateY(0)}.fade-exit-active{opacity:0;transform:translateY(-10px);transition:all .3s cubic-bezier(.55,.055,.675,.19)}.slide-up-enter{opacity:0;transform:translateY(20px)}.slide-up-enter-active{opacity:1;transform:translateY(0);transition:all .3s cubic-bezier(.215,.61,.355,1)}.slide-down-enter{opacity:0;transform:translateY(-20px)}.slide-down-enter-active{opacity:1;transform:translateY(0);transition:all .3s cubic-bezier(.215,.61,.355,1)}.slide-left-enter{opacity:0;transform:translate(20px)}.slide-left-enter-active{opacity:1;transform:translate(0);transition:all .3s cubic-bezier(.215,.61,.355,1)}.slide-right-enter{opacity:0;transform:translate(-20px)}.slide-right-enter-active{opacity:1;transform:translate(0);transition:all .3s cubic-bezier(.215,.61,.355,1)}.scale-enter{opacity:0;transform:scale(.9)}.scale-enter-active{opacity:1;transform:scale(1);transition:all .3s cubic-bezier(.12,.4,.29,1.46)}.scale-exit{opacity:1;transform:scale(1)}.scale-exit-active{opacity:0;transform:scale(.9);transition:all .15s cubic-bezier(.55,.055,.675,.19)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes bounce{0%,20%,53%,80%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1);transform:translateZ(0)}40%,43%{animation-timing-function:cubic-bezier(.755,.05,.855,.06);transform:translate3d(0,-30px,0)}70%{animation-timing-function:cubic-bezier(.755,.05,.855,.06);transform:translate3d(0,-15px,0)}90%{transform:translate3d(0,-4px,0)}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-10px)}20%,40%,60%,80%{transform:translate(10px)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes glow{0%,to{box-shadow:0 0 5px #1890ff4d}50%{box-shadow:0 0 20px #1890ff99}}.animate-spin{animation:spin 1s linear infinite}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.animate-bounce{animation:bounce 1s infinite}.animate-shake{animation:shake .5s ease-in-out}.animate-float{animation:float 3s ease-in-out infinite}.animate-glow{animation:glow 2s ease-in-out infinite}.hover-lift{transition:all .3s cubic-bezier(.215,.61,.355,1)}.hover-lift:hover{transform:translateY(-2px);box-shadow:0 8px 25px #00000026}.hover-scale{transition:transform .3s cubic-bezier(.215,.61,.355,1)}.hover-scale:hover{transform:scale(1.05)}.hover-rotate{transition:transform .3s cubic-bezier(.215,.61,.355,1)}.hover-rotate:hover{transform:rotate(5deg)}.hover-glow{transition:all .3s cubic-bezier(.215,.61,.355,1)}.hover-glow:hover{box-shadow:0 0 20px #1890ff66}.loading-dots{display:inline-block;position:relative;width:80px;height:80px}.loading-dots div{position:absolute;top:33px;width:13px;height:13px;border-radius:50%;background:#1890ff;animation-timing-function:cubic-bezier(0,1,1,0)}.loading-dots div:nth-child(1){left:8px;animation:loading-dots1 .6s infinite}.loading-dots div:nth-child(2){left:8px;animation:loading-dots2 .6s infinite}.loading-dots div:nth-child(3){left:32px;animation:loading-dots2 .6s infinite}.loading-dots div:nth-child(4){left:56px;animation:loading-dots3 .6s infinite}@keyframes loading-dots1{0%{transform:scale(0)}to{transform:scale(1)}}@keyframes loading-dots3{0%{transform:scale(1)}to{transform:scale(0)}}@keyframes loading-dots2{0%{transform:translate(0)}to{transform:translate(24px)}}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.page-transition-enter{opacity:0;transform:translate(30px)}.page-transition-enter-active{opacity:1;transform:translate(0);transition:all .3s cubic-bezier(.215,.61,.355,1)}.page-transition-exit{opacity:1;transform:translate(0)}.page-transition-exit-active{opacity:0;transform:translate(-30px);transition:all .3s cubic-bezier(.55,.055,.675,.19)}.modal-mask-enter{opacity:0}.modal-mask-enter-active{opacity:1;transition:opacity .3s cubic-bezier(.215,.61,.355,1)}.modal-mask-exit{opacity:1}.modal-mask-exit-active{opacity:0;transition:opacity .3s cubic-bezier(.55,.055,.675,.19)}.modal-content-enter{opacity:0;transform:scale(.7) translateY(-50px)}.modal-content-enter-active{opacity:1;transform:scale(1) translateY(0);transition:all .3s cubic-bezier(.12,.4,.29,1.46)}.modal-content-exit{opacity:1;transform:scale(1) translateY(0)}.modal-content-exit-active{opacity:0;transform:scale(.7) translateY(-50px);transition:all .15s cubic-bezier(.55,.055,.675,.19)}.drawer-enter{transform:translate(100%)}.drawer-enter-active{transform:translate(0);transition:transform .3s cubic-bezier(.215,.61,.355,1)}.drawer-exit{transform:translate(0)}.drawer-exit-active{transform:translate(100%);transition:transform .3s cubic-bezier(.55,.055,.675,.19)}.notification-enter{opacity:0;transform:translate(100%)}.notification-enter-active{opacity:1;transform:translate(0);transition:all .3s cubic-bezier(.215,.61,.355,1)}.notification-exit{opacity:1;transform:translate(0)}.notification-exit-active{opacity:0;transform:translate(100%);transition:all .3s cubic-bezier(.55,.055,.675,.19)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.modern-modal .ant-modal-content{border-radius:12px;box-shadow:0 3px 6px -4px #0000001f,0 6px 16px #00000014,0 9px 28px 8px #0000000d;overflow:hidden}.modern-modal .ant-modal-content .ant-modal-header{background:linear-gradient(135deg,#1890ff,#40a9ff);border-bottom:none;padding:24px 32px}.modern-modal .ant-modal-content .ant-modal-header .ant-modal-title{color:#fff;font-weight:600;font-size:16px;display:flex;align-items:center;gap:8px}.modern-modal .ant-modal-content .ant-modal-header .ant-modal-title .anticon{font-size:16px}.modern-modal .ant-modal-content .ant-modal-header .ant-modal-close{color:#fff;opacity:.8;transition:all .3s cubic-bezier(.215,.61,.355,1)}.modern-modal .ant-modal-content .ant-modal-header .ant-modal-close:hover{opacity:1;transform:scale(1.1)}.modern-modal .ant-modal-content .ant-modal-header .ant-modal-close .ant-modal-close-x{width:32px;height:32px;line-height:32px;font-size:16px}.modern-modal .ant-modal-content .ant-modal-body{padding:32px}.modern-modal .ant-modal-content .ant-modal-body .ant-form-item-label>label{font-weight:500;color:#1f1f1f}.modern-modal .ant-modal-content .ant-modal-footer{padding:24px 32px;border-top:1px solid #f0f0f0;background:#fff}.modern-modal .ant-modal-content .ant-modal-footer .ant-btn{border-radius:8px;font-weight:500}.modern-modal .ant-modal-content .ant-modal-footer .ant-btn:first-child{margin-right:8px}.modern-modal.dark .ant-modal-content{background:#1f1f1f}.modern-modal.dark .ant-modal-content .ant-modal-header{background:linear-gradient(135deg,#095cb5,#177ddc)}.modern-modal.dark .ant-modal-content .ant-modal-body{background:#1f1f1f}.modern-modal.dark .ant-modal-content .ant-modal-body .ant-form-item-label>label{color:#fff}.modern-modal.dark .ant-modal-content .ant-modal-body .ant-descriptions .ant-descriptions-item-label{color:#fff}.modern-modal.dark .ant-modal-content .ant-modal-body .ant-descriptions .ant-descriptions-item-content{color:#bfbfbf}.modern-modal.dark .ant-modal-content .ant-modal-footer{background:#1f1f1f;border-top-color:#434343}.ant-modal.zoom{animation-duration:.3s;animation-timing-function:cubic-bezier(.08,.82,.17,1)}.ant-modal.zoom-leave{animation-duration:.2s;animation-timing-function:cubic-bezier(.78,.14,.15,.86)}@media (max-width: 768px){.modern-modal .ant-modal{margin:16px;padding:0}.modern-modal .ant-modal .ant-modal-content .ant-modal-header{padding:16px 24px}.modern-modal .ant-modal .ant-modal-content .ant-modal-body{padding:24px}.modern-modal .ant-modal .ant-modal-content .ant-modal-footer{padding:16px 24px}}.ant-modal-confirm .ant-modal-body{padding:32px}.ant-modal-confirm .ant-modal-body .ant-modal-confirm-body .ant-modal-confirm-title{font-size:16px;font-weight:600;margin-bottom:16px;color:#1f1f1f}.ant-modal-confirm .ant-modal-body .ant-modal-confirm-body .ant-modal-confirm-content{font-size:14px;color:#000000d9;line-height:1.5715}.ant-modal-confirm .ant-modal-body .ant-modal-confirm-body .anticon{font-size:22px}.ant-modal-confirm .ant-modal-body .ant-modal-confirm-body .anticon.ant-modal-confirm-success{color:#52c41a}.ant-modal-confirm .ant-modal-body .ant-modal-confirm-body .anticon.ant-modal-confirm-error{color:#ff4d4f}.ant-modal-confirm .ant-modal-body .ant-modal-confirm-body .anticon.ant-modal-confirm-warning{color:#faad14}.ant-modal-confirm .ant-modal-body .ant-modal-confirm-body .anticon.ant-modal-confirm-info{color:#1890ff}.global-loading,.error-boundary{display:flex;align-items:center;justify-content:center;height:100vh;background-color:#fafafa}.error-boundary .error-content{text-align:center;padding:32px}.error-boundary .error-content .error-title{font-size:16px;font-weight:600;color:#ff4d4f;margin-bottom:16px}.error-boundary .error-content .error-message{color:#8c8c8c;margin-bottom:24px}.loading-page{display:flex;align-items:center;justify-content:center;height:100vh;background:linear-gradient(135deg,#1890ff,#096dd9)}.loading-page .ant-spin-dot{font-size:24px}.loading-page .ant-spin-text{color:#fff;font-size:16px;margin-top:16px;font-weight:500}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:#fafafa;border-radius:4px}::-webkit-scrollbar-thumb{background:#d9d9d9;border-radius:4px;transition:background .3s cubic-bezier(.215,.61,.355,1)}::-webkit-scrollbar-thumb:hover{background:#8c8c8c}.modern-card{border-radius:12px;box-shadow:0 3px 6px -4px #0000001f,0 6px 16px #00000014,0 9px 28px 8px #0000000d;transition:all .3s cubic-bezier(.215,.61,.355,1);background:#fff;border:1px solid #f0f0f0}.modern-card:hover{box-shadow:0 6px 16px -8px #00000014,0 9px 28px #0000000d,0 12px 48px 16px #00000008;transform:translateY(-2px)}.modern-button{border-radius:8px;font-weight:500;transition:all .3s cubic-bezier(.215,.61,.355,1)}.modern-button:hover{transform:translateY(-1px)}.modern-button.primary{background:#1890ff;border-color:#1890ff;color:#fff}.modern-button.primary:hover{background:#40a9ff;border-color:#40a9ff}.modern-button.primary:active{background:#096dd9;border-color:#096dd9}.container{max-width:1200px;margin:0 auto;padding:0 16px}@media (min-width: 768px){.container{padding:0 24px}}@media (min-width: 1024px){.container{padding:0 32px}}.modern-table .ant-table{border-radius:8px;overflow:hidden;box-shadow:0 3px 6px -4px #0000001f,0 6px 16px #00000014,0 9px 28px 8px #0000000d}.modern-table .ant-table .ant-table-thead>tr>th{background:#fafafa;border-bottom:1px solid #f0f0f0;font-weight:600;color:#1f1f1f;padding:16px 24px}.modern-table .ant-table .ant-table-tbody>tr>td{padding:16px 24px;border-bottom:1px solid #f0f0f0;transition:background-color .3s cubic-bezier(.215,.61,.355,1)}.modern-table .ant-table .ant-table-tbody>tr:hover>td{background-color:#e6f7ff}.modern-form .ant-form-item-label>label{font-weight:500;color:#1f1f1f}.modern-form .ant-input,.modern-form .ant-select-selector,.modern-form .ant-picker{border-radius:8px;transition:all .3s cubic-bezier(.215,.61,.355,1)}.modern-form .ant-input:hover,.modern-form .ant-select-selector:hover,.modern-form .ant-picker:hover{border-color:#40a9ff}.modern-form .ant-input:focus,.modern-form .ant-select-selector:focus,.modern-form .ant-picker:focus,.modern-form .ant-input.ant-input-focused,.modern-form .ant-select-selector.ant-input-focused,.modern-form .ant-picker.ant-input-focused,.modern-form .ant-input.ant-select-focused .ant-select-selector,.modern-form .ant-select-selector.ant-select-focused .ant-select-selector,.modern-form .ant-picker.ant-select-focused .ant-select-selector,.modern-form .ant-input.ant-picker-focused,.modern-form .ant-select-selector.ant-picker-focused,.modern-form .ant-picker.ant-picker-focused{border-color:#1890ff;box-shadow:0 0 0 2px #1890ff33}.flex{display:flex}.flex-center{display:flex;align-items:center;justify-content:center}.flex-between{display:flex;align-items:center;justify-content:space-between}.flex-column{display:flex;flex-direction:column}.mt-xs{margin-top:4px}.mt-sm{margin-top:8px}.mt-md{margin-top:16px}.mt-lg{margin-top:24px}.mt-xl{margin-top:32px}.mt-xxl{margin-top:48px}.mb-xs{margin-bottom:4px}.mb-sm{margin-bottom:8px}.mb-md{margin-bottom:16px}.mb-lg{margin-bottom:24px}.mb-xl{margin-bottom:32px}.mb-xxl{margin-bottom:48px}.ml-xs{margin-left:4px}.ml-sm{margin-left:8px}.ml-md{margin-left:16px}.ml-lg{margin-left:24px}.ml-xl{margin-left:32px}.ml-xxl{margin-left:48px}.mr-xs{margin-right:4px}.mr-sm{margin-right:8px}.mr-md{margin-right:16px}.mr-lg{margin-right:24px}.mr-xl{margin-right:32px}.mr-xxl{margin-right:48px}.p-xs{padding:4px}.p-sm{padding:8px}.p-md{padding:16px}.p-lg{padding:24px}.p-xl{padding:32px}.p-xxl{padding:48px}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-primary{color:#1890ff}.text-success{color:#52c41a}.text-warning{color:#faad14}.text-error{color:#ff4d4f}.text-secondary{color:#8c8c8c}.text-disabled{color:#bfbfbf}.text-inverse{color:#fff}.text-sm{font-size:12px}.text-base{font-size:14px}.text-lg{font-size:16px}.font-light{font-weight:300}.font-normal{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.fade-in{animation:fadeIn .3s cubic-bezier(.215,.61,.355,1)}.slide-up{animation:slideUp .3s cubic-bezier(.215,.61,.355,1)}.slide-down{animation:slideDown .3s cubic-bezier(.215,.61,.355,1)}.zoom-in{animation:zoomIn .3s cubic-bezier(.12,.4,.29,1.46)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes zoomIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.modern-tag{border-radius:8px;font-weight:500;font-size:12px;padding:4px 8px;border:none}.modern-tag.success{background-color:#52c41a1a;color:#52c41a}.modern-tag.warning{background-color:#faad141a;color:#faad14}.modern-tag.error{background-color:#ff4d4f1a;color:#ff4d4f}.modern-tag.info{background-color:#1890ff1a;color:#1890ff}.modern-tooltip .ant-tooltip-inner{background-color:#1f1f1f;border-radius:8px;font-size:12px;padding:4px 8px}.modern-tooltip .ant-tooltip-arrow:before{background-color:#1f1f1f}.modern-page-container{padding:24px;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);min-height:100vh;position:relative;overflow-x:hidden}.modern-page-container:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:radial-gradient(circle at 25% 25%,rgba(24,144,255,.1) 0%,transparent 50%),radial-gradient(circle at 75% 75%,rgba(82,196,26,.1) 0%,transparent 50%);pointer-events:none;z-index:0}.modern-page-container>*{position:relative;z-index:1}.modern-page-container .modern-card{margin-bottom:24px}.modern-page-container .modern-card:last-child{margin-bottom:0}.modern-pagination-wrapper{display:flex;justify-content:flex-end;align-items:center;padding:16px 24px;background-color:#fff;border-top:1px solid #f0f0f0}.modern-pagination-wrapper .ant-pagination{margin:0}.modern-pagination-wrapper .ant-pagination .ant-pagination-item{border-radius:8px;transition:all .3s cubic-bezier(.215,.61,.355,1)}.modern-pagination-wrapper .ant-pagination .ant-pagination-item:hover{border-color:#40a9ff}.modern-pagination-wrapper .ant-pagination .ant-pagination-item.ant-pagination-item-active{background-color:#1890ff;border-color:#1890ff}.modern-pagination-wrapper .ant-pagination .ant-pagination-item.ant-pagination-item-active a{color:#fff}.modern-pagination-wrapper .ant-pagination .ant-pagination-prev,.modern-pagination-wrapper .ant-pagination .ant-pagination-next{border-radius:8px;transition:all .3s cubic-bezier(.215,.61,.355,1)}.modern-pagination-wrapper .ant-pagination .ant-pagination-prev:hover,.modern-pagination-wrapper .ant-pagination .ant-pagination-next:hover{border-color:#40a9ff}
