.todo-panel { padding: 28rpx 24rpx 24rpx; background: linear-gradient(165deg, rgba(233, 249, 242, 0.95) 0%, #fff 42%), #fff; } .todo-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16rpx; margin-bottom: 24rpx; } .todo-stat { position: relative; border-radius: 24rpx; padding: 24rpx 20rpx 20rpx; text-align: left; background: #fff; box-shadow: 0 4rpx 20rpx rgba(21, 128, 61, 0.06); border: 1rpx solid rgba(220, 235, 228, 0.9); overflow: hidden; } .todo-stat::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 6rpx; border-radius: 6rpx 0 0 6rpx; } .todo-stat.tone-warn::before { background: var(--warning, #d97706); } .todo-stat.tone-pay::before { background: var(--barley-yellow, #fbbf24); } .todo-stat.tone-danger::before { background: var(--danger, #ef4444); } .todo-stat.tone-warn { background: linear-gradient(180deg, #fffaf0 0%, #fff 70%); } .todo-stat.tone-pay { background: linear-gradient(180deg, #fff8ec 0%, #fff 70%); } .todo-stat.tone-danger { background: linear-gradient(180deg, #fff5f5 0%, #fff 70%); } .todo-stat .num { display: block; font-size: 44rpx; font-weight: 700; line-height: 1.1; color: var(--text-primary, #0f291e); font-variant-numeric: tabular-nums; } .todo-stat.tone-warn .num { color: #b77412; } .todo-stat.tone-pay .num { color: #9a7424; } .todo-stat.tone-danger .num { color: var(--danger, #ef4444); } .todo-stat .label { display: block; margin-top: 8rpx; font-size: 22rpx; color: var(--text-muted, #5f7a6d); } .todo-stat .stat-icon { position: absolute; right: 16rpx; top: 16rpx; width: 52rpx; height: 52rpx; border-radius: 16rpx; display: flex; align-items: center; justify-content: center; font-size: 28rpx; } .todo-stat.tone-warn .stat-icon { background: rgba(207, 138, 25, 0.12); color: var(--warning, #d97706); } .todo-stat.tone-pay .stat-icon { background: rgba(214, 163, 67, 0.16); color: #a67b20; } .todo-stat.tone-danger .stat-icon { background: rgba(209, 67, 67, 0.12); color: var(--danger, #ef4444); } .todo-list { display: flex; flex-direction: column; gap: 16rpx; } .todo-item { display: flex; align-items: center; gap: 20rpx; width: 100%; padding: 20rpx; border: 1rpx solid var(--border, #d8f3e5); border-radius: 24rpx; background: #fff; } .todo-item:active { background: var(--brand-green-soft, #ecfdf5); border-color: #b7e5d0; } .todo-item .ti-icon { width: 72rpx; height: 72rpx; border-radius: 20rpx; display: flex; align-items: center; justify-content: center; flex-shrink: 0; font-size: 36rpx; } .todo-item .ti-icon.i-approve { background: #fff3e0; color: var(--warning, #d97706); } .todo-item .ti-icon.i-pay { background: var(--barley-yellow-soft, #fffbeb); color: #a67b20; } .todo-item .ti-icon.i-alert { background: #fdecec; color: var(--danger, #ef4444); } .todo-item .ti-body { flex: 1; min-width: 0; } .todo-item .ti-title { font-size: 26rpx; font-weight: 600; color: var(--text-primary, #0f291e); line-height: 1.3; } .todo-item .ti-desc { margin-top: 4rpx; font-size: 22rpx; color: var(--text-muted, #5f7a6d); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .todo-item .ti-right { display: flex; flex-direction: column; align-items: flex-end; gap: 8rpx; flex-shrink: 0; } .todo-item .ti-time { font-size: 20rpx; color: #9aada4; }