/* 基础容器 */ .container { background-color: #F5F7FA; min-height: 100vh; display: flex; flex-direction: column; } /* 导航栏 */ .nav-bar { background-color: #fff; padding-top: var(--status-bar-height); padding-left: 0.9375rem; padding-right: 0.9375rem; height: 2.75rem; box-sizing: content-box; display: flex; justify-content: space-between; align-items: center; position: -webkit-sticky; position: sticky; top: 0; z-index: 100; } .nav-left { height: 100%; display: flex; align-items: center; width: 1.875rem; } .back-icon { width: 1.25rem; height: 1.25rem; transform: rotate(180deg); } .nav-title { font-size: 0.875rem; /* 14pt (Strictly enforced) */ font-weight: bold; color: #333; } .nav-right { width: 1.875rem; } /* 内容区域 */ .content-area { flex: 1; display: flex; flex-direction: column; } /* Tabs */ .tabs-row { background-color: #fff; display: flex; justify-content: space-around; /* Match Figure 1 spacing */ padding-top: 0.625rem; padding-bottom: 0.0625rem; margin-bottom: 0.625rem; } .tab-item { padding-bottom: 0.5rem; font-size: 0.875rem; color: #666; position: relative; display: flex; flex-direction: column; align-items: center; min-width: 3.125rem; } .tab-item.active { font-weight: bold; color: #FF6B00; /* Orange text for active */ } .tab-line { width: 1.25rem; /* Little wider line */ height: 0.125rem; background-color: #FF6B00; border-radius: 0.125rem; position: absolute; bottom: 0; } /* 列表容器 */ .bill-list { flex: 1; padding: 0 0.625rem; box-sizing: border-box; } /* 月份卡片 */ .month-group { background-color: #fff; border-radius: 0.5rem; padding: 0 0.625rem; margin-bottom: 0.625rem; box-shadow: 0 0.0625rem 0.1875rem rgba(0,0,0,0.02); } .group-header { display: flex; justify-content: space-between; align-items: center; padding: 0.75rem 0.3125rem; /* No border bottom for header in card view usually, or light one */ border-bottom: 0.03125rem solid #f9f9f9; } .month-title { font-size: 0.9375rem; font-weight: bold; color: #333; } .month-summary { font-size: 0.75rem; color: #999; } /* 列表项 */ .list-item { display: flex; align-items: center; padding: 0.9375rem 0.3125rem; border-bottom: 0.03125rem solid #f9f9f9; } .list-item:last-child { border-bottom: none; } /* 左侧图标 */ .item-icon-box { width: 2.5rem; height: 2.5rem; border-radius: 50%; display: flex; justify-content: center; align-items: center; margin-right: 0.625rem; flex-shrink: 0; } .item-icon-box.income { background-color: #EEF9F2; /* Light Green */ } .item-icon-box.expense { background-color: #FFF0F0; /* Light Red */ } .item-icon-symbol { font-size: 1.25rem; font-weight: 300; line-height: 1; margin-top: -0.125rem; /* Visual center adjustment */ } .item-icon-box.income .item-icon-symbol { color: #4CAF50; } .item-icon-box.expense .item-icon-symbol { color: #FF4D4F; } /* 中间内容 */ .item-center { flex: 1; display: flex; flex-direction: column; justify-content: space-around; height: 2.5rem; } .item-title { font-size: 0.875rem; font-weight: 500; color: #333; } .item-desc { font-size: 0.6875rem; color: #999; margin-top: 0.25rem; } /* 右侧数据 */ .item-right { display: flex; flex-direction: column; align-items: flex-end; justify-content: space-around; height: 2.5rem; margin-left: 0.3125rem; } .item-amount { font-size: 0.9375rem; font-weight: bold; } .item-amount.income { color: #4CAF50; } .item-amount.expense { color: #333; } .item-tag { display: inline-flex; justify-content: flex-end; margin-top: 0.1875rem; } .item-tag uni-text { background-color: #FFFFFF; border: 0.03125rem solid #eee; padding: 0.0625rem 0.25rem; border-radius: 0.1875rem; font-size: 0.625rem; color: #999; } .list-padding-bottom { height: 1.25rem; }