/* ============ 数据排版精修层（三套通用） ============ */
.content-inner{max-width:1440px}
#view .content-inner,#view .grid,#view .section{min-width:0;max-width:100%}
#view .grid>*,#view .section>*,#view .card{min-width:0;max-width:100%}
.section{margin-bottom:22px}
.card-pad{padding:20px 22px}
.card-head{padding:16px 22px}
.card-head .card-title{display:flex;align-items:center;gap:8px}

/* KPI 数据块：结构稳定、数字突出 */
.kpi{padding:18px 22px;min-height:104px;display:flex;flex-direction:column;justify-content:center;gap:7px}
.kpi-label{font-size:13px;color:var(--ink-2,#8a94ab);font-weight:600;display:flex;align-items:center;gap:6px}
.kpi-value{display:flex;align-items:baseline;gap:4px;white-space:nowrap}
.kpi-value.kpi-date{white-space:normal;overflow-wrap:anywhere;line-height:1.35;font-size:clamp(13px,1.25vw,18px)}
.kpi-value small{font-size:12px;color:var(--ink-3,#98a2b3);margin-left:2px}
.kpi-foot{font-size:12px;line-height:1.5;min-height:17px}

/* 表格：密度与对齐 */
.table-wrap{max-width:100%}
.tbl,.table-wrap table,table.tbl{width:100%;border-collapse:separate;border-spacing:0}
th,td{vertical-align:middle}
th{padding:11px 14px;font-size:12px;text-transform:none;letter-spacing:.35px;font-weight:700;white-space:nowrap}
td{padding:11px 14px;font-size:13px;line-height:1.45}
tbody tr{height:46px}
tbody tr:last-child td{border-bottom:none}
.num,td.num,th.num,th:nth-last-child(-n+5){text-align:right}
.mono,td.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap}
th .th-arrow{margin-left:4px;opacity:.6}

/* 平台/账号名称列 */
.name-cell{min-width:120px;max-width:220px}
.name-cell .strong{font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.platform-tag{white-space:nowrap}
.dm-block{min-width:170px}
.dm-line{font-size:12px;line-height:1.7}
.dm-item{gap:5px}
.dm-label{color:var(--ink-3,#98a2b3)}
.dm-val{font-weight:650}
.col-maxw-260{max-width:260px}

/* 指标/状态/行动清单 */
.ds-stat .n{font-size:24px;font-weight:800;letter-spacing:-.2px}
.ds-svc{min-height:30px}
.health-item{padding:10px 2px}
.health-item + .health-item{border-top:1px solid rgba(128,140,165,.12)}
.health-label{font-weight:650;font-size:13px;line-height:1.4}
.health-text{font-size:13px;line-height:1.6}
.decision{min-height:44px;padding:11px 4px}
.decision .d-desc{margin-top:2px}

/* 文字排版（标题/描述/摘要统一，覆盖所有普通页面） */
.card-title,.d-title,.health-label,.ds-stat .n{line-height:1.5}
.card-sub,.d-desc,.health-text,.notice,.empty,td.desc,.t .t{line-height:1.65}
.card-sub,.d-desc,.health-text,.notice{overflow-wrap:anywhere}
.d-desc,.card-sub{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.card-sub,.d-desc,.health-text,.dm-label,.ink3{color:var(--ink-3,#98a2b3)}
.d-title{font-size:14px;font-weight:700}
.health-text{font-size:13px}

/* 运营建议中心结构化排版 */
.oc-item,.oc-row{padding:14px 16px;border-radius:14px;margin-bottom:10px;border:1px solid rgba(128,140,165,.12);background:rgba(128,140,165,.03)}
.oc-item:hover,.oc-row:hover{background:rgba(128,140,165,.06)}
.oc-title{font-size:14px;font-weight:750;line-height:1.55;color:var(--ink,#101828)}
.oc-ev,.oc-act{display:block;font-size:13px;line-height:1.7;overflow-wrap:anywhere;margin-top:6px}
.oc-ev{color:var(--ink-2,#475467);padding-left:10px;border-left:3px solid rgba(128,140,165,.35)}
.oc-act{color:var(--brand-ink,#1d4ed8);font-weight:600;padding:7px 10px;background:rgba(37,99,235,.07);border-radius:10px}
.oc-actions,.oc-meta,.oc-status{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}
.oc-pri{font-weight:800;font-size:11px;border-radius:99px;padding:2px 9px}

/* 总览布局修正：双栏不高亮拉伸，统计块等宽横排 */
#view .grid-2{align-items:start}
.ds-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:14px}
.ds-stats .ds-stat{width:auto;min-width:0;background:rgba(128,140,165,.06);border:1px solid rgba(128,140,165,.14);border-radius:14px;padding:14px 16px}
.ds-stats .ds-stat .n{font-size:24px;font-weight:800;font-variant-numeric:tabular-nums;line-height:1}
.ds-stats .ds-stat .n + span,.ds-stats .ds-stat > span:not(.n){font-size:12px;color:var(--ink-2,#475467);line-height:1.4;display:block}
.bar-row{min-height:20px}
.bar-row .bar-fill{min-width:0}
.platform-chips{flex-wrap:wrap}

/* 筛选与操作条 */
.filterbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:13px 20px}
.filterbar .result-count{margin-left:auto;white-space:nowrap}
.filter-search{width:220px}
.chip{height:30px;display:inline-flex;align-items:center}
.chip .chip-count{margin-left:6px;opacity:.75;font-variant-numeric:tabular-nums}

/* 按钮组/操作按钮 */
.btn{min-height:34px;padding:7px 14px;font-size:13px}
.icon-btn{width:34px;height:34px}
.btn-sm{min-height:28px;padding:4px 10px;font-size:12px}

/* 表单 */
.field{margin:14px 0}
.field input,.field select,.field textarea{width:100%}
.field .field-error{margin-top:5px;display:flex;align-items:center;gap:5px}

/* 空态/状态提示 */
.empty{padding:42px 20px;text-align:center;color:var(--ink-3,#98a2b3);font-size:13px}
.notice-success,.notice-danger,.notice-warning,.notice-info{margin-bottom:16px;font-size:13px}

/* 徽章与标签对齐 */
.badge{font-size:11px;padding:3px 9px}
.badge .dot{flex:none}
.b-green,.b-amber,.b-red,.b-blue,.b-purple,.b-gray{font-weight:600}

/* 数字统一 & 列表微调 */
.kpi-value,.ds-stat .n,.bar-num,.dm-val,td.num,td.mono{font-variant-numeric:tabular-nums}
.grid{gap:18px}
.grid-4,.grid-3,.grid-2,.grid-5{align-items:stretch}

@media(max-width:1100px){
  .filter-search{width:170px}
  td{padding:10px 10px}
  th{padding:10px 10px}
}
