.login-page[data-v-0f101e3e]{display:flex;justify-content:center;align-items:center;height:100vh;background:#f8f9fa;position:relative;overflow:hidden}.background-decoration[data-v-0f101e3e]{position:absolute;width:100%;height:100%;overflow:hidden}.circle[data-v-0f101e3e]{position:absolute;border-radius:50%;background:rgba(64,158,255,.03)}.circle-1[data-v-0f101e3e]{width:300px;height:300px;top:-100px;right:-100px}.circle-2[data-v-0f101e3e]{width:200px;height:200px;bottom:-80px;left:-80px;background:rgba(64,158,255,.02)}.circle-3[data-v-0f101e3e]{width:150px;height:150px;top:30%;left:10%;background:rgba(64,158,255,.01)}.login-container[data-v-0f101e3e]{width:100%;max-width:380px;padding:40px 30px;background:#fff;border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,.06);border:1px solid #ebeef5;position:relative;z-index:1}.login-header[data-v-0f101e3e]{text-align:center;margin-bottom:30px}.logo-wrapper[data-v-0f101e3e]{display:flex;justify-content:center;margin-bottom:20px}.logo-icon[data-v-0f101e3e]{width:60px;height:60px;background:#409eff;border-radius:12px;display:flex;align-items:center;justify-content:center}.logo-letter[data-v-0f101e3e]{font-size:28px;font-weight:600;color:#fff}.login-header h2[data-v-0f101e3e]{margin:0 0 8px 0;color:#303133;font-size:22px;font-weight:500}.subtitle[data-v-0f101e3e]{margin:0;color:#909399;font-size:13px}.login-form[data-v-0f101e3e]{margin-bottom:20px}.login-input[data-v-0f101e3e] .el-input__wrapper{border-radius:8px;box-shadow:0 1px 2px rgba(0,0,0,.02);border:1px solid #dcdfe6;transition:all .2s ease}.login-input[data-v-0f101e3e] .el-input__wrapper:hover{border-color:#c0c4cc}.login-input[data-v-0f101e3e] .el-input__wrapper.is-focus{border-color:#409eff;box-shadow:0 0 0 1px #409eff}.login-button[data-v-0f101e3e]{width:100%;height:42px;font-size:15px;background:#409eff;border:none;border-radius:8px;transition:all .2s ease;color:#fff}.login-button[data-v-0f101e3e]:hover{background:#66b1ff}.login-button[data-v-0f101e3e]:active{background:#3a8ee6}.login-button[data-v-0f101e3e] .el-button__loading{margin-right:8px}.login-footer[data-v-0f101e3e]{text-align:center;margin-top:20px}.login-footer p[data-v-0f101e3e]{margin:0;color:#c0c4cc;font-size:12px}*{box-sizing:border-box}*,body,html{margin:0;padding:0}a,a:focus,a:hover,body,button,button:focus,button:hover,html{outline:none}.ml-5{margin-left:5px}.long-text-tooltip{max-width:640px!important}.long-text-tooltip .el-popper__content{word-wrap:break-word;word-break:break-all;white-space:normal}.el-tag--mini{padding:0 3px}#app{font-family:Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#2c3e50}.main-layout{height:100vh}.main-header{background:#fff;box-shadow:0 2px 12px rgba(0,0,0,.15);padding:0;height:50px;z-index:1000}.header-content{height:100%;padding:0 10px}.header-content,.logo-section{display:flex;align-items:center}.logo-section{margin-right:20px}.logo-section.app{margin-right:auto}.logo{margin:0;color:#000;font-weight:600;font-size:18px;line-height:50px;letter-spacing:1px}.menu-toggle{width:24px;height:24px;background-color:#fff;border:1px solid #ebeef5;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:100;box-shadow:0 2px 8px rgba(0,0,0,.1)}.logo-section .logo{margin-left:10px}.header-main{flex:1;flex-direction:row;justify-content:space-between}.header-main,.user-section{display:flex;align-items:center}.user-section{gap:20px;color:#000}.user-section span.icon{width:28px;height:28px;background:#000;border-radius:6px;margin-right:6px}.el-dropdown-link{cursor:pointer;display:flex;align-items:center;color:#000}.main-container{height:calc(100vh - 60px)}.sidebar{background:#fff;box-shadow:2px 0 12px rgba(0,0,0,.08);border-right:1px solid #ebeef5;position:relative;transition:width .3s ease;height:100%}.dynamic-sidebar-menu{border-right:none;height:calc(100% - 40px);margin-top:40px}.app-sidebar .el-menu{border-right:none;height:calc(100% - 50px)}.app-sidebar-menu .el-menu-item,.app-sidebar-menu .el-sub-menu__title{height:40px;line-height:40px}.app-sidebar-menu>.el-menu-item:hover,.app-sidebar-menu>.el-sub-menu__title:hover{background-color:#f0f9ff}.app-sidebar-menu>.el-menu-item.is-active{background-color:#ecf5ff;color:#409eff}.el-menu-item [class*=" ri-"],.el-sub-menu__title [class*=" ri-"]{font-size:16px}.main-content{padding:0;background:linear-gradient(135deg,#f5f7fa,#e4e7f4);height:100%}.breadcrumb{padding:16px 24px;background-color:#fff;border-bottom:1px solid #ebeef5;box-shadow:0 1px 4px rgba(0,0,0,.05)}.el-card{box-shadow:0 2px 12px rgba(0,0,0,.05);border:1px solid #ebeef5;border-radius:8px;transition:all .3s ease}.el-card:hover{box-shadow:0 4px 20px rgba(0,0,0,.1)}.card-header{font-weight:600;color:#303133;display:flex;justify-content:space-between;align-items:center}.main-menu .el-menu-item,.main-menu .el-sub-menu__title{height:44px;line-height:44px}.main-menu .el-menu-item:hover,.main-menu .el-sub-menu__title:hover{background-color:transparent;color:#409eff}.main-menu .el-menu-item.is-active{color:#409eff;background-color:#eef3f7}.app-card{cursor:pointer;transition:all .3s;margin-bottom:24px;border-radius:12px;border:1px solid #ebeef5}.app-card:hover{transform:translateY(-5px);box-shadow:0 8px 24px rgba(0,0,0,.15);border-color:#409eff}.app-content{display:flex;align-items:center}.stats-card{background:#fff;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.08);padding:20px;transition:all .3s ease;border:1px solid #ebeef5}.stats-card:hover{box-shadow:0 4px 16px rgba(0,0,0,.12);transform:translateY(-2px)}.stats-content{margin-bottom:16px}.stats-content,.stats-icon{display:flex;align-items:center}.stats-icon{width:48px;height:48px;border-radius:12px;justify-content:center;margin-right:16px}.bg-blue{background:linear-gradient(135deg,#409eff,#64b5f6)}.bg-green{background:linear-gradient(135deg,#67c23a,#95d475)}.bg-orange{background:linear-gradient(135deg,#e6a23c,#eebe77)}.bg-purple{background:linear-gradient(135deg,#a366c4,#c491d4)}.bg-red{background:linear-gradient(135deg,#f56c6c,#f78989)}.stats-info{flex:1}.stats-value{font-size:24px;font-weight:600;color:#303133;margin-bottom:4px}.stats-label{font-size:14px;color:#909399}.stats-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #eee;padding-top:12px}.trend-up{color:#67c23a;font-size:13px}.trend-down{color:#f56c6c;font-size:13px}.time{color:#909399;font-size:12px}@media (max-width:768px){.header-content{padding:0 16px}.logo{font-size:18px}.project-switcher{width:160px}.user-section{gap:12px}.app-selector,.search-box{width:120px}}.header-list{display:flex;align-items:center}.header-list li{list-style:none;color:#000;margin:0 20px;display:block;cursor:pointer;font-size:14px}.app-header{height:50px}.app-layout{height:100vh}.app-layout .main-container{height:calc(100vh - 50px)}.user-info{display:flex;align-items:center;height:100%}.list-card,.search-card{background:#fff;border-radius:8px;margin-bottom:10px;padding:15px}.search-card{padding:15px 15px 0 15px}.list-card .toolbar{padding:0 0 10px 0;display:flex;flex-direction:row;align-items:center;justify-content:space-between}.list-card .toolbar .toolbar-left h4{display:inline-block;margin-right:20px}.list-card .pagination{margin-top:10px;justify-content:end}.multiple-textarea-container{display:block;width:100%}.multiple-textarea-container .multiple-textarea-item{display:flex;flex-direction:row;margin-bottom:10px}.multiple-textarea-container .multiple-textarea-item .el-textarea{flex:1;margin-right:10px}.multiple-image-container{display:flex;flex-wrap:wrap}.multiple-image-container .multiple-image-item{margin:0 10px 10px 0}.image-upload-container{width:100%}.image-preview-container{position:relative;width:120px;height:150px;border:2px dashed #d9d9d9;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .3s}.image-preview-container.image-icon{width:120px;height:120px}.image-preview-container:hover{border-color:#409eff}.image-preview{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:6px}.image-placeholder{text-align:center;color:#909399}.image-placeholder .image-uploader-icon{font-size:28px;color:#8c939d;margin-bottom:10px}.image-actions{display:flex;justify-content:center;position:absolute;right:10px;top:10px}.image-hidden-uploader{display:none}.dialog-footer{text-align:right}.el-form--inline .el-form-item{margin-right:10px}