.layout[data-v-527c8321]{height:100%}.aside[data-v-527c8321]{box-sizing:border-box;background:var(--ims-card);border-right:1px solid var(--ims-border);overflow:hidden auto}.aside[data-v-527c8321]::-webkit-scrollbar{width:6px}.aside[data-v-527c8321]::-webkit-scrollbar-thumb{background:#0f172a24;border-radius:3px}.aside[data-v-527c8321]::-webkit-scrollbar-track{background:0 0}.logo[data-v-527c8321]{border-bottom:1px solid var(--ims-border-soft);align-items:center;gap:10px;height:64px;padding:0 18px;display:flex}.logo-mark[data-v-527c8321]{background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%);border-radius:9px;flex:none;justify-content:center;align-items:center;width:32px;height:32px;display:inline-flex}.logo-mark svg[data-v-527c8321]{width:20px;height:20px}.logo-text[data-v-527c8321]{color:var(--ims-fg);letter-spacing:.3px;white-space:nowrap;font-size:15px;font-weight:600}.aside[data-v-527c8321] .el-menu{background:0 0;border-right:none;padding:8px 8px 16px}.aside[data-v-527c8321] .el-menu-item,.aside[data-v-527c8321] .el-sub-menu__title{border-radius:var(--ims-radius);height:40px;color:var(--ims-muted);margin-bottom:2px;font-size:14px;line-height:40px;transition:background-color .15s,color .15s;padding-left:12px!important}.aside[data-v-527c8321] .el-sub-menu__title{height:42px;color:var(--ims-fg);letter-spacing:.2px;font-size:13px;font-weight:600;line-height:42px}.aside[data-v-527c8321] .el-sub-menu__title .aside-group-icon{color:var(--ims-muted-2);margin-right:8px;font-size:16px}.aside[data-v-527c8321] .el-sub-menu .el-menu-item{min-width:0;height:38px;color:var(--ims-muted);font-size:13px;line-height:38px;padding-left:40px!important}.aside[data-v-527c8321] .el-menu-item:hover,.aside[data-v-527c8321] .el-sub-menu__title:hover{background:var(--ims-canvas);color:var(--ims-fg)}.aside[data-v-527c8321] .el-menu-item.is-active{background:var(--ims-primary-soft);color:var(--ims-primary-strong);font-weight:600}.aside[data-v-527c8321] .el-sub-menu.is-active>.el-sub-menu__title{background:var(--ims-primary-soft);box-shadow:inset 3px 0 0 var(--ims-primary);color:var(--ims-primary-strong)}.aside[data-v-527c8321] .el-sub-menu.is-active>.el-sub-menu__title .aside-group-icon{color:var(--ims-primary-strong)}.aside[data-v-527c8321] .el-sub-menu.aside-group-first{border-top:1px solid var(--ims-border-soft);margin-top:8px;padding-top:8px}.aside[data-v-527c8321] .el-menu--inline{background:0 0}.aside[data-v-527c8321] .el-menu-item .el-icon,.aside[data-v-527c8321] .el-sub-menu__title>.el-icon:not(.el-sub-menu__icon-arrow){margin-right:8px}.aside-todo[data-v-527c8321]{line-height:1;display:inline-flex;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.el-sub-menu__title .aside-todo[data-v-527c8321]{right:40px}.aside-todo[data-v-527c8321] .el-badge__content{position:static;transform:none}.header[data-v-527c8321]{background:var(--ims-card);border-bottom:1px solid var(--ims-border);justify-content:space-between;align-items:center;height:64px;padding:0 20px;display:flex}.header-left[data-v-527c8321]{color:var(--ims-fg);font-size:16px;font-weight:600}.header-right[data-v-527c8321]{align-items:center;gap:8px;display:flex}.role-tag[data-v-527c8321]{background:var(--ims-canvas);color:var(--ims-muted);border-color:#0000;margin-right:4px}.user[data-v-527c8321]{color:var(--ims-text);cursor:pointer;outline:none;align-items:center;gap:4px;display:flex}.user[data-v-527c8321]:hover{color:var(--ims-primary-strong)}.main[data-v-527c8321]{background:var(--ims-canvas);padding:20px}.head[data-v-f8812f2a]{align-items:center;gap:10px;display:flex}.muted[data-v-f8812f2a]{color:#909399;font-size:13px}.mb12[data-v-f8812f2a]{margin-bottom:12px}.mt12[data-v-f8812f2a]{margin-top:12px}.pre[data-v-f8812f2a]{white-space:pre-wrap}.stat-row[data-v-f8812f2a]{flex-wrap:wrap;gap:12px;display:flex}.stat-item[data-v-f8812f2a]{text-align:center;background:#f5f7fa;border-radius:4px;flex:120px;min-width:120px;padding:10px 12px}.stat-label[data-v-f8812f2a]{color:#909399;font-size:12px}.stat-value[data-v-f8812f2a]{color:#303133;margin-top:6px;font-size:22px;font-weight:600}.head[data-v-bf8f892d]{align-items:center;gap:10px;display:flex}.spacer[data-v-bf8f892d]{flex:1}.muted[data-v-bf8f892d]{color:#909399;font-size:13px}.ml8[data-v-bf8f892d]{margin-left:8px}.mt12[data-v-bf8f892d]{margin-top:12px}.stat-row[data-v-bf8f892d]{flex-wrap:wrap;gap:12px;display:flex}.stat-item[data-v-bf8f892d]{text-align:center;background:#f5f7fa;border-radius:4px;flex:120px;min-width:120px;padding:10px 12px}.stat-label[data-v-bf8f892d]{color:#909399;font-size:12px}.stat-value[data-v-bf8f892d]{color:#303133;margin-top:6px;font-size:22px;font-weight:600}.head[data-v-9dbf8600]{align-items:center;gap:10px;display:flex}.spacer[data-v-9dbf8600]{flex:1}.muted[data-v-9dbf8600]{color:#909399;font-size:12px}.mb12[data-v-9dbf8600]{margin-bottom:12px}.mt12[data-v-9dbf8600]{margin-top:12px}.mt4[data-v-9dbf8600]{margin-top:4px}.pre[data-v-9dbf8600]{white-space:pre-wrap}.stat-row[data-v-9dbf8600]{flex-wrap:wrap;gap:12px;display:flex}.stat-item[data-v-9dbf8600]{text-align:center;background:#f5f7fa;border-radius:4px;flex:120px;min-width:120px;padding:10px 12px}.stat-label[data-v-9dbf8600]{color:#909399;font-size:12px}.stat-value[data-v-9dbf8600]{color:#303133;margin-top:6px;font-size:22px;font-weight:600}.head[data-v-4fc622ef]{align-items:center;gap:10px;display:flex}.muted[data-v-4fc622ef]{color:#909399;font-size:13px}.mb12[data-v-4fc622ef]{margin-bottom:12px}.mt12[data-v-4fc622ef]{margin-top:12px}.pre[data-v-4fc622ef]{white-space:pre-wrap}.self-test-title[data-v-4fc622ef]{color:var(--ims-danger);font-weight:600}.head[data-v-c47fa1b0]{align-items:center;gap:10px;display:flex}.muted[data-v-c47fa1b0]{color:#909399;font-size:13px}.mb12[data-v-c47fa1b0]{margin-bottom:12px}.mt12[data-v-c47fa1b0]{margin-top:12px}.ml8[data-v-c47fa1b0]{margin-left:8px}.pre[data-v-c47fa1b0]{white-space:pre-wrap}.stat-row[data-v-c47fa1b0]{flex-wrap:wrap;gap:12px;display:flex}.stat-item[data-v-c47fa1b0]{text-align:center;background:#f5f7fa;border-radius:4px;flex:120px;min-width:120px;max-width:220px;padding:10px 12px}.stat-label[data-v-c47fa1b0]{color:#909399;font-size:12px}.stat-value[data-v-c47fa1b0]{color:#303133;margin-top:6px;font-size:22px;font-weight:600}
