/* 统一 KPI 统计网格响应式规范 */ .kpi-grid { display: grid !important; gap: 12px; width: 100%; box-sizing: border-box; } /* 规则 1:屏幕宽度 >= 1200px -> 固定 4 列 */ @media (min-width: 1200px) { .kpi-grid { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; } } /* 规则 2:768px <= 屏幕宽度 < 1200px -> 固定 2 列 */ @media (min-width: 768px) and (max-width: 1199.98px) { .kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } } /* 规则 3:屏幕宽度 < 768px -> 固定 1 列 */ @media (max-width: 767.98px) { .kpi-grid { grid-template-columns: repeat(1, minmax(0, 1fr)) !important; } } /* 强制子项允许收缩,防止内部长文本撑爆网格 */ .kpi-grid > *, .kpi-grid-6 > * { min-width: 0 !important; flex: none !important; /* 覆盖旧的 flex 逻辑 */ width: auto !important; /* 让 grid 控制宽度 */ } /* 6-2-1 网格规范 (对标 CRMEB 统计概况) */ .kpi-grid-6 { display: grid !important; gap: 12px; width: 100%; box-sizing: border-box; } @media (min-width: 1200px) { .kpi-grid-6 { grid-template-columns: repeat(6, minmax(0, 1fr)) !important; } } @media (min-width: 768px) and (max-width: 1199.98px) { .kpi-grid-6 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } } @media (max-width: 767.98px) { .kpi-grid-6 { grid-template-columns: repeat(1, minmax(0, 1fr)) !important; } } /* ===== 后台通用紧凑布局规范 (CRMEB 1:1) ===== */ /* 页面根容器: 去除各页面自带的 padding,由 Layout 统一管理 */ .admin-page { width: 100%; display: flex; flex-direction: column; padding: 0 !important; margin: 0 !important; } /* 垂直区块容器: 统一控制卡片、组件之间的间距 */ .admin-sections { display: flex; flex-direction: column; gap: var(--admin-section-gap); width: 100%; } /* 通用网格: 用于图表布局等 */ .admin-grid { display: grid; gap: var(--admin-section-gap); width: 100%; } /* 统一卡片内部间距: 替代业务组件或页面内硬编码的 padding */ .admin-card { padding: var(--admin-card-padding) !important; background: #ffffff; border-radius: 4px; }