.login-container[data-v-4e0d2e66]{display:flex;justify-content:center;align-items:center;height:100vh;transition:background .5s ease}.login-box[data-v-4e0d2e66]{width:400px;padding:40px;background:#fff;border-radius:10px;box-shadow:0 10px 40px #0000001a}.logo-section[data-v-4e0d2e66]{display:flex;flex-direction:column;align-items:center;margin-bottom:30px}.logo[data-v-4e0d2e66]{height:60px;width:auto;margin-bottom:15px;object-fit:contain;border-radius:var(--app-card-border-radius, 8px)}.env-badge[data-v-4e0d2e66]{margin-bottom:15px;font-size:16px;letter-spacing:2px}.login-title[data-v-4e0d2e66]{text-align:center;margin:0;color:#333;font-size:24px}.login-divider[data-v-4e0d2e66]{display:flex;align-items:center;margin:20px 0;color:#999}.login-divider[data-v-4e0d2e66]:before,.login-divider[data-v-4e0d2e66]:after{content:"";flex:1;height:1px;background-color:#e0e0e0}.login-divider span[data-v-4e0d2e66]{padding:0 10px;font-size:14px}.dingtalk-login-section[data-v-4e0d2e66]{width:100%}.toggle-account-login[data-v-4e0d2e66]{text-align:center;margin-top:15px}.account-login-section[data-v-4e0d2e66]{margin-top:20px;padding-top:20px;border-top:1px solid var(--app-border-lighter)}.captcha-input-wrapper[data-v-4e0d2e66]{display:flex;gap:10px;align-items:center}.captcha-image-wrapper[data-v-4e0d2e66]{width:120px;height:40px;border-radius:4px;overflow:hidden;cursor:pointer;border:1px solid var(--app-border-base);display:flex;align-items:center;justify-content:center;background:var(--app-bg-page);transition:border-color .2s}.captcha-image-wrapper[data-v-4e0d2e66]:hover{border-color:var(--app-text-placeholder)}.captcha-image[data-v-4e0d2e66]{width:100%;height:100%;object-fit:cover}.captcha-placeholder[data-v-4e0d2e66]{font-size:12px;color:var(--app-text-secondary);-webkit-user-select:none;user-select:none}.el-button.is-text[data-v-4e0d2e66]{font-weight:400}.header-notification-bar[data-v-c2f8efd2]{flex:1;min-width:0;height:100%;display:flex;align-items:center;padding:0 16px;overflow:hidden}.no-notification[data-v-c2f8efd2]{color:#fff9;font-size:13px;white-space:nowrap}.scroll-wrapper[data-v-c2f8efd2]{width:100%;overflow:hidden;white-space:nowrap}.scroll-content[data-v-c2f8efd2]{display:inline-flex;align-items:center;white-space:nowrap;gap:4px}.scroll-content.scrolling[data-v-c2f8efd2]{animation:marqueeScroll-c2f8efd2 linear infinite}@keyframes marqueeScroll-c2f8efd2{0%{transform:translate(0)}to{transform:translate(-50%)}}.unread-badge[data-v-c2f8efd2]{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--app-color-danger);color:#fff;font-size:11px;font-weight:600;margin-right:8px;flex-shrink:0}.notification-link[data-v-c2f8efd2]{display:inline-flex;align-items:center;gap:4px;cursor:pointer;color:#ffffffd9;font-size:13px;padding:2px 6px;border-radius:4px;transition:background .2s;flex-shrink:0}.notification-link[data-v-c2f8efd2]:hover{background:#ffffff26;color:#fff}.notification-link.unread[data-v-c2f8efd2]{color:#fff;font-weight:600}.notification-type-tag[data-v-c2f8efd2]{display:inline-block;padding:0 5px;border-radius:3px;font-size:11px;line-height:18px;flex-shrink:0}.type-system[data-v-c2f8efd2]{background:#409eff4d;color:#c6e2ff}.type-performance[data-v-c2f8efd2]{background:#67c23a4d;color:#c2e7b0}.type-log[data-v-c2f8efd2]{background:#e6a23c4d;color:#f5dab1}.type-project[data-v-c2f8efd2]{background:#9c6ade4d;color:#d9c8f0}.notification-title-text[data-v-c2f8efd2]{overflow:hidden;text-overflow:ellipsis}.separator[data-v-c2f8efd2]{margin:0 6px;color:#ffffff4d;flex-shrink:0}[data-v-52d14449] .login-notification-header{display:none}[data-v-52d14449] .el-dialog__body{padding:0}.notification-banner[data-v-52d14449]{display:flex;align-items:center;gap:10px;padding:20px 24px;background:linear-gradient(135deg,var(--app-color-primary) 0%,var(--app-color-primary-strong) 100%);border-radius:8px 8px 0 0;color:#fff}.banner-icon[data-v-52d14449]{display:flex;align-items:center;justify-content:center}.banner-label[data-v-52d14449]{font-size:17px;font-weight:600;letter-spacing:1px}.notification-body[data-v-52d14449]{padding:22px 24px 8px}.notification-title[data-v-52d14449]{margin:0 0 14px;font-size:17px;font-weight:600;color:var(--app-text-primary);line-height:1.4}.notification-text[data-v-52d14449]{font-size:15px;line-height:1.8;color:var(--app-text-regular);margin:0 0 18px;white-space:pre-wrap;word-break:break-word}.notification-meta[data-v-52d14449]{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--app-text-secondary);padding-top:12px;border-top:1px solid var(--app-border-light)}.meta-time[data-v-52d14449]{display:flex;align-items:center;gap:4px}.meta-index[data-v-52d14449]{font-weight:500;color:var(--app-color-primary)}.dialog-footer[data-v-52d14449]{display:flex;justify-content:flex-end;gap:12px}.release-note-content[data-v-74941a37]{max-height:50vh;overflow-y:auto;padding:0 4px;position:relative}.release-note-content.collapsed[data-v-74941a37]{max-height:280px;overflow-y:hidden}.version-block[data-v-74941a37]{margin-bottom:12px}.version-header[data-v-74941a37]{display:flex;align-items:center;gap:8px;margin-bottom:8px}.version-tag[data-v-74941a37]{background:var(--app-color-primary);color:var(--app-bg-card);padding:2px 8px;border-radius:4px;font-size:12px;font-weight:600}.version-date[data-v-74941a37]{color:var(--app-text-secondary);font-size:12px}.section-block[data-v-74941a37]{margin-bottom:8px}.section-title[data-v-74941a37]{font-size:13px;font-weight:600;color:var(--app-text-primary);margin-bottom:4px;padding-bottom:2px;border-bottom:1px solid var(--app-border-lighter)}.item-block[data-v-74941a37]{padding:4px 0 4px 8px;border-left:2px solid var(--app-border-light);margin-left:4px}.item-header[data-v-74941a37]{display:flex;align-items:baseline;gap:6px}.item-type-tag[data-v-74941a37]{font-size:11px;padding:1px 6px;border-radius:3px;font-weight:500;flex-shrink:0;line-height:1.6}.type-add[data-v-74941a37]{background:var(--app-color-success-bg);color:var(--app-color-success)}.type-fix[data-v-74941a37]{background:var(--app-color-warning-bg);color:var(--app-color-warning)}.type-optimize[data-v-74941a37]{background:var(--app-color-primary-light-9);color:var(--app-color-primary)}.type-change[data-v-74941a37]{background:var(--app-color-warning-bg);color:var(--app-color-warning)}.type-remove[data-v-74941a37]{background:var(--app-color-danger-bg);color:var(--app-color-danger)}.type-improve[data-v-74941a37]{background:var(--app-color-success-bg);color:var(--app-color-success)}.type-refactor[data-v-74941a37],.type-default[data-v-74941a37]{background:var(--app-color-info-bg);color:var(--app-color-info)}.item-title[data-v-74941a37]{font-size:13px;color:var(--app-text-primary);line-height:1.6}.item-details[data-v-74941a37]{margin-top:2px;padding-left:8px}.detail-line[data-v-74941a37]{font-size:12px;color:var(--app-text-secondary);line-height:1.6;position:relative;padding-left:10px}.detail-line[data-v-74941a37]:before{content:"";position:absolute;left:0;top:8px;width:4px;height:4px;border-radius:50%;background:var(--app-text-placeholder)}.collapse-mask[data-v-74941a37]{position:absolute;bottom:0;left:0;right:0;height:60px;background:linear-gradient(transparent,var(--app-bg-card));display:flex;align-items:flex-end;justify-content:center;cursor:pointer;padding-bottom:8px}.expand-hint[data-v-74941a37]{font-size:12px;color:var(--app-color-primary);cursor:pointer;-webkit-user-select:none;user-select:none}.expand-hint[data-v-74941a37]:hover{text-decoration:underline}.drawer-footer[data-v-d4d8a904]{display:flex;justify-content:flex-end;gap:12px}[data-v-d4d8a904] .el-upload--picture-card{width:100px;height:100px;line-height:100px}[data-v-d4d8a904] .el-upload-list--picture-card .el-upload-list__item{width:100px;height:100px}.main-container .header[data-v-adcffeb1]{padding:0;box-shadow:0 2px 8px #00000014;position:sticky;top:0;z-index:1000;color:#fff;height:auto!important}.main-container .main-content[data-v-adcffeb1]{padding:10px;background:var(--app-bg-page)}.main-container .header-top[data-v-adcffeb1]{display:flex;align-items:center;justify-content:space-between;height:56px;padding:0 18px}.main-container .header-left[data-v-adcffeb1]{display:flex;align-items:center;gap:12px}.main-container .env-badge[data-v-adcffeb1]{font-size:14px;letter-spacing:2px;border:none}.main-container .logo-box[data-v-adcffeb1]{background:#ffffffe0;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:5px 10px;box-shadow:0 2px 8px #00000014,0 1px 3px #0000000a;border:1px solid rgba(255,255,255,.3);border-radius:var(--app-card-border-radius, 8px);display:flex;align-items:center;transition:all .2s ease}.main-container .logo-box[data-v-adcffeb1]:hover{background:#fffffff2;box-shadow:0 4px 16px #0000001f,0 2px 6px #0000000f;transform:translateY(-1px)}.main-container .logo[data-v-adcffeb1]{height:30px;width:auto;display:block}.main-container .header-left h2[data-v-adcffeb1]{margin:0;font-size:18px;font-weight:600;color:#fff;letter-spacing:.5px}.main-container .user-info[data-v-adcffeb1]{display:flex;align-items:center;color:#fff}.main-container .user-name[data-v-adcffeb1]{display:inline-flex;align-items:center;gap:6px;color:#fff;cursor:pointer;font-size:16px;font-weight:600}.main-container .header-avatar[data-v-adcffeb1]{flex-shrink:0;vertical-align:middle}.main-container .header-right[data-v-adcffeb1]{display:flex;align-items:center;gap:2px}.main-container .header-right .el-button+.el-button[data-v-adcffeb1]{margin-left:0}.main-container .update-history-btn.el-button[data-v-adcffeb1]{--el-button-text-color: #ffffff;--el-button-bg-color: transparent;--el-button-border-color: transparent;--el-button-hover-text-color: #ffffff;--el-button-hover-bg-color: rgba(0, 0, 0, .15);--el-button-hover-border-color: transparent;--el-button-active-text-color: #ffffff;--el-button-active-bg-color: rgba(0, 0, 0, .2);--el-button-active-border-color: transparent;color:#fff;padding:4px 8px;border-radius:4px;transition:background-color .2s;font-size:14px;font-weight:400}.main-container .header-menu[data-v-adcffeb1]{--menu-height: 44px;height:var(--menu-height);line-height:var(--menu-height);border-bottom:none;background-color:transparent;padding:0;box-shadow:none;overflow:visible;border-top:1px solid rgba(255,255,255,.25)}.main-container .header-menu.el-menu--horizontal[data-v-adcffeb1]{border-bottom:none;background-color:transparent}.main-container .header-menu.el-menu--horizontal>.el-menu-item[data-v-adcffeb1],.main-container .header-menu.el-menu--horizontal>.el-sub-menu .el-sub-menu__title[data-v-adcffeb1]{color:#fff;padding:0 8px;font-weight:500;flex-shrink:0}.main-container .header-menu.el-menu--horizontal>.el-menu-item.is-active[data-v-adcffeb1],.main-container .header-menu.el-menu--horizontal>.el-sub-menu.is-active .el-sub-menu__title[data-v-adcffeb1],.main-container .header-menu.el-menu--horizontal>.el-menu-item[data-v-adcffeb1]:hover,.main-container .header-menu.el-menu--horizontal>.el-sub-menu:hover .el-sub-menu__title[data-v-adcffeb1]{color:#fff;background-color:#ffffff29;border-bottom:2px solid rgba(255,255,255,.9)}@media (max-width: 768px){.main-container .header-left h2[data-v-adcffeb1]{font-size:16px}.main-container .header-top[data-v-adcffeb1]{height:52px;padding:0 12px}.main-container .header-menu[data-v-adcffeb1]{--menu-height: 40px;padding:0 4px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none}.main-container .header-menu[data-v-adcffeb1]::-webkit-scrollbar{display:none}.main-container .header-right .update-history-btn span[data-v-adcffeb1]{display:none}.main-container .header-right .update-history-btn[data-v-adcffeb1]{padding:4px 6px}.main-container .user-name[data-v-adcffeb1]{max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.main-container .header-left[data-v-adcffeb1],.main-container .header-right[data-v-adcffeb1]{min-width:0}}@media (max-width: 576px){.main-container .header-left h2[data-v-adcffeb1]{font-size:14px}.main-container .header-top[data-v-adcffeb1]{height:48px;padding:0 8px}.main-container .logo[data-v-adcffeb1]{height:24px}.main-container .user-name[data-v-adcffeb1]{font-size:14px}.main-container .header-notification-bar[data-v-adcffeb1]{display:none}}.main-submenu-popper .el-menu--popup{min-width:140px;background:var(--app-bg-overlay);box-shadow:var(--app-shadow-md);border:none;padding:6px}.main-container .update-history-btn.el-button--text:hover,.main-container .update-history-btn.el-button.is-text:hover,.main-container .update-history-btn:hover{background-color:#00000026!important;color:#fff!important;border-color:transparent!important}.main-container .update-history-btn.el-button--text:hover span,.main-container .update-history-btn.el-button.is-text:hover span,.main-container .update-history-btn:hover span,.main-container .update-history-btn.el-button--text:hover .el-icon,.main-container .update-history-btn.el-button.is-text:hover .el-icon,.main-container .update-history-btn:hover .el-icon{color:#fff!important}.main-submenu-popper .el-menu-item,.main-submenu-popper .el-sub-menu__title{color:var(--app-text-primary)!important;height:36px;line-height:36px;padding:0 12px;font-weight:500}.main-submenu-popper .el-menu-item:hover,.main-submenu-popper .el-sub-menu__title:hover,.main-submenu-popper .el-menu-item.is-active,.main-submenu-popper .el-sub-menu.is-active>.el-sub-menu__title{background-color:var(--app-color-primary-light-9)}.update-history-panel{display:flex;flex-direction:column}.update-history-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:10px;margin-bottom:10px;border-bottom:1px solid var(--app-border-lighter);flex-shrink:0}.update-history-title{font-size:15px;font-weight:600;color:var(--app-text-primary)}.update-history-close{color:var(--app-text-secondary)}.update-history-body{max-height:60vh;overflow-y:auto}.update-history-loading,.update-history-empty{text-align:center;color:var(--app-text-secondary);padding:24px 0;font-size:14px}@media (max-width: 576px){.update-history-body{max-height:50vh}}.ef-container[data-v-1f95fc3a]{min-height:100vh;background:var(--app-bg-page);display:flex;justify-content:center}.ef-page[data-v-1f95fc3a]{width:100%;max-width:750px;min-height:100vh;background:var(--app-bg-card);padding:min(6vw,28px);box-sizing:border-box}.ef-step[data-v-1f95fc3a]{max-width:500px;margin:0 auto;padding-top:min(8vw,32px)}.ef-title[data-v-1f95fc3a]{text-align:center;font-size:min(5vw,22px);color:var(--app-text-primary);margin:0 0 min(6vw,28px) 0;font-weight:600}.ef-full-btn[data-v-1f95fc3a]{width:100%;height:44px;font-size:16px;display:block;box-sizing:border-box;margin-left:auto;margin-right:auto}.ef-btn-margin[data-v-1f95fc3a]{margin-top:12px;margin-left:0!important}.ef-result-card[data-v-1f95fc3a]{display:flex;flex-direction:column;align-items:center;padding:min(10vw,40px) 0;text-align:center}.ef-result-icon[data-v-1f95fc3a]{font-size:56px;margin-bottom:20px}.ef-icon-warning[data-v-1f95fc3a]{color:var(--app-color-warning)}.ef-icon-success[data-v-1f95fc3a]{color:var(--app-color-success)}.ef-icon-error[data-v-1f95fc3a]{color:var(--app-color-danger)}.ef-icon-info[data-v-1f95fc3a]{color:var(--app-color-primary)}.ef-result-text[data-v-1f95fc3a]{font-size:16px;color:var(--app-text-primary);margin:0 0 24px;line-height:1.6}.ef-reject-reason[data-v-1f95fc3a]{font-size:14px;color:var(--app-color-danger);margin:-12px 0 24px;line-height:1.6}.ef-page[data-v-1f95fc3a] .el-collapse-item__header{font-size:15px;font-weight:600;color:var(--app-text-primary);height:48px;line-height:48px}.ef-page[data-v-1f95fc3a] .el-collapse-item__content{padding-bottom:8px}.ef-page[data-v-1f95fc3a] .el-form-item__label{font-size:14px;padding-bottom:4px}.ef-page[data-v-1f95fc3a] .el-input__inner,.ef-page[data-v-1f95fc3a] .el-textarea__inner{font-size:15px}.ef-photo-row[data-v-1f95fc3a]{display:flex;align-items:center;gap:16px;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--app-border-lighter)}.photo-container[data-v-1f95fc3a]{position:relative;width:80px;height:80px;flex-shrink:0}.photo-uploader[data-v-1f95fc3a]{width:80px;height:80px}.photo-uploader[data-v-1f95fc3a] .el-upload{width:80px;height:80px;border:1px dashed var(--app-border-base);border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}.photo-uploader[data-v-1f95fc3a] .el-upload:hover{border-color:var(--el-color-primary)}.photo-uploader-icon[data-v-1f95fc3a]{font-size:28px;color:var(--app-text-placeholder)}.photo-preview[data-v-1f95fc3a]{width:80px;height:80px;object-fit:cover;display:block}.photo-uploading-mask[data-v-1f95fc3a]{position:absolute;top:0;left:0;width:100%;height:100%;background:var(--app-bg-overlay);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:12px;color:var(--app-color-primary)}.photo-delete-btn[data-v-1f95fc3a]{position:absolute;top:-6px;right:-6px}.photo-tip[data-v-1f95fc3a]{font-size:12px;color:var(--app-text-secondary)}.photo-required-mark[data-v-1f95fc3a]{color:var(--app-color-danger);margin-left:4px;font-weight:700}.asp-container[data-v-3d489efa]{min-height:100vh;background:var(--app-bg-page);display:flex;justify-content:center;padding:20px}.asp-page[data-v-3d489efa]{width:100%;max-width:600px;background:var(--app-bg-card);border-radius:12px;padding:24px;box-shadow:var(--app-shadow-card)}.asp-loading[data-v-3d489efa],.asp-error[data-v-3d489efa]{text-align:center;padding:60px 20px;color:var(--app-text-secondary)}.asp-loading-icon[data-v-3d489efa],.asp-error-icon[data-v-3d489efa]{font-size:40px;margin-bottom:12px}.asp-error-icon[data-v-3d489efa]{color:var(--app-color-warning)}.asp-title[data-v-3d489efa]{font-size:20px;font-weight:600;color:var(--app-text-primary);margin-bottom:16px;word-break:break-all}.asp-content[data-v-3d489efa]{color:var(--app-text-regular);font-size:14px;line-height:1.8;margin-bottom:24px;word-break:break-all}.asp-form-section[data-v-3d489efa]{margin-top:8px}.asp-submit-btn[data-v-3d489efa]{width:100%;margin-top:16px;height:44px;font-size:16px}.asp-no-form[data-v-3d489efa]{text-align:center;padding:40px 20px;color:var(--app-text-secondary)}.asp-success[data-v-3d489efa]{margin-top:24px;text-align:center;color:var(--app-color-success)}.asp-success-icon[data-v-3d489efa]{font-size:40px;margin-bottom:8px}.image-options-grid[data-v-3d489efa]{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;width:100%}.image-option-item[data-v-3d489efa]{position:relative;border:2px solid var(--app-border-light);border-radius:8px;overflow:hidden;cursor:pointer;transition:border-color .2s}.image-option-item.selected[data-v-3d489efa]{border-color:var(--app-color-primary)}.image-option-img[data-v-3d489efa]{width:100%;height:120px;object-fit:cover;display:block}.image-option-label[data-v-3d489efa]{display:block;text-align:center;padding:8px 4px;font-size:13px;color:var(--app-text-regular)}.image-option-check[data-v-3d489efa]{position:absolute;top:6px;right:6px;font-size:20px;color:var(--app-color-primary);background:var(--app-bg-card);border-radius:50%}.image-upload-area[data-v-3d489efa]{width:100%}.upload-images-preview[data-v-3d489efa]{display:flex;flex-wrap:wrap;gap:8px}.upload-image-item[data-v-3d489efa]{position:relative;width:80px;height:80px;border-radius:6px;overflow:hidden}.upload-image-thumb[data-v-3d489efa]{width:100%;height:100%;object-fit:cover}.upload-image-remove[data-v-3d489efa]{position:absolute;top:-4px;right:-4px;font-size:18px;color:var(--app-color-danger);background:var(--app-bg-card);border-radius:50%;cursor:pointer}.upload-image-adder[data-v-3d489efa] .el-upload{border:1px dashed var(--app-border-base);border-radius:6px;cursor:pointer;width:80px;height:80px;display:flex;align-items:center;justify-content:center;font-size:24px;color:var(--app-text-placeholder)}.upload-image-adder[data-v-3d489efa] .el-upload:hover{border-color:var(--app-color-primary)}#nprogress{pointer-events:none}#nprogress .bar{background:#29d;position:fixed;z-index:1031;top:0;left:0;width:100%;height:2px}#nprogress .peg{display:block;position:absolute;right:0;width:100px;height:100%;box-shadow:0 0 10px #29d,0 0 5px #29d;opacity:1;-webkit-transform:rotate(3deg) translate(0px,-4px);-ms-transform:rotate(3deg) translate(0px,-4px);transform:rotate(3deg) translateY(-4px)}#nprogress .spinner{display:block;position:fixed;z-index:1031;top:15px;right:15px}#nprogress .spinner-icon{width:18px;height:18px;box-sizing:border-box;border:solid 2px transparent;border-top-color:#29d;border-left-color:#29d;border-radius:50%;-webkit-animation:nprogress-spinner .4s linear infinite;animation:nprogress-spinner .4s linear infinite}.nprogress-custom-parent{overflow:hidden;position:relative}.nprogress-custom-parent #nprogress .spinner,.nprogress-custom-parent #nprogress .bar{position:absolute}@-webkit-keyframes nprogress-spinner{0%{-webkit-transform:rotate(0deg)}to{-webkit-transform:rotate(360deg)}}@keyframes nprogress-spinner{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
