*{margin:0;padding:0;box-sizing:border-box}html,body,#app{width:100%;height:100%;font-family:-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-size:14px;color:#000000d9;background-color:#f0f2f5}a{color:#1890ff;text-decoration:none}a:hover{color:#0076e4}img{max-width:100%;height:auto}ul,ol{list-style:none}input,button,textarea,select{font-family:inherit;font-size:inherit}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#0003;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#0000004d}.page-container{padding:24px;background-color:#f0f2f5;min-height:calc(100vh - 56px)}.card-container{background-color:#fff;border-radius:4px;box-shadow:0 2px 8px #00000014;padding:24px;margin-bottom:16px}.search-form{margin-bottom:16px;padding:16px;background-color:#fff;border-radius:4px}.table-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.table-toolbar .toolbar-left,.table-toolbar .toolbar-right{display:flex;gap:8px}.status-tag.success{color:#52c41a}.status-tag.warning{color:#faad14}.status-tag.error{color:#f5222d}.status-tag.info{color:#1890ff}.form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:24px;padding-top:16px;border-top:1px solid #d9d9d9}.text-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flex{display:flex}.flex-center{display:flex;justify-content:center;align-items:center}.flex-between{display:flex;justify-content:space-between;align-items:center}.flex-column{display:flex;flex-direction:column}.mt-8{margin-top:8px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.mb-8{margin-bottom:8px}.mb-16{margin-bottom:16px}.mb-24{margin-bottom:24px}.ml-8{margin-left:8px}.mr-8{margin-right:8px}.p-16{padding:16px}.p-24{padding:24px}.fade-enter-active,.fade-leave-active{transition:opacity .3s ease}.fade-enter-from,.fade-leave-to{opacity:0}.slide-enter-active,.slide-leave-active{transition:transform .3s ease}.slide-enter-from{transform:translate(100%)}.slide-leave-to{transform:translate(-100%)}.zoom-enter-active,.zoom-leave-active{transition:transform .3s ease,opacity .3s ease}.zoom-enter-from,.zoom-leave-to{transform:scale(.9);opacity:0}.list-enter-active,.list-leave-active{transition:all .5s ease}.list-enter-from,.list-leave-to{opacity:0;transform:translateY(30px)}
