.login-tip[data-v-0da31a4f]{display:inline-flex;align-items:center;margin-left:14px;padding:2px 10px;font-size:12px;color:#e6a23c;background:#fdf6ec;border:1px solid #f5dab1;border-radius:4px;cursor:pointer;transition:all .2s}.login-tip[data-v-0da31a4f]:hover{background:#faecd8;border-color:#e6a23c}.user-status-logged[data-v-0da31a4f]{display:inline-flex;align-items:center;margin-left:14px;font-size:13px;color:#303133;cursor:pointer;line-height:20px}.user-status-logged[data-v-0da31a4f]:hover{opacity:.75}.user-tag-normal[data-v-0da31a4f]{display:inline-block;margin-left:6px;padding:0 8px;height:20px;line-height:20px;font-size:12px;color:#606266;background:#f4f4f5;border:1px solid #e4e7ed;border-radius:4px}.user-tip[data-v-0da31a4f]{display:inline-block;margin-left:8px;font-size:12px;color:#e6a23c}.app-topbar[data-v-0da31a4f]{display:flex!important;align-items:center;justify-content:space-between;padding:0 20px!important}.app-topbar .right[data-v-0da31a4f]{display:flex;align-items:center}.kefu-wrap[data-v-0da31a4f]{font-size:13px;color:#303133}.kefu-qrcode-box[data-v-0da31a4f]{text-align:center;margin:4px 0 8px}.kefu-qrcode-label[data-v-0da31a4f]{font-size:13px;color:#606266;margin-bottom:12px;font-weight:600}.kefu-qrcode-img[data-v-0da31a4f]{width:180px;height:180px;margin:0 auto;border-radius:10px;display:block;-o-object-fit:cover;object-fit:cover;border:1px solid #ebeef5}.kefu-info[data-v-0da31a4f]{padding:0 4px}.kefu-row[data-v-0da31a4f]{display:flex;align-items:center;margin-bottom:12px;font-size:14px;flex-wrap:wrap}.kefu-row-center[data-v-0da31a4f]{justify-content:center;text-align:center}.kefu-row-center .label[data-v-0da31a4f]{width:auto!important;flex-shrink:0}.kefu-row .label[data-v-0da31a4f]{width:90px;color:#606266;flex-shrink:0}.kefu-row .value[data-v-0da31a4f]{color:#303133;font-weight:600;margin-right:6px}.selectable[data-v-0da31a4f]{-webkit-user-select:all;-moz-user-select:all;user-select:all;background:#f0f9eb;padding:2px 8px;border-radius:4px;color:#67c23a!important;font-family:Consolas,Courier New,monospace}.copy-btn[data-v-0da31a4f]{color:#409eff!important;font-weight:600;padding:0 4px}#app,body,html{height:100%;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,Helvetica Neue,Arial,sans-serif;background:#f5f7fa;color:#303133}*{box-sizing:border-box}.app-root{height:100vh;width:100vw;display:flex;flex-direction:row}.app-side{width:210px;background:#1f2d3d;color:#bfcbd9;display:flex;flex-direction:column;overflow:hidden}.app-side .app-side-title{height:60px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:18px;font-weight:600;letter-spacing:2px;border-bottom:1px solid #2c3e5a}.app-side .el-menu{border-right:none;background:transparent;color:#bfcbd9}.app-side .el-menu-item,.app-side .el-submenu__title{color:#bfcbd9!important}.app-side .el-menu-item.is-active{background:#409eff!important;color:#fff!important}.app-body{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden}.app-topbar{height:60px;background:#fff;border-bottom:1px solid #ebeef5;display:flex;align-items:center;justify-content:space-between;padding:0 20px}.app-topbar .left{font-size:16px;font-weight:500;color:#303133}.app-topbar .right{display:flex;gap:12px;align-items:center;font-size:13px;color:#606266}.app-content{flex:1;overflow:auto;padding:18px}.card{background:#fff;border-radius:8px;padding:18px 20px;box-shadow:0 1px 3px rgba(0,0,0,.05);margin-bottom:16px}.card .card-title{font-size:15px;font-weight:600;color:#303133;margin-bottom:14px;display:flex;justify-content:space-between;align-items:center}.card .card-title .sub{font-weight:400;color:#909399;font-size:12px}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:16px}.stat-card{background:#fff;border-radius:8px;padding:16px 18px;box-shadow:0 1px 3px rgba(0,0,0,.05);text-align:center}.stat-card .label{color:#909399;font-size:12px;margin-bottom:8px}.stat-card .value{color:#303133;font-size:22px;font-weight:600}.stat-card .sub{color:#c0c4cc;font-size:12px;margin-top:6px}.stat-card.primary .value{color:#409eff}.stat-card.success .value{color:#67c23a}.stat-card.warning .value{color:#e6a23c}.stat-card.danger .value{color:#f56c6c}.row-flex{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.tip{color:#909399;font-size:12px}