Răsfoiți Sursa

style(admin): C-8 SurveyTemplates/HealthPlanReview/BadgeManage/Users/ProxyReportUpload 内联 style 归零

zxyj-web 3 săptămâni în urmă
părinte
comite
a20d8e2980

+ 18 - 10
cfc-web/src/views/Users.vue

@@ -6,7 +6,7 @@
       </PageHeader>
 
       <!-- 搜索和筛选 -->
-      <el-form :inline="true" :model="searchForm" style="margin-bottom: 20px">
+      <el-form :inline="true" :model="searchForm" class="mb-20">
         <el-form-item label="角色">
           <el-select v-model="searchForm.role" placeholder="全部角色" clearable @change="handleSearch">
             <el-option label="家长" value="parent"></el-option>
@@ -60,7 +60,7 @@
         :data="tableData" 
         border 
         v-loading="loading"
-        style="width: 100%"
+        class="full-width"
         height="100%"
       >
         <el-table-column prop="id" label="ID" width="80">
@@ -91,7 +91,7 @@
               :type="getRoleType(r)"
               :text="getRoleText(r)"
               size="small"
-              style="margin-right:4px"
+              class="mr-4"
             />
           </template>
         </el-table-column>
@@ -173,7 +173,7 @@
     </el-dialog>
 
       <el-pagination
-        style="margin-top: 20px; text-align: right"
+        class="pagination-right"
         @size-change="handleSizeChange"
         @current-change="handleCurrentChange"
         :current-page="pagination.current"
@@ -210,7 +210,7 @@
             placeholder="搜索推荐人(昵称/手机号/ID)"
             :remote-method="searchUsersForReferrer"
             :loading="userSearchLoading"
-            style="width: 100%"
+            class="full-width"
           >
             <el-option
               v-for="u in userSearchResults"
@@ -221,7 +221,7 @@
           </el-select>
         </el-form-item>
         <el-form-item label="会员等级">
-          <el-select v-model="editForm.memberLevel" clearable placeholder="选择会员等级" style="width: 100%">
+          <el-select v-model="editForm.memberLevel" clearable placeholder="选择会员等级" class="full-width">
             <el-option
               v-for="lv in memberLevelOptions"
               :key="lv.levelCode"
@@ -239,7 +239,7 @@
               :disabled="r.disabled"
             >{{ r.label }}</el-checkbox>
           </el-checkbox-group>
-          <div style="font-size:12px;color:var(--adm-text-45);margin-top:4px">
+          <div class="role-hint">
             平台角色: admin / operator / finance;入驻角色: butler / knowledge_admin / teacher / nutritionist / supplier / activity_manager
           </div>
         </el-form-item>
@@ -294,10 +294,10 @@
       </div>
       <el-form :model="grantCouponForm" label-width="100px">
         <el-form-item label="券面值(元)" required>
-          <el-input-number v-model="grantCouponForm.amountYuan" :min="0.01" :step="10" :precision="2" style="width: 200px" />
+          <el-input-number v-model="grantCouponForm.amountYuan" :min="0.01" :step="10" :precision="2" class="w-200" />
         </el-form-item>
         <el-form-item label="有效期止">
-          <el-date-picker v-model="grantCouponForm.validUntil" type="date" value-format="yyyy-MM-dd" placeholder="默认 +30 天" style="width: 100%" />
+          <el-date-picker v-model="grantCouponForm.validUntil" type="date" value-format="yyyy-MM-dd" placeholder="默认 +30 天" class="full-width" />
         </el-form-item>
         <el-form-item label="备注">
           <el-input v-model="grantCouponForm.remark" type="textarea" :rows="2" maxlength="30" show-word-limit placeholder="选填,用于区分该券" />
@@ -306,7 +306,7 @@
           title="该券仅限会员开通/续费/升级订单抵扣,将发放到该用户所在家庭"
           type="info"
           :closable="false"
-          style="margin-bottom: 10px"
+          class="mb-10"
         />
       </el-form>
       <div slot="footer">
@@ -722,4 +722,12 @@ const res = await getUserList(params)
   color: var(--adm-text-45);
   font-size: 12px;
 }
