/** * 文件职责:交易流水页面布局与筛选区域样式。 */ .ft-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; } .ft-stat-card { padding: 18px 20px; background: #fff; border: 1px solid #f0f0f0; border-radius: 10px; box-shadow: 0 2px 8px rgb(15 23 42 / 6%); transition: all 0.2s ease; &:hover { box-shadow: 0 6px 14px rgb(15 23 42 / 10%); transform: translateY(-1px); } } .ft-stat-label { display: flex; gap: 6px; align-items: center; margin-bottom: 6px; font-size: 13px; color: rgb(0 0 0 / 45%); } .ft-stat-icon { width: 16px; height: 16px; } .ft-stat-value { font-size: 24px; font-weight: 700; line-height: 1.2; color: rgb(0 0 0 / 88%); &.is-green { color: #52c41a; } &.is-red { color: #ff4d4f; } } .ft-toolbar { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; padding: 14px 18px; background: #fff; border: 1px solid #f0f0f0; border-radius: 10px; box-shadow: 0 2px 8px rgb(15 23 42 / 6%); .ft-store-select { width: 220px; } .ft-date-input { width: 145px; } .ft-type-select { width: 120px; } .ft-channel-select { width: 110px; } .ft-payment-select { width: 130px; } .ft-search { width: 190px; } .ft-date-sep { font-size: 13px; line-height: 32px; color: rgb(0 0 0 / 45%); } .ft-toolbar-right { margin-left: auto; } .ft-search-icon { width: 14px; height: 14px; color: rgb(0 0 0 / 45%); } .ft-export-btn { display: inline-flex; gap: 4px; align-items: center; height: 32px; } .ant-select-selector, .ant-input, .ant-input-affix-wrapper { height: 32px; font-size: 13px; } .ant-input-affix-wrapper .ant-input { height: 100%; } } .ft-quick-dates { display: flex; gap: 4px; .ant-btn { min-width: 56px; height: 28px; padding: 0 10px; font-size: 12px; border-radius: 4px; } }