.mu-items label input{margin-top:2px;accent-color:var(--blue)}
.mu-items label span{display:flex;flex-direction:column;line-height:1.3}
.mu-items label small{color:var(--muted);font-size:10px}
+.two-column>div:first-child{min-width:0}
+.cube-editor{overflow-x:auto}
.cube-editor table{width:100%}
.cube-editor input{width:100%}
+.cube-editor .cube-editor-table th:nth-child(1){width:120px}
+.cube-editor .cube-editor-table th:nth-child(2){width:auto}
+.cube-editor .cube-editor-table th:nth-child(3){width:140px}
+.cube-editor .cube-editor-table th:nth-child(4){width:200px}
+.cube-editor .cube-editor-table td:nth-child(3){white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cube-actions{display:flex;gap:5px;white-space:nowrap}
.cube-actions button{border:1px solid var(--line);background:#fff;border-radius:4px;height:26px;padding:0 9px;font-size:11px;color:#444}
.cube-actions button:hover{border-color:var(--blue);color:var(--blue)}
{/* Cube 扩展页面:左右两栏,右栏为填写建议 + AI 智能补全 */}
{tab==="cube"&&<div className="two-column">
<div>
- <div className="cube-editor"><table className="data-table editable"><thead><tr><th>页面名称 <small>最多6字</small></th><th>页面内容</th><th>生成文件</th><th>操作</th></tr></thead><tbody>{site.cubes.map((cube,i)=><tr key={i}>
+ <div className="cube-editor"><table className="data-table editable cube-editor-table"><thead><tr><th>页面名称 <small>最多6字</small></th><th>页面内容</th><th>生成文件</th><th>操作</th></tr></thead><tbody>{site.cubes.map((cube,i)=><tr key={i}>
<td><input value={cube.name} maxLength={6} placeholder="例如:运行总览" onChange={e=>updateCube(i,{name:e.target.value})}/></td>
<td><input value={cube.content} placeholder="描述该页面要展示的内容和指标" onChange={e=>updateCube(i,{content:e.target.value})}/></td>
<td>{cube.status==="generated"? <button className="link" onClick={()=>downloadCube(cube)}>下载 {cube.gen_filename}</button> : <span className="muted">未生成</span>}</td>