.full-page { height: 100vh; }
.app-header { display: flex; align-items: center; justify-content: space-between; }
.brand { display: flex; align-items: center; gap: 12px; font-weight: 600; }
.brand .logo { background: #409EFF; color: #fff; padding: 4px 8px; border-radius: 4px; font-weight: 700; }
.controls { display: flex; align-items: center; gap: 12px; }
.connected-controls { display: flex; gap: 8px; }
.sidebar { padding: 12px; background: #fafafa; border-right: 1px solid #eee; }
.device-card { padding: 12px; background: #fff; border: 1px solid #eee; border-radius: 8px; }
.device-name { font-size: 16px; font-weight: 700; }
.device-sub { color: #888; margin-top: 4px; }
.desc-label { width: 80px; color: #666; }
.tip { color: #666; line-height: 1.6; }
.tip h4 { margin: 16px 0 8px 0; color: #333; font-size: 14px; }
.tip ol, .tip ul { margin: 8px 0; padding-left: 20px; }
.tip li { margin-bottom: 4px; font-size: 13px; }
.tip code { background: #f5f5f5; padding: 1px 4px; border-radius: 2px; font-family: monospace; color: #e74c3c; }
.features { margin: 16px 0; padding: 12px; background: #f0f9ff; border: 1px solid #0ea5e9; border-radius: 6px; }
.features h4 { margin: 0 0 8px 0; color: #0369a1; }
.features ul { margin: 8px 0; }
.features li { color: #075985; font-size: 13px; }
.main { padding: 12px; }

.shell-toolbar { display: flex; align-items: center; gap: 12px; }
.cmd-input { flex: 1; }
.quick-cmds { display: flex; gap: 8px; flex-wrap: wrap; }
.terminal { margin-top: 10px; background: #111; color: #ddd; border-radius: 6px; padding: 10px; overflow: auto; border: 1px solid #000; }
.shell-actions { margin-top: 8px; display: flex; gap: 8px; }

/* xterm 容器适配 */
.xterm-wrap { height: 100%; }
.xterm { padding: 4px 6px; }

.files-toolbar { display: flex; align-items: center; gap: 12px; margin-bottom: 8px; }
.path-input { flex: 1; }
.upload input[type="file"] { display: none; }
.file-name.dir { color: #409EFF; cursor: pointer; }

.apps-toolbar { display: flex; align-items: center; gap: 12px; margin-bottom: 8px; }
.app-search { flex: 1; }
.apk-install input[type="file"] { display: none; }

.about { color: #666; }

/* 自动换行的特性标签容器 */
.feature-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 6px;
  align-items: center;
  max-width: 100%;
}

.feature-tags .el-tag {
  white-space: nowrap;
}

