@charset "UTF-8";.license-banner[data-v-df50beea]{border-radius:0;flex-shrink:0}:root{--qdd-primary: #2f7cf6;--qdd-primary-deep: #1f5fd0;--qdd-primary-light: #4a9eff;--qdd-text-1: #1d2129;--qdd-text-2: #4e5969;--qdd-text-3: #86909c;--qdd-border: #e5e8ef;--qdd-bg-page: #f4f6fa;--qdd-bg-card: #ffffff;--el-color-primary: #2f7cf6;--el-color-primary-light-3: #6aa3f8;--el-color-primary-light-5: #97bdfa;--el-color-primary-light-7: #c4d8fc;--el-color-primary-light-8: #d8e6fd;--el-color-primary-light-9: #ebf2fe;--el-color-primary-dark-2: #1f5fd0;--el-border-radius-base: 8px;--el-font-size-base: 14px}*{box-sizing:border-box}html,body,#app{height:100%;margin:0;padding:0}body{font-family:PingFang SC,Helvetica Neue,Helvetica,Hiragino Sans GB,Microsoft YaHei,Arial,sans-serif;font-size:14px;color:var(--qdd-text-1);background-color:var(--qdd-bg-page);-webkit-font-smoothing:antialiased}.el-table .cell,.stat-value{font-variant-numeric:tabular-nums}.el-button{border-radius:8px;font-weight:500}.el-button--primary{--el-button-hover-bg-color: var(--qdd-primary-light);--el-button-active-bg-color: var(--qdd-primary-deep)}.el-input__wrapper,.el-select__wrapper,.el-textarea__inner{border-radius:8px}.el-card{border-radius:8px;border-color:var(--qdd-border);box-shadow:none}.el-card .el-card__header{border-bottom:1px solid var(--qdd-border);padding:14px 20px;font-weight:600}.el-dialog{border-radius:8px}.el-table{--el-table-header-bg-color: #f7f9fc;--el-table-header-text-color: var(--qdd-text-2);--el-table-row-hover-bg-color: #f2f7ff;border-radius:10px;overflow:hidden}.el-table th.el-table__cell{font-weight:600}.el-tag{border-radius:6px}.el-pagination{--el-pagination-border-radius: 8px}.app-layout{height:100vh;overflow:hidden}.app-layout__body{flex-direction:column;min-width:0}.app-sidebar{display:flex;flex-direction:column;width:232px;height:100%;background:#1f2d3d;transition:width .25s ease;overflow:hidden;position:relative;z-index:10}.app-sidebar.is-collapsed{width:64px}.app-sidebar__logo{display:flex;align-items:center;gap:12px;height:64px;padding:0 18px;flex-shrink:0;border-bottom:1px solid rgba(255,255,255,.07);white-space:nowrap}.app-sidebar__logo .logo-badge{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:8px;background:var(--qdd-primary);color:#fff;font-weight:700;font-size:17px;flex-shrink:0}.app-sidebar__logo .logo-text{display:flex;flex-direction:column;line-height:1.25}.app-sidebar__logo .logo-text .logo-name{color:#fff;font-size:17px;font-weight:700;letter-spacing:.5px}.app-sidebar__logo .logo-text .logo-sub{color:#a3b1ccbf;font-size:11px;letter-spacing:1px}.app-sidebar__scroll{flex:1}.app-sidebar__menu{width:100%;border-right:none;background:transparent;padding:10px 10px 24px}.app-sidebar__menu:not(.el-menu--collapse){width:100%}.app-sidebar__menu .el-menu-item,.app-sidebar__menu .el-sub-menu__title{height:44px;line-height:44px;margin:3px 0;border-radius:6px;color:#a3b1cc;transition:background-color .15s ease,color .15s ease}.app-sidebar__menu .el-menu-item:hover,.app-sidebar__menu .el-sub-menu__title:hover{background-color:#ffffff14;color:#fff}.app-sidebar__menu .el-menu-item.is-active{background:var(--qdd-primary);color:#fff;font-weight:600;position:relative}.app-sidebar__menu .el-menu-item.is-active:before{content:"";position:absolute;left:-10px;top:50%;transform:translateY(-50%);width:4px;height:22px;border-radius:0 4px 4px 0;background:var(--qdd-primary-light)}.app-sidebar__menu .el-menu{background:#0000002e;border-radius:6px;padding:2px 0}.app-sidebar__menu .el-menu .el-menu-item{height:40px;line-height:40px}.app-sidebar__menu .el-menu .el-menu-item.is-active{background:var(--qdd-primary)}.app-sidebar.is-collapsed .app-sidebar__menu{padding:10px 8px}.app-sidebar.is-collapsed .el-menu-item.is-active:before{display:none}.app-navbar{display:flex;align-items:center;justify-content:space-between;height:60px;padding:0 20px;background:#fff;border-bottom:1px solid var(--qdd-border);flex-shrink:0;position:relative;z-index:5}.app-navbar__left{display:flex;align-items:center;gap:16px;min-width:0}.app-navbar__right{display:flex;align-items:center}.collapse-btn{cursor:pointer;color:var(--qdd-text-2);transition:color .15s}.collapse-btn:hover{color:var(--qdd-primary)}.user-entry{display:flex;align-items:center;gap:8px;cursor:pointer;color:var(--qdd-text-1);outline:none;padding:6px 12px;border-radius:10px;transition:background-color .15s}.user-entry:hover{background-color:var(--qdd-bg-page)}.user-entry .user-avatar{background:var(--qdd-primary);color:#fff;font-size:13px}.user-entry .user-name{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.app-main{flex:1;padding:20px;overflow-y:auto;background:var(--qdd-bg-page)}.app-footer{display:flex;align-items:center;justify-content:center;height:38px;font-size:12px;color:var(--qdd-text-3);border-top:1px solid var(--qdd-border);background:#fff;flex-shrink:0}.page-card{border-radius:8px}.page-card .search-bar{margin-bottom:4px}.page-card .search-bar .el-form-item{margin-bottom:12px}.table-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.table-toolbar .table-title{font-size:15px;font-weight:600;color:var(--qdd-text-1);position:relative;padding-left:10px}.table-toolbar .table-title:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:14px;background:var(--qdd-primary)}.table-pagination{display:flex;justify-content:flex-end;margin-top:14px}.config-alert{width:100%;margin-bottom:16px}.config-form{max-width:560px}.role-tag{margin-right:6px;margin-bottom:2px}.menu-title-icon{vertical-align:-2px;margin-right:4px;color:var(--el-color-primary)}.login-page{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;background:url(/login-bg.jpg) center/cover no-repeat #10254a}.fade-slide-enter-active,.fade-slide-leave-active{transition:opacity .18s ease,transform .18s ease}.fade-slide-enter-from{opacity:0;transform:translateY(8px)}.fade-slide-leave-to{opacity:0;transform:translateY(-6px)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#c9d2e0;border-radius:8px}::-webkit-scrollbar-thumb:hover{background:#aab6c8}::-webkit-scrollbar-track{background:transparent}