+/* == C 批内联清理工具类 == */
+.mb-20 { margin-bottom: 20px; }
+.mb-10 { margin-bottom: 10px; }
+.mr-4 { margin-right: 4px; }
+.full-width { width: 100%; }
+.w-200 { width: 200px; }
+.pagination-right { margin-top: 20px; text-align: right; }
+.role-hint { font-size: 12px; color: var(--adm-text-45); margin-top: 4px; }
 </style>

+ 16 - 11
cfc-web/src/views/admin/BadgeManage.vue

@@ -6,24 +6,24 @@
       </PageHeader>
 
       <!-- 搜索 -->
-      <el-form :model="filters" inline size="small" style="margin-bottom:16px;">
+      <el-form :model="filters" inline size="small" class="mb-16">
         <el-form-item label="名称">
           <el-input v-model="filters.name" placeholder="搜索勋章名称" clearable @input="onSearchInput" />
         </el-form-item>
         <el-form-item label="分类">
-          <el-select v-model="filters.category" placeholder="全部分类" clearable @change="fetchList" style="width:140px;">
+          <el-select v-model="filters.category" placeholder="全部分类" clearable @change="fetchList" class="w-140">
             <el-option v-for="c in categoryOptions" :key="c.value" :label="c.label" :value="c.value" />
           </el-select>
         </el-form-item>
         <el-form-item label="等级">
-          <el-select v-model="filters.level" placeholder="全部等级" clearable @change="fetchList" style="width:140px;">
+          <el-select v-model="filters.level" placeholder="全部等级" clearable @change="fetchList" class="w-140">
             <el-option v-for="c in levelOptions" :key="c.value" :label="c.label" :value="c.value" />
           </el-select>
         </el-form-item>
       </el-form>
 
             <div class="adm-table-wrap">
-<el-table :data="list" border stripe v-loading="loading" empty-text="暂无数据" style="width:100%" height="100%">
+<el-table :data="list" border stripe v-loading="loading" empty-text="暂无数据" class="full-width" height="100%">
         <el-table-column prop="id" label="ID" width="60">
           <template slot="header">
             <span class="sort-header" @click.stop="onSortClick('id', $event)">ID<span v-if="sortIndex('id') !== null" class="sort-index" :class="sortClass('id') === 'sort-asc' ? 'sort-asc-badge' : 'sort-desc-badge'">{{ sortIndex('id') }}</span>{{ sortIcon('id') }}</span>
@@ -69,7 +69,7 @@
           <template slot-scope="{ row }">
             <el-button type="text" @click="editRow(row)">编辑</el-button>
             <el-popconfirm title="确定删除此勋章吗?" @confirm="deleteRow(row)">
-              <el-button type="text" style="color: var(--adm-error-text)" slot="reference">删除</el-button>
+              <el-button type="text" class="text-error" slot="reference">删除</el-button>
             </el-popconfirm>
           </template>
         </el-table-column>
@@ -88,7 +88,7 @@
           </el-col>
           <el-col :span="12">
             <el-form-item label="分类" required>
-              <el-select v-model="dialog.form.category" placeholder="请选择" style="width:100%">
+              <el-select v-model="dialog.form.category" placeholder="请选择" class="full-width">
                 <el-option v-for="c in categoryOptions" :key="c.value" :label="c.label" :value="c.value" />
               </el-select>
             </el-form-item>
@@ -97,14 +97,14 @@
         <el-row :gutter="16">
           <el-col :span="12">
             <el-form-item label="等级">
-              <el-select v-model="dialog.form.level" placeholder="请选择" style="width:100%">
+              <el-select v-model="dialog.form.level" placeholder="请选择" class="full-width">
                 <el-option v-for="c in levelOptions" :key="c.value" :label="c.label" :value="c.value" />
               </el-select>
             </el-form-item>
           </el-col>
           <el-col :span="12">
             <el-form-item label="稀有度">
-              <el-select v-model="dialog.form.rarity" placeholder="请选择" style="width:100%">
+              <el-select v-model="dialog.form.rarity" placeholder="请选择" class="full-width">
                 <el-option v-for="c in rarityOptions" :key="c.value" :label="c.label" :value="c.value" />
               </el-select>
             </el-form-item>
@@ -124,19 +124,19 @@
           </el-col>
           <el-col :span="12">
             <el-form-item label="触发阈值">
-              <el-input-number v-model="dialog.form.threshold" :min="0" style="width:100%" />
+              <el-input-number v-model="dialog.form.threshold" :min="0" class="full-width" />
             </el-form-item>
           </el-col>
         </el-row>
         <el-row :gutter="16">
           <el-col :span="12">
             <el-form-item label="排序">
-              <el-input-number v-model="dialog.form.sortOrder" :min="0" style="width:100%" />
+              <el-input-number v-model="dialog.form.sortOrder" :min="0" class="full-width" />
             </el-form-item>
           </el-col>
           <el-col :span="12">
             <el-form-item label="过期天数">
-              <el-input-number v-model="dialog.form.expireDays" :min="0" style="width:100%" />
+              <el-input-number v-model="dialog.form.expireDays" :min="0" class="full-width" />
             </el-form-item>
           </el-col>
         </el-row>
@@ -369,4 +369,9 @@ export default {
 .sort-header:hover {
   color: var(--adm-primary);
 }
+/* == C 批内联清理工具类 == */
+.mb-16 { margin-bottom: 16px; }
+.w-140 { width: 140px; }
+.full-width { width: 100%; }
+.text-error { color: var(--adm-error-text); }
 </style>

+ 18 - 10
cfc-web/src/views/admin/ProxyReportUpload.vue

@@ -4,12 +4,12 @@
       <PageHeader slot="header" title="代传报告上传" />
       <el-form ref="uploadForm" :model="uploadForm" label-width="100px" class="upload-form">
         <el-form-item label="选择家庭" prop="familyId" required>
-          <el-select v-model="uploadForm.familyId" placeholder="请选择家庭" filterable style="width:100%" @change="onFamilyChange">
+          <el-select v-model="uploadForm.familyId" placeholder="请选择家庭" filterable class="full-width" @change="onFamilyChange">
             <el-option v-for="f in familyList" :key="f.id" :label="f.name" :value="f.id" />
           </el-select>
         </el-form-item>
         <el-form-item label="报告对象" prop="subjectId" required>
-          <el-select v-model="uploadForm.subjectId" placeholder="请选择家庭成员" filterable style="width:100%">
+          <el-select v-model="uploadForm.subjectId" placeholder="请选择家庭成员" filterable class="full-width">
             <el-option v-for="m in memberList" :key="m.id" :label="m.nickname || m.realName" :value="m.id" />
           </el-select>
         </el-form-item>
@@ -29,7 +29,7 @@
     </el-card>
 
     <!-- 解析结果预览 -->
-    <el-card v-if="previewResult" style="margin-top:20px">
+    <el-card v-if="previewResult" class="mt-20">
       <div slot="header">
         <SectionTitle title="解析结果预览">
           <StatusTag :type="previewResult.needBind ? 'warning' : 'success'" :text="previewResult.needBind ? '待绑定成员' : '已匹配成员'" />
@@ -43,14 +43,14 @@
         <el-descriptions-item label="菌群健康分">{{ previewResult.payload && previewResult.payload.gutHealthScore ? previewResult.payload.gutHealthScore : '-' }}</el-descriptions-item>
         <el-descriptions-item label="肠型">{{ previewResult.payload && previewResult.payload.gutType ? previewResult.payload.gutType : '-' }}</el-descriptions-item>
       </el-descriptions>
-      <div style="margin-top:20px;text-align:right">
+      <div class="mt-20-right">
         <el-button @click="previewResult = null">取消</el-button>
         <el-button type="primary" :loading="confirming" @click="handleConfirm">确认入库</el-button>
       </div>
     </el-card>
 
     <!-- AI解读结果 -->
-    <el-card v-if="analysisResult" style="margin-top:20px">
+    <el-card v-if="analysisResult" class="mt-20">
       <div slot="header">
         <SectionTitle title="AI解读结果">
           <StatusTag type="success" size="small" text="已完成" />
@@ -60,12 +60,12 @@
     </el-card>
 
     <!-- 代传历史 -->
-    <el-card style="margin-top:20px">
+    <el-card class="mt-20">
       <div slot="header">
         <SectionTitle title="代上传历史记录" />
       </div>
       <div class="filter-bar">
-        <el-select v-model="query.type" placeholder="报告类型" clearable style="width:140px">
+        <el-select v-model="query.type" placeholder="报告类型" clearable class="w-140">
           <el-option label="全部" value=""></el-option>
           <el-option label="菌群检测" value="gut_flora"></el-option>
           <el-option label="体检报告" value="physical_exam"></el-option>
@@ -73,8 +73,8 @@
           <el-option label="保单" value="insurance"></el-option>
           <el-option label="家庭周报" value="fortune"></el-option>
         </el-select>
-        <el-input v-model="query.keyword" placeholder="搜索标题/名称" style="width:200px" clearable @keyup.enter.native="loadProxyReports"></el-input>
-        <el-date-picker v-model="dateRange" type="daterange" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" style="width:240px"></el-date-picker>
+        <el-input v-model="query.keyword" placeholder="搜索标题/名称" class="w-200" clearable @keyup.enter.native="loadProxyReports"></el-input>
+        <el-date-picker v-model="dateRange" type="daterange" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" class="w-240"></el-date-picker>
         <el-button type="primary" @click="loadProxyReports">查询</el-button>
       </div>
 
@@ -118,7 +118,7 @@
         <el-descriptions-item label="肠型">{{ detailReport.gutType || '-' }}</el-descriptions-item>
         <el-descriptions-item label="肠道年龄">{{ detailReport.gutAge || '-' }}</el-descriptions-item>
         <el-descriptions-item label="AI解读" :span="2">
-          <div v-html="detailReport.aiAnalysis" class="analysis-content" style="max-height:300px;overflow:auto"></div>
+          <div v-html="detailReport.aiAnalysis" class="analysis-content analysis-scroll"></div>
         </el-descriptions-item>
       </el-descriptions>
       <span slot="footer"><el-button @click="detailDialogVisible = false">关闭</el-button></span>
@@ -295,4 +295,12 @@ export default {
 .pagination-wrap { margin-top: 16px; text-align: right; }
 .analysis-content { font-size: 14px; line-height: 1.8; color: var(--adm-text-88); }
 .analysis-content :deep(p) { margin: 8px 0; }
+/* == C 批内联清理工具类 == */
+.w-140 { width: 140px; }
+.w-200 { width: 200px; }
+.w-240 { width: 240px; }
+.full-width { width: 100%; }
+.mt-20 { margin-top: 20px; }
+.mt-20-right { margin-top: 20px; text-align: right; }
+.analysis-scroll { max-height: 300px; overflow: auto; }
 </style>

+ 26 - 12
cfc-web/src/views/admin/SurveyTemplates.vue

@@ -57,7 +57,7 @@
         <el-table-column label="操作" width="160" align="center">
           <template slot-scope="scope">
             <el-button type="text" size="mini" @click="openEdit(scope.row)">编辑</el-button>
-            <el-button type="text" size="mini" style="color:var(--adm-error-text)" @click="handleDelete(scope.row)">删除</el-button>
+            <el-button type="text" size="mini" class="text-error" @click="handleDelete(scope.row)">删除</el-button>
           </template>
         </el-table-column>
       </el-table>
@@ -70,7 +70,7 @@
           <el-input v-model="form.title" placeholder="调研标题" />
         </el-form-item>
         <el-form-item label="维度">
-          <el-select v-model="form.dimension" placeholder="适用维度" style="width:120px">
+          <el-select v-model="form.dimension" placeholder="适用维度" class="w-120">
             <el-option label="身" value="body" />
             <el-option label="智" value="wisdom" />
             <el-option label="富" value="wealth" />
@@ -79,7 +79,7 @@
           </el-select>
         </el-form-item>
         <el-form-item label="周期">
-          <el-select v-model="form.cycleType" placeholder="周期" style="width:120px">
+          <el-select v-model="form.cycleType" placeholder="周期" class="w-120">
             <el-option label="每周" value="weekly" />
             <el-option label="两周" value="biweekly" />
             <el-option label="每月" value="monthly" />
@@ -89,27 +89,27 @@
           <el-switch v-model="form.enabled" :active-value="1" :inactive-value="0" />
         </el-form-item>
         <el-form-item label="题目">
-          <div style="width:100%">
-            <div v-for="(q, qIdx) in form.questions" :key="qIdx" style="margin-bottom:12px;padding:10px;border:1px solid var(--adm-border-split);border-radius:4px;">
-              <el-input v-model="q.text" placeholder="题目文本" style="margin-bottom:8px" />
+          <div class="full-width">
+            <div v-for="(q, qIdx) in form.questions" :key="qIdx" class="question-card">
+              <el-input v-model="q.text" placeholder="题目文本" class="mb-8" />
               <el-tag
                 v-for="(opt, oIdx) in q.options"
                 :key="oIdx"
                 closable
                 @close="removeOption(q, oIdx)"
-                style="margin-right:4px;margin-bottom:4px"
+                class="mr-mb-4"
               >{{ opt }}</el-tag>
               <el-input
                 v-if="addOptionText[qIdx]"
                 v-model="addOptionText[qIdx]"
                 placeholder="输入选项后回车添加"
                 size="mini"
-                style="width:200px;margin-top:4px"
+                class="w-200 mt-4"
                 @keyup.enter.native="addOption(q, qIdx)"
                 @blur="addOption(q, qIdx)"
               />
               <el-button type="text" size="mini" @click="addOptionInput(qIdx)">+ 添加选项</el-button>
-              <el-button type="text" size="mini" style="color:var(--adm-error-text)" @click="removeQuestion(qIdx)">删除题目</el-button>
+              <el-button type="text" size="mini" class="text-error" @click="removeQuestion(qIdx)">删除题目</el-button>
             </div>
             <el-button type="primary" size="mini" plain @click="addQuestion">+ 添加题目</el-button>
           </div>
@@ -124,7 +124,7 @@
     <el-dialog title="AI生成调研题目" :visible.sync="aiDialogVisible" width="500px">
       <el-form :model="aiForm" label-width="60px">
         <el-form-item label="维度">
-          <el-select v-model="aiForm.dimension" placeholder="适用维度" style="width:120px">
+          <el-select v-model="aiForm.dimension" placeholder="适用维度" class="w-120">
             <el-option label="身" value="body" />
             <el-option label="智" value="wisdom" />
             <el-option label="富" value="wealth" />
@@ -136,7 +136,7 @@
           <el-input v-model="aiForm.topic" placeholder="如:饮食习惯、睡眠质量" />
         </el-form-item>
       </el-form>
-      <div v-if="aiResult" style="margin-top:12px;padding:10px;background:var(--adm-bg-header);border-radius:4px;max-height:300px;overflow-y:auto;">
+      <div v-if="aiResult" class="ai-result-box">
         <pre>{{ aiResult }}</pre>
       </div>
       <span slot="footer">
@@ -305,4 +305,18 @@ export default {
     }
   }
 }
-</script>
+</script>
+
+<style scoped>
+.admin-page { padding: 20px; }
+/* == C 批内联清理工具类 == */
+.w-120 { width: 120px; }
+.w-200 { width: 200px; }
+.full-width { width: 100%; }
+.mb-8 { margin-bottom: 8px; }
+.mt-4 { margin-top: 4px; }
+.mr-mb-4 { margin-right: 4px; margin-bottom: 4px; }
+.text-error { color: var(--adm-error-text); }
+.question-card { margin-bottom: 12px; padding: 10px; border: 1px solid var(--adm-border-split); border-radius: 4px; }
+.ai-result-box { margin-top: 12px; padding: 10px; background: var(--adm-bg-header); border-radius: 4px; max-height: 300px; overflow-y: auto; }
+</style>

+ 23 - 11
cfc-web/src/views/teacher/HealthPlanReview.vue

@@ -1,10 +1,10 @@
 <template>
   <div class="health-plan-review">
     <PageHeader title="健康方案审核">
-      <el-select v-model="familyFilter" placeholder="选择家庭" clearable @change="loadPlans" size="small" style="width:180px">
+      <el-select v-model="familyFilter" placeholder="选择家庭" clearable @change="loadPlans" size="small" class="w-180">
         <el-option v-for="f in families" :key="f.id" :label="f.familyName || '家庭'+f.id" :value="f.id" />
       </el-select>
-      <el-select v-model="statusFilter" placeholder="状态筛选" clearable @change="loadPlans" size="small" style="width:140px">
+      <el-select v-model="statusFilter" placeholder="状态筛选" clearable @change="loadPlans" size="small" class="w-140">
         <el-option label="待审核" value="pending_review" />
         <el-option label="草稿" value="draft" />
         <el-option label="已驳回" value="rejected" />
@@ -13,7 +13,7 @@
     </PageHeader>
 
         <div class="adm-table-wrap">
-<el-table :data="plans" border stripe style="width:100%" v-loading="loading" height="100%">
+<el-table :data="plans" border stripe class="full-width" v-loading="loading" height="100%">
       <el-table-column prop="id" label="方案ID" width="80">
         <template slot="header">
           <span class="sort-header" @click.stop="onSortClick('id', $event)" @dblclick.stop="onSortToggle('id')">方案ID<span v-if="sortIndex('id') !== null" class="sort-index" :class="sortClass('id') === 'sort-asc' ? 'sort-asc-badge' : 'sort-desc-badge'">{{ sortIndex('id') }}</span>{{ sortIcon('id') }}</span>
@@ -33,7 +33,7 @@
       </el-table-column>
       <el-table-column label="维度" width="120">
         <template slot-scope="{ row }">
-          <el-tag v-for="(d,i) in (row.dimensions||'').split(',')" :key="i" size="mini" style="margin-right:4px">{{ d }}</el-tag>
+          <el-tag v-for="(d,i) in (row.dimensions||'').split(',')" :key="i" size="mini" class="mr-4">{{ d }}</el-tag>
         </template>
       </el-table-column>
       <el-table-column prop="status" label="状态" width="100">
@@ -72,21 +72,21 @@
           <el-input v-model="editForm.planContent" type="textarea" :rows="18" placeholder="编辑方案内容..." />
         </el-form-item>
         <el-form-item label="任务条目">
-          <div v-for="(sec, si) in editTasks.sections" :key="'sec'+si" style="margin-bottom:12px;border:1px solid #ebeef5;border-radius:4px;padding:8px;">
-            <div style="font-weight:600;margin-bottom:6px;">{{ sec.title || sec.key }}</div>
-            <div v-for="(task, ti) in sec.tasks" :key="'t'+si+'-'+ti" style="display:flex;gap:6px;margin-bottom:6px;align-items:center;">
-              <el-select v-model="task.action_type" size="mini" style="width:90px">
+          <div v-for="(sec, si) in editTasks.sections" :key="'sec'+si" class="section-card">
+            <div class="section-title">{{ sec.title || sec.key }}</div>
+            <div v-for="(task, ti) in sec.tasks" :key="'t'+si+'-'+ti" class="task-row">
+              <el-select v-model="task.action_type" size="mini" class="w-90">
                 <el-option v-for="a in actionTypes" :key="a.value" :label="a.label" :value="a.value" />
               </el-select>
-              <el-select v-model="task.dimension" size="mini" style="width:80px">
+              <el-select v-model="task.dimension" size="mini" class="w-80">
                 <el-option v-for="d in dimensions" :key="d.value" :label="d.label" :value="d.value" />
               </el-select>
-              <el-select v-model="task.frequency" size="mini" style="width:70px">
+              <el-select v-model="task.frequency" size="mini" class="w-70">
                 <el-option label="一次性" value="once" />
                 <el-option label="每日" value="daily" />
               </el-select>
               <el-input v-model="task.title" size="mini" placeholder="任务标题" />
-              <el-input v-model="task.notes" size="mini" placeholder="备注" style="width:120px" />
+              <el-input v-model="task.notes" size="mini" placeholder="备注" class="w-120" />
               <el-button size="mini" type="danger" icon="el-icon-delete" @click="removeTask(si, ti)" />
             </div>
             <el-button size="mini" type="text" icon="el-icon-plus" @click="addTask(si)">添加任务</el-button>
@@ -314,4 +314,16 @@ export default {
 
 <style scoped>
 .health-plan-review { padding: 20px; }
+/* == C 批内联清理工具类 == */
+.w-180 { width: 180px; }
+.w-140 { width: 140px; }
+.w-120 { width: 120px; }
+.w-90 { width: 90px; }
+.w-80 { width: 80px; }
+.w-70 { width: 70px; }
+.full-width { width: 100%; }
+.mr-4 { margin-right: 4px; }
+.section-card { margin-bottom: 12px; border: 1px solid #ebeef5; border-radius: 4px; padding: 8px; }
+.section-title { font-weight: 600; margin-bottom: 6px; }
+.task-row { display: flex; gap: 6px; margin-bottom: 6px; align-items: center; }
 </style>