Files
Neo-ZQYY/apps/DEMO-miniprogram/miniprogram/pages/board-finance/board-finance.wxss.bak-x2

1394 lines
28 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/* 财务看板页样式 — 忠于 H5 原型87.5% 缩放 */
/*
AI_CHANGELOG
- 2026-03-12 23:30:00 | Prompt: 校对小程序财务看板经营一览部分与 H5 原型视觉还原 | Direct causeWXSS 间距/字号与 H5 原型存在 2-4rpx 偏差 | Summary逐属性校对经营一览全部元素Tab 导航、筛选栏、板块头、3列/2列网格、确认收入行、分隔线、AI 洞察区域等 23 处),统一按 H5 px×2=rpx间距和 px×2×0.875 取偶数(字号)换算规则对齐 | Verify微信开发者工具预览对比 H5 原型截图
- 2026-03-13 02:00:00 | Prompt: 补齐 line-height + 修复间距叠加 | Direct causeTailwind 字号类捆绑 line-heightWXSS 只写 font-size 未写 line-height 导致块高度偏矮overview-grid-2 底部 padding 与 ai-insight mt 叠加导致间距翻倍 | Summary(1) 5 处 line-height 补齐cell-value 48rpx、cell-label 28rpx、confirmed 34rpx/48rpx(2) overview-grid-2 去掉多余底部 padding 32rpx (3) ai-insight-line lh 从 1.5 改为 34rpx | VerifyPlaywright 实测 H5 元素尺寸 + weixin-devtools 截图对比
- 2026-03-13 04:00:00 | Prompt: 板块2-6全面校对预收资产/应计收入/现金流入/现金流出/助教分析) | Direct causePlaywright 实测 H5 元素尺寸后发现板块2-6存在系统性 padding/fontSize/gap 偏差 | Summary31处修复——(1) 共用样式card-section-title mb、card-header-desc-light color (2) 表格行table-row/gift-table/rev-table/coach-fin padding 对齐 32rpx (3) 字号14px 对应选择器统一从 26rpx→24rpxtable-row-label-bold/cell-value-sm/total-balance-label/sub-title-text/flow-total-label/flow-sum-label/flow-item-name/flow-header-title/coach-fin-bold/coach-fin-val/expense-group-label(4) 间距expense-grid gap→16rpx mb→32rpx、expense-cell padding→20rpx 24rpx、expense-cell-label mb→8rpx、flow-detail-list margin→16rpx 32rpx (5) 网格table-row-grid3 gap/padding 对齐 | Verifyweixin-devtools 截图对比 H5 原型
*/
/* ===== 三态 ===== */
.page-loading,
.page-empty,
.page-error {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
height: 60vh;
}
/* ===== 看板 Tab 导航 ===== */
.board-tabs {
display: flex;
background: #ffffff;
border-bottom: 2rpx solid #eeeeee;
position: sticky;
top: 0;
z-index: 20;
box-shadow: 0 2rpx 4rpx rgba(0, 0, 0, 0.05);
}
/* CHANGE 2026-03-12 | intent: 校对 H5 py-3(12px→24rpx) */
.board-tab {
flex: 1;
text-align: center;
padding: 24rpx 0;
font-size: 24rpx;
line-height: 36rpx;
font-weight: 500;
color: #8b8b8b;
position: relative;
}
.board-tab--active {
color: #0052d9;
font-weight: 500;
}
.board-tab--active::after {
content: '';
position: absolute;
bottom: 0;
left: 50%;
transform: translateX(-50%);
width: 42rpx;
height: 5rpx;
background: linear-gradient(90deg, #0052d9, #5b9cf8);
border-radius: 3rpx;
}
/* ===== 筛选区域 ===== */
/* CHANGE 2026-03-12 | intent: 校对 H5 px-4(16px→32rpx) py-2(8px→16rpx) */
.filter-bar {
background: #f3f3f3;
padding: 16rpx 32rpx;
position: sticky;
top: 70rpx;
z-index: 15;
border-bottom: 2rpx solid #eeeeee;
}
/* CHANGE 2026-03-12 | intent: 校对 H5 gap-2(8px→16rpx) p-1.5(6px→12rpx) */
.filter-bar-inner {
display: flex;
align-items: center;
gap: 16rpx;
background: #ffffff;
border-radius: 16rpx;
padding: 12rpx;
border: 2rpx solid #eeeeee;
transition: opacity 0.2s;
}
/* P2: 下滑隐藏筛选内容 */
.filter-bar-inner--hidden {
opacity: 0;
pointer-events: none;
}
.toc-btn {
width: 70rpx;
height: 70rpx;
background: linear-gradient(135deg, #0052d9 0%, #5b9cf8 100%);
border-radius: 16rpx;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
}
.toc-btn:active {
opacity: 0.85;
}
.filter-item {
flex: 1;
min-width: 0;
}
.compare-switch {
display: flex;
align-items: center;
gap: 8rpx;
padding: 0 8rpx;
flex-shrink: 0;
}
.compare-label {
font-size: 22rpx;
color: #8b8b8b;
}
.compare-toggle {
width: 78rpx;
height: 42rpx;
background: #dcdcdc;
border-radius: 22rpx;
position: relative;
transition: background 0.3s;
}
.compare-toggle--active {
background: #0052d9;
}
.compare-toggle-dot {
position: absolute;
width: 36rpx;
height: 36rpx;
background: #ffffff;
border-radius: 50%;
top: 3rpx;
left: 3rpx;
transition: left 0.3s;
box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.2);
}
.compare-toggle--active .compare-toggle-dot {
left: 39rpx;
}
/* ===== 内容区(页面自然滚动) ===== */
.board-content {
/* 不设固定高度,使用页面自然滚动 */
}
/* ===== 板块卡片通用 ===== */
/* CHANGE 2026-03-12 | intent: 校对 H5 mx-4(16px→32rpx) mb-8(32px→64rpx) */
.card-section {
margin: 0 32rpx 32rpx;
background: #ffffff;
border-radius: 16rpx;
overflow: hidden;
border: 2rpx solid #e7e7e7;
}
/* 深色板块(经营一览) — margin-bottom 匹配 H5 mb-8 (32px→64rpx) */
.section-dark {
background: #3a3a3a;
color: #ffffff;
border-color: transparent;
margin-bottom: 64rpx;
}
.card-section:first-child {
margin-top: 32rpx;
}
/* ===== 板块头 - 深色 ===== */
/* CHANGE 2026-03-12 | intent: 校对 H5 原型 gap-3(12px→24rpx)、padding 14px 16px→28rpx 32rpx */
.card-header-dark {
display: flex;
align-items: flex-start;
gap: 24rpx;
padding: 28rpx 32rpx;
background: #1a1a1a;
}
.card-header-emoji {
font-size: 36rpx;
line-height: 1;
flex-shrink: 0;
}
.card-header-text {
flex: 1;
}
.card-header-title-dark {
font-size: 28rpx;
font-weight: 600;
color: #ffffff;
display: block;
}
/* CHANGE 2026-03-12 | intent: 校对 H5 mt-0.5(2px→4rpx) */
.card-header-desc-dark {
font-size: 22rpx;
color: rgba(255, 255, 255, 0.5);
display: block;
margin-top: 4rpx;
}
/* ===== 板块头 - 浅色(拟物灰色渐变) ===== */
/* CHANGE 2026-03-12 | intent: 校对 H5 card-header gap:10px→20rpx, padding:12px 16px→24rpx 32rpx */
.card-header-light {
display: flex;
align-items: flex-start;
gap: 20rpx;
margin: -2rpx -2rpx 0 -2rpx;
padding: 24rpx 32rpx;
background: linear-gradient(to bottom, #e8e8e8, #d8d8d8);
border-bottom: 2rpx solid #c8c8c8;
}
.card-header-title-light {
font-size: 24rpx;
font-weight: 600;
color: #222222;
display: block;
}
/* CHANGE 2026-03-13 | intent: 校对 H5 card-header-desc color:#666→#666666 */
.card-header-desc-light {
font-size: 20rpx;
color: #666666;
display: block;
margin-top: 4rpx;
}
/* ===== 板块正文容器 ===== */
/* CHANGE 2026-03-12 | intent: 校对 H5 p-4(16px→32rpx) */
.section-body {
padding: 32rpx 32rpx;
}
/* ===== 子标题 ===== */
/* CHANGE 2026-03-12 | intent: 校对 H5 gap-2(8px→16rpx)、mb-3(12px→24rpx)、padding 匹配 summary-content 16px→32rpx */
.sub-section-label {
display: flex;
align-items: center;
gap: 16rpx;
padding: 0rpx 32rpx 24rpx;
}
.card-header-dark + .sub-section-label {
padding-top: 32rpx;
}
.sub-label-text {
font-size: 22rpx;
color: rgba(255, 255, 255, 0.7);
font-weight: 500;
}
/* CHANGE 2026-03-12 | intent: 校对 H5 text-xs(12px→22rpx) */
.sub-label-desc {
font-size: 22rpx;
color: rgba(255, 255, 255, 0.4);
}
/* ===== 经营一览 - 3列网格 ===== */
/* CHANGE 2026-03-12 | intent: 校对 H5 gap-3(12px→24rpx)、mb-3(12px→24rpx)、padding 匹配 summary-content */
.overview-grid-3 {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 24rpx;
padding: 0 32rpx 24rpx;
}
.overview-cell {
text-align: center;
}
/* CHANGE 2026-03-12 | intent: 校对 H5 help-icon margin-left:4px→8rpx用 gap 实现 */
.cell-label-row {
display: flex;
align-items: center;
justify-content: center;
gap: 8rpx;
margin-bottom: 8rpx;
}
/* CHANGE 2026-03-12 | intent: 补齐 H5 text-xs 的 line-height(16px→28rpx 87.5%) */
.cell-label-light {
font-size: 22rpx;
color: rgba(255, 255, 255, 0.6);
line-height: 28rpx;
}
.help-icon-light {
display: inline-flex;
align-items: center;
justify-content: center;
width: 28rpx;
height: 28rpx;
background: rgba(255, 255, 255, 0.2);
border-radius: 50%;
font-size: 18rpx;
color: rgba(255, 255, 255, 0.7);
flex-shrink: 0;
}
/* CHANGE 2026-03-12 | intent: 补齐 H5 text-xl 的 line-height(28px→48rpx 87.5%) */
.cell-value-white {
font-size: 36rpx;
font-weight: 700;
color: #ffffff;
display: block;
line-height: 48rpx;
}
.cell-value-red {
font-size: 36rpx;
font-weight: 700;
color: rgba(227, 77, 89, 0.85);
display: block;
line-height: 48rpx;
}
.cell-value-gray {
font-size: 36rpx;
font-weight: 700;
color: #c5c5c5;
display: block;
line-height: 48rpx;
}
/* ===== 环比数据行 ===== */
/* CHANGE 2026-03-12 | intent: 校对 H5 compare-data margin-top:2px→4rpx、gap:2px→4rpx */
.compare-row {
display: flex;
align-items: center;
justify-content: center;
gap: 4rpx;
margin-top: 4rpx;
}
.compare-text-up { font-size: 22rpx; color: #e34d59; }
.compare-text-down { font-size: 22rpx; color: #00a870; }
.compare-text-up-sm { font-size: 22rpx; color: #e34d59; }
.compare-text-down-sm { font-size: 22rpx; color: #00a870; }
.compare-text-up-xs { font-size: 20rpx; color: #e34d59; }
.compare-text-down-xs { font-size: 20rpx; color: #00a870; }
.compare-text-flat-xs { font-size: 20rpx; color: #a6a6a6; }
.compare-row-inline {
display: flex;
align-items: center;
gap: 2rpx;
}
/* ===== 确认收入行 ===== */
/* CHANGE 2026-03-12 | intent: 校对 H5 px-4(16px→32rpx) py-3(12px→24rpx) rounded-xl(12px→24rpx)mb 匹配父容器 mb-4(16px→32rpx) */
.confirmed-row {
display: flex;
justify-content: space-between;
align-items: center;
margin: 0 32rpx 32rpx;
padding: 24rpx 32rpx;
background: rgba(255, 255, 255, 0.1);
border-radius: 24rpx;
}
.confirmed-left {
display: flex;
align-items: center;
gap: 8rpx;
}
/* CHANGE 2026-03-12 | intent: 补齐 H5 text-sm 的 line-height(20px→34rpx 87.5%) */
.confirmed-label {
font-size: 24rpx;
color: rgba(255, 255, 255, 0.7);
line-height: 34rpx;
}
/* CHANGE 2026-03-12 | intent: 校对 H5 gap-3(12px→24rpx) */
.confirmed-right {
display: flex;
align-items: center;
gap: 24rpx;
}
/* CHANGE 2026-03-12 | intent: 补齐 H5 text-xl 的 line-height(28px→48rpx 87.5%) */
.confirmed-value {
font-size: 36rpx;
font-weight: 700;
color: #f0f0f0;
line-height: 48rpx;
}
/* CHANGE 2026-03-12 | intent: 校对 H5 my-4(16px→32rpx)、margin 匹配 summary-content padding */
.section-divider-light {
height: 1rpx;
background: rgba(255, 255, 255, 0.1);
margin: 32rpx 32rpx;
}
/* ===== 经营一览 - 2列网格 ===== */
/* CHANGE 2026-03-12 | intent: 校对 H5 gap-3(12px→24rpx)、padding 匹配 summary-content底部无 paddingH5 grid-cols-2 mb=0间距由 ai-insight mt 提供) */
.overview-grid-2 {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 24rpx;
padding: 0 32rpx;
}
.overview-cell-bg {
text-align: center;
background: rgba(255, 255, 255, 0.05);
border-radius: 24rpx;
padding: 24rpx;
}
/* CHANGE 2026-03-12 | intent: 补齐 H5 text-lg 的 line-height(28px→48rpx 87.5% 取偶数) */
.cell-value-white-sm {
font-size: 32rpx;
font-weight: 700;
color: #f0f0f0;
display: block;
line-height: 48rpx;
}
.cell-value-gray-sm {
font-size: 32rpx;
font-weight: 700;
color: #c5c5c5;
display: block;
line-height: 48rpx;
}
/* ===== AI 洞察 ===== */
/* CHANGE 2026-03-12 | intent: 校对 H5 ai-insight-section margin/padding 16px→32rpx、gap-8px→16rpx、mb-12px→24rpx */
.ai-insight-section {
margin: 32rpx -2rpx -2rpx -2rpx;
padding: 32rpx 32rpx;
background: #505050;
border-top: 2rpx dashed rgba(255, 255, 255, 0.25);
}
.ai-insight-header {
display: flex;
align-items: center;
gap: 16rpx;
margin-bottom: 24rpx;
}
/* CHANGE 2026-03-12 | intent: H5 原型 AI 图标为 SVG 机器人24×24 → 42rpx不可用 emoji 替代 */
.ai-insight-icon {
width: 42rpx;
height: 42rpx;
background: linear-gradient(135deg, #667eea, #764ba2);
border-radius: 16rpx;
display: flex;
align-items: center;
justify-content: center;
overflow: hidden;
}
/* CHANGE 2026-03-12 | intent: H5 SVG 18px → 18×2×0.875=31.5 取偶数 32rpx */
.ai-insight-icon-img {
width: 32rpx;
height: 32rpx;
}
/* CHANGE 2026-03-12 | intent: 校对 H5 ai-insight-title font-size:13px→26rpx(87.5%=22rpx) */
.ai-insight-title {
font-size: 22rpx;
font-weight: 500;
color: rgba(255, 255, 255, 0.8);
}
/* CHANGE 2026-03-12 | intent: 校对 H5 space-y-2(8px→16rpx) */
.ai-insight-body {
display: flex;
flex-direction: column;
gap: 16rpx;
}
/* CHANGE 2026-03-12 | intent: H5 text-sm lh=20px → 87.5%=34rpx之前用 1.5 导致 36rpx 偏大 */
.ai-insight-line {
font-size: 24rpx;
color: rgba(255, 255, 255, 0.85);
line-height: 34rpx;
}
.ai-insight-dim {
color: rgba(255, 255, 255, 0.5);
}
/* CHANGE 2026-03-12 | intent: H5 原型 AI 洞察第三行关键词有 underline 样式 */
.ai-insight-underline {
text-decoration: underline;
color: rgba(255, 255, 255, 0.85);
}
/* ===== 通用表格边框容器 ===== */
.table-bordered {
border: 2rpx solid #e7e7e7;
border-radius: 16rpx;
overflow: hidden;
}
/* ===== 板块小标题 ===== */
/* CHANGE 2026-03-13 | intent: 校对 H5 card-section-title mb:12px→24rpx */
.card-section-title {
font-size: 22rpx;
font-weight: 600;
color: #393939;
margin-bottom: 24rpx;
display: block;
}
.card-section-title-sub {
font-size: 22rpx;
color: #8b8b8b;
font-weight: 400;
}
/* ===== 预收资产 - 储值卡统计 ===== */
/* CHANGE 2026-03-13 | intent: 校对 H5 table-row padding:12px 16px→24rpx 32rpx */
.table-row {
display: flex;
justify-content: space-between;
align-items: center;
padding: 24rpx 32rpx;
border-bottom: 2rpx solid #f3f3f3;
}
.table-row:last-child {
border-bottom: none;
}
.table-row--highlight {
background: #fafafa;
}
.table-row--footer {
background: #f0f0f0;
}
.table-row-left {
display: flex;
align-items: center;
gap: 8rpx;
}
.table-row-right {
display: flex;
align-items: center;
gap: 12rpx;
text-align: right;
}
/* CHANGE 2026-03-13 | intent: 校对 H5 table-row-label-bold fontSize:14px→24rpx(87.5%) */
.table-row-label-bold {
font-size: 24rpx;
font-weight: 500;
color: #4b4b4b;
}
.table-row-value-lg {
font-size: 32rpx;
font-weight: 700;
color: #242424;
}
/* 帮助图标 - 深色版 */
.help-icon-dark {
display: inline-flex;
align-items: center;
justify-content: center;
width: 28rpx;
height: 28rpx;
background: rgba(0, 0, 0, 0.08);
border-radius: 50%;
font-size: 18rpx;
color: #777777;
flex-shrink: 0;
}
.help-icon-dark-sm {
display: inline-flex;
align-items: center;
justify-content: center;
width: 24rpx;
height: 24rpx;
background: rgba(0, 0, 0, 0.08);
border-radius: 50%;
font-size: 16rpx;
color: #777777;
flex-shrink: 0;
}
/* 储值卡 3列网格行 */
/* CHANGE 2026-03-13 | intent: 校对 H5 table-row-grid3 gap:12px→24rpx, padding:12px 16px→24rpx 32rpx */
.table-row-grid3 {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 24rpx;
padding: 24rpx 32rpx;
background: #ffffff;
border-bottom: 2rpx solid #f3f3f3;
}
.grid-cell {
text-align: center;
}
.cell-label-row-sm {
display: flex;
align-items: center;
justify-content: center;
gap: 4rpx;
margin-bottom: 6rpx;
}
.cell-label-sm {
font-size: 22rpx;
color: #8b8b8b;
}
/* CHANGE 2026-03-13 | intent: 校对 H5 cell-value-sm fontSize:14px→24rpx(87.5%) */
.cell-value-sm {
font-size: 24rpx;
font-weight: 500;
color: #4b4b4b;
display: block;
}
/* ===== 赠送卡表格 ===== */
/* CHANGE 2026-03-13 | intent: 校对 H5 gift-table-header padding:8px 16px→16rpx 32rpx */
.gift-table-header {
display: grid;
grid-template-columns: 1.2fr 1fr 1fr 1fr;
gap: 8rpx;
padding: 16rpx 32rpx;
background: #f0f0f0;
}
.gift-col {
text-align: right;
font-size: 24rpx;
color: #4b4b4b;
}
.gift-col--name {
text-align: left;
font-weight: 500;
}
.gift-table-header .gift-col {
font-weight: 500;
color: #393939;
}
/* CHANGE 2026-03-13 | intent: 校对 H5 gift-table-row padding:12px 16px→24rpx 32rpx */
.gift-table-row {
display: grid;
grid-template-columns: 1.2fr 1fr 1fr 1fr;
gap: 8rpx;
padding: 24rpx 32rpx;
border-bottom: 2rpx solid #f3f3f3;
align-items: start;
}
.gift-table-row:last-child {
border-bottom: none;
background: #fafafa;
}
.gift-row-label {
font-size: 24rpx;
font-weight: 500;
color: #4b4b4b;
display: block;
}
.gift-row-total {
font-size: 22rpx;
font-weight: 600;
color: #393939;
display: block;
margin-top: 4rpx;
}
.gift-col-val {
font-size: 24rpx;
color: #8b8b8b;
display: block;
}
.gift-table-row:last-child .gift-row-label {
font-weight: 600;
color: #242424;
}
.gift-table-row:last-child .gift-row-total {
font-weight: 700;
color: #242424;
}
.gift-table-row:last-child .gift-col-val {
font-weight: 700;
color: #242424;
}
/* ===== 全类别余额合计 ===== */
/* CHANGE 2026-03-13 | intent: 校对 H5 total-balance-row padding:12px 16px→24rpx 32rpx */
.total-balance-row {
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 24rpx;
padding: 24rpx 32rpx;
background: #f0f0f0;
border-radius: 16rpx;
border: 2rpx solid #e7e7e7;
}
.total-balance-left {
display: flex;
flex-direction: column;
gap: 4rpx;
}
/* CHANGE 2026-03-13 | intent: 校对 H5 total-balance-label fontSize:14px→24rpx(87.5%) */
.total-balance-label {
font-size: 24rpx;
font-weight: 500;
color: #4b4b4b;
display: flex;
align-items: center;
gap: 8rpx;
}
.total-balance-note {
font-size: 18rpx;
color: #a6a6a6;
}
.total-balance-right {
display: flex;
align-items: center;
gap: 12rpx;
text-align: right;
}
.total-balance-value {
font-size: 36rpx;
font-weight: 700;
color: #242424;
}
/* ===== 应计收入 - 子标题行 ===== */
/* CHANGE 2026-03-13 | intent: 校对 H5 sub-title-row gap:8px→16rpx, mb:12px→24rpx */
.sub-title-row {
display: flex;
align-items: center;
gap: 16rpx;
margin-bottom: 24rpx;
}
/* CHANGE 2026-03-13 | intent: 校对 H5 sub-title-text fontSize:14px→24rpx(87.5%) */
.sub-title-text {
font-size: 24rpx;
font-weight: 600;
color: #4b4b4b;
}
.sub-title-desc {
font-size: 22rpx;
color: #a6a6a6;
}
/* ===== 收入结构表格 ===== */
/* CHANGE 2026-03-13 | intent: 校对 H5 rev-table-header padding:8px 16px→16rpx 32rpx */
.rev-table-header {
display: grid;
grid-template-columns: 1.3fr 1fr 1fr 1fr;
gap: 4rpx;
padding: 16rpx 32rpx;
background: #f0f0f0;
}
.rev-table-header .rev-col {
font-size: 22rpx;
color: #5e5e5e;
font-weight: 500;
}
.rev-col {
text-align: right;
}
.rev-col--name {
text-align: left;
}
/* CHANGE 2026-03-13 | intent: 校对 H5 rev-table-row padding:12px 16px→24rpx 32rpx */
.rev-table-row {
display: grid;
grid-template-columns: 1.3fr 1fr 1fr 1fr;
gap: 4rpx;
padding: 24rpx 32rpx;
border-bottom: 2rpx solid #f3f3f3;
align-items: start;
}
.rev-table-row:last-child {
border-bottom: none;
}
.rev-table-row--sub {
background: rgba(255, 255, 255, 0.5);
}
.rev-name {
font-size: 24rpx;
font-weight: 600;
color: #393939;
}
.rev-name-sub {
font-size: 24rpx;
color: #8b8b8b;
padding-left: 24rpx;
}
.rev-name-desc {
font-size: 20rpx;
color: #a6a6a6;
display: block;
margin-top: 2rpx;
}
.rev-val {
font-size: 24rpx;
color: #4b4b4b;
}
.rev-val--bold {
font-weight: 600;
color: #393939;
}
.rev-val--red {
color: rgba(227, 77, 89, 0.85);
}
.rev-val--muted {
color: #c5c5c5;
}
/* ===== 损益链流程 ===== */
/* CHANGE 2026-03-13 | intent: 校对 H5 flow-header padding:10px 16px→20rpx 32rpx */
.flow-header {
padding: 20rpx 32rpx;
background: #fafafa;
}
.flow-header--deduct {
border-top: 2rpx solid #f3f3f3;
}
/* CHANGE 2026-03-13 | intent: 校对 H5 flow-header-title fontSize:14px→24rpx(87.5%) */
.flow-header-title {
font-size: 24rpx;
font-weight: 600;
color: #4b4b4b;
display: block;
}
.flow-header-desc {
font-size: 20rpx;
color: #8b8b8b;
display: block;
margin-top: 2rpx;
}
/* CHANGE 2026-03-13 | intent: 校对 H5 flow-detail-list padding:12px 16px→24rpx 32rpx, margin:8px 16px→16rpx 32rpx */
.flow-detail-list {
padding: 24rpx 32rpx;
margin: 16rpx 32rpx;
border-left: 4rpx solid #c5c5c5;
}
.flow-detail-item {
display: flex;
justify-content: space-between;
align-items: center;
padding: 10rpx 0;
}
.flow-detail-name {
font-size: 24rpx;
color: #5e5e5e;
}
.flow-detail-name-group {
display: flex;
flex-direction: column;
}
.flow-detail-name-desc {
font-size: 20rpx;
color: #a6a6a6;
margin-top: 2rpx;
}
.flow-detail-right {
display: flex;
align-items: center;
gap: 8rpx;
}
.flow-detail-val {
font-size: 24rpx;
font-weight: 500;
color: #4b4b4b;
}
.flow-detail-val--red {
color: rgba(227, 77, 89, 0.85);
}
.flow-detail-val--muted {
color: #9e9e9e;
}
/* CHANGE 2026-03-13 | intent: 校对 H5 flow-total-row padding:12px 16px→24rpx 32rpx */
.flow-total-row {
display: flex;
justify-content: space-between;
align-items: center;
padding: 24rpx 32rpx;
background: #f0f0f0;
}
.flow-total-row--accent {
background: #e8f0fe;
}
.flow-total-left {
display: flex;
flex-direction: column;
}
/* CHANGE 2026-03-13 | intent: 校对 H5 flow-total-label fontSize:14px→24rpx(87.5%) */
.flow-total-label {
font-size: 24rpx;
font-weight: 600;
color: #4b4b4b;
}
.flow-total-desc {
font-size: 20rpx;
color: #8b8b8b;
}
.flow-total-right {
display: flex;
align-items: center;
gap: 12rpx;
}
.flow-total-value {
font-size: 32rpx;
font-weight: 600;
color: #242424;
}
/* ===== 现金流入 - 流水项 ===== */
.flow-group-label {
font-size: 22rpx;
font-weight: 500;
color: #8b8b8b;
display: block;
margin-bottom: 8rpx;
}
.flow-item-list {
/* 无额外样式 */
}
.flow-item {
display: flex;
justify-content: space-between;
align-items: center;
padding: 16rpx 0;
border-bottom: 2rpx solid #f3f3f3;
}
.flow-item:last-child {
border-bottom: none;
}
.flow-item-left {
display: flex;
flex-direction: column;
}
/* CHANGE 2026-03-13 | intent: 校对 H5 flow-item-name fontSize:14px→24rpx(87.5%) */
.flow-item-name {
font-size: 24rpx;
font-weight: 500;
color: #4b4b4b;
}
.flow-item-desc {
font-size: 20rpx;
color: #a6a6a6;
margin-top: 4rpx;
}
.flow-item-right {
display: flex;
flex-direction: column;
align-items: flex-end;
}
.flow-item-value {
font-size: 28rpx;
font-weight: 600;
color: #242424;
}
/* 合计行 */
/* CHANGE 2026-03-13 | intent: 校对 H5 flow-sum-row padding:12px 16px→24rpx 32rpx */
.flow-sum-row {
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 16rpx;
padding: 24rpx 32rpx;
background: #f0f0f0;
border-radius: 16rpx;
border-top: 2rpx solid #e7e7e7;
}
/* CHANGE 2026-03-13 | intent: 校对 H5 flow-sum-label fontSize:14px→24rpx(87.5%) */
.flow-sum-label {
font-size: 24rpx;
font-weight: 600;
color: #4b4b4b;
}
.flow-sum-right {
display: flex;
align-items: center;
gap: 12rpx;
}
.flow-sum-value {
font-size: 32rpx;
font-weight: 700;
color: #242424;
}
/* ===== 现金流出 - 网格 ===== */
/* CHANGE 2026-03-13 | intent: 校对 H5 expense-group-label fontSize:14px→24rpx(87.5%), mb:8px→16rpx */
.expense-group-label {
font-size: 24rpx;
font-weight: 500;
color: #4b4b4b;
display: block;
margin-bottom: 16rpx;
margin-top: 24rpx;
}
.expense-group-label:first-child {
margin-top: 0;
}
/* CHANGE 2026-03-13 | intent: 校对 H5 expense-group-note mb:8px→16rpx */
.expense-group-note {
font-size: 20rpx;
color: #a6a6a6;
display: block;
margin-top: -8rpx;
margin-bottom: 16rpx;
}
/* CHANGE 2026-03-13 | intent: 校对 H5 expense-grid-3 gap:8px→16rpx, mb:16px→32rpx */
.expense-grid-3 {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 16rpx;
margin-bottom: 32rpx;
}
/* CHANGE 2026-03-13 | intent: 校对 H5 expense-grid-2 gap:8px→16rpx, mb:16px→32rpx */
.expense-grid-2 {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 16rpx;
margin-bottom: 32rpx;
}
/* CHANGE 2026-03-13 | intent: 校对 H5 expense-cell padding:10px 12px→20rpx 24rpx */
.expense-cell {
background: #fafafa;
border: 2rpx solid #e7e7e7;
border-radius: 16rpx;
padding: 20rpx 24rpx;
text-align: center;
}
/* CHANGE 2026-03-13 | intent: 校对 H5 expense-cell-label mb:4px→8rpx */
.expense-cell-label {
font-size: 22rpx;
color: #8b8b8b;
display: block;
margin-bottom: 8rpx;
}
.expense-cell-value {
font-size: 28rpx;
font-weight: 600;
color: #242424;
display: block;
}
/* ===== 助教分析表格 ===== */
/* CHANGE 2026-03-13 | intent: 校对 H5 coach-fin-header padding:8px 16px→16rpx 32rpx */
.coach-fin-header {
display: grid;
grid-template-columns: 1fr 1.2fr 1.2fr 1fr;
gap: 4rpx;
padding: 16rpx 32rpx;
background: #f0f0f0;
}
.coach-fin-header .coach-fin-col {
font-size: 22rpx;
color: #5e5e5e;
font-weight: 500;
}
.coach-fin-col {
text-align: right;
}
.coach-fin-col--name {
text-align: left;
font-size: 24rpx;
color: #5e5e5e;
}
/* CHANGE 2026-03-13 | intent: 校对 H5 coach-fin-row padding:8px 16px→16rpx 32rpx */
.coach-fin-row {
display: grid;
grid-template-columns: 1fr 1.2fr 1.2fr 1fr;
gap: 4rpx;
padding: 16rpx 32rpx;
border-bottom: 2rpx solid #f3f3f3;
align-items: start;
}
.coach-fin-row:last-child {
border-bottom: none;
}
.coach-fin-row--total {
background: #fafafa;
border-bottom: 2rpx solid #e7e7e7;
}
/* CHANGE 2026-03-13 | intent: 校对 H5 coach-fin-bold fontSize:14px→24rpx(87.5%) */
.coach-fin-bold {
font-size: 24rpx;
font-weight: 600;
color: #242424;
display: block;
}
/* CHANGE 2026-03-13 | intent: 校对 H5 coach-fin-val fontSize:14px→24rpx(87.5%) */
.coach-fin-val {
font-size: 24rpx;
color: #5e5e5e;
display: block;
}
.coach-fin-val-sm {
font-size: 24rpx;
color: #8b8b8b;
display: block;
}
/* ===== 目录导航 ===== */
.toc-overlay {
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: rgba(0, 0, 0, 0.3);
z-index: 1000;
}
.toc-panel {
position: fixed;
top: 200rpx;
left: 32rpx;
right: 32rpx;
background: #ffffff;
border-radius: 24rpx;
box-shadow: 0 16rpx 64rpx rgba(0, 0, 0, 0.15);
z-index: 1001;
overflow: hidden;
transform: scale(0.9);
opacity: 0;
pointer-events: none;
transition: all 0.25s ease-out;
}
.toc-panel--show {
transform: scale(1);
opacity: 1;
pointer-events: auto;
}
.toc-header {
background: linear-gradient(135deg, #f8faff 0%, #ecf2fe 100%);
padding: 24rpx 28rpx;
border-bottom: 2rpx solid #e7e7e7;
}
.toc-header-text {
font-size: 28rpx;
font-weight: 600;
color: #393939;
}
.toc-list {
padding: 12rpx 0;
}
.toc-item {
display: flex;
align-items: center;
gap: 20rpx;
padding: 20rpx 28rpx;
}
.toc-item:active {
background: #f8faff;
}
.toc-item--active {
background: #ecf2fe;
}
.toc-item-emoji {
font-size: 32rpx;
flex-shrink: 0;
}
.toc-item-text {
font-size: 26rpx;
color: #4b4b4b;
}
.toc-item--active .toc-item-text {
color: #0052d9;
font-weight: 500;
}
/* ===== 指标说明弹窗 ===== */
.tip-overlay {
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: rgba(0, 0, 0, 0.3);
z-index: 1999;
}
.tip-toast {
position: fixed;
bottom: 200rpx;
left: 32rpx;
right: 32rpx;
background: #ffffff;
border-radius: 24rpx;
padding: 28rpx;
box-shadow: 0 16rpx 64rpx rgba(0, 0, 0, 0.25);
z-index: 2000;
transform: translateY(120%);
opacity: 0;
transition: all 0.3s ease;
}
.tip-toast--show {
transform: translateY(0);
opacity: 1;
}
.tip-toast-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 16rpx;
}
.tip-toast-title {
font-size: 30rpx;
font-weight: 600;
color: #242424;
}
.tip-toast-close {
padding: 8rpx;
}
.tip-toast-content {
font-size: 24rpx;
color: #4b4b4b;
line-height: 1.6;
white-space: pre-wrap;
}
/* ===== 错误态与重试 ===== */
.retry-btn {
margin-top: 32rpx;
padding: 16rpx 48rpx;
background: #0052d9;
border-radius: 16rpx;
}
.retry-btn:active {
opacity: 0.85;
}
.retry-btn-text {
font-size: 28rpx;
color: #ffffff;
}
/* ===== P1: 吸顶板块头 ===== */
.sticky-section-header {
display: flex;
align-items: center;
gap: 12rpx;
padding: 14rpx 20rpx;
min-height: 70rpx;
box-sizing: border-box;
}
.sticky-header-emoji {
font-size: 28rpx;
flex-shrink: 0;
}
.sticky-header-title {
font-size: 26rpx;
font-weight: 600;
color: #393939;
flex-shrink: 0;
}
.sticky-header-tags {
display: flex;
align-items: center;
gap: 8rpx;
margin-left: auto;
}
.sticky-header-tag {
font-size: 22rpx;
color: #5e5e5e;
background: #f0f0f0;
padding: 4rpx 14rpx;
border-radius: 8rpx;
}
/* ===== 底部安全区 ===== */
.safe-bottom {
height: 200rpx;
padding-bottom: env(safe-area-inset-bottom);
}