/* 基础设置 */ .page-container.data-v-eca06f3c { min-height: 100vh; background-color: #F9FAFB; /* 关键:底部留出空间,防止内容被固定按钮遮挡 */ padding-bottom: 180rpx; } .flex-row.data-v-eca06f3c { display: flex; flex-direction: row; } .flex-col.data-v-eca06f3c { display: flex; flex-direction: column; } .items-center.data-v-eca06f3c { align-items: center; } .justify-between.data-v-eca06f3c { justify-content: space-between; } .gap-1.data-v-eca06f3c { gap: 8rpx; } .gap-2.data-v-eca06f3c { gap: 16rpx; } .align-right.data-v-eca06f3c { align-items: flex-end; } .pb-0.data-v-eca06f3c { padding-bottom: 0 !important; } /* 颜色工具 */ .text-red.data-v-eca06f3c { color: #EF4444; } .text-green.data-v-eca06f3c { color: #10B981; } .text-brand.data-v-eca06f3c { color: #064E3B; } .bg-blue-100.data-v-eca06f3c { background-color: #EFF6FF; } .text-blue.data-v-eca06f3c { color: #2563EB; } .bg-orange-100.data-v-eca06f3c { background-color: #FFF7ED; } .text-orange.data-v-eca06f3c { color: #EA580C; } .bg-green-100.data-v-eca06f3c { background-color: #ECFDF5; } .bg-red.data-v-eca06f3c { background-color: #EF4444; } .bg-green.data-v-eca06f3c { background-color: #10B981; } /* 1. 导航栏 */ .nav-bar.data-v-eca06f3c { background-color: #fff; padding: var(--status-bar-height) 32rpx 20rpx 32rpx; display: flex; align-items: center; justify-content: space-between; position: -webkit-sticky; position: sticky; top: 0; z-index: 100; } .page-title.data-v-eca06f3c { font-size: 34rpx; font-weight: 700; color: #111827; } /* 2. 头部深色卡片 */ .header-section.data-v-eca06f3c { padding: 20rpx 32rpx; } .asset-card.data-v-eca06f3c { background-color: #064E3B; border-radius: 40rpx; padding: 40rpx; position: relative; overflow: hidden; box-shadow: 0 10rpx 30rpx rgba(6, 78, 59, 0.25); color: #fff; } .card-watermark.data-v-eca06f3c { position: absolute; right: -20rpx; top: -20rpx; opacity: 0.1; transform: rotate(15deg); } .card-top.data-v-eca06f3c { display: flex; justify-content: space-between; align-items: center; margin-bottom: 20rpx; } .label-text.data-v-eca06f3c { font-size: 26rpx; opacity: 0.8; } .status-badge.data-v-eca06f3c { background-color: rgba(255,255,255,0.2); padding: 4rpx 16rpx; border-radius: 20rpx; } .status-text.data-v-eca06f3c { font-size: 22rpx; font-weight: 600; } .card-main.data-v-eca06f3c { display: flex; align-items: baseline; margin-bottom: 40rpx; } .currency.data-v-eca06f3c { font-size: 40rpx; font-weight: 700; margin-right: 8rpx; } .big-number.data-v-eca06f3c { font-size: 64rpx; font-weight: 800; font-family: 'DIN Alternate'; } .card-bottom.data-v-eca06f3c { display: flex; justify-content: space-between; } .stat-item.data-v-eca06f3c { display: flex; flex-direction: column; gap: 8rpx; } .stat-label.data-v-eca06f3c { font-size: 24rpx; opacity: 0.7; } .stat-val.data-v-eca06f3c { font-size: 32rpx; font-weight: 700; font-family: 'DIN Alternate'; } /* 策略信息卡片 */ .strategy-info-card.data-v-eca06f3c { background-color: #FFFFFF; border-radius: 24rpx; padding: 24rpx; border: 1rpx solid #F3F4F6; display: flex; justify-content: space-between; align-items: center; box-shadow: 0 2rpx 8rpx rgba(0,0,0,0.02); } .st-left.data-v-eca06f3c { display: flex; align-items: center; gap: 20rpx; } .st-icon-box.data-v-eca06f3c { width: 80rpx; height: 80rpx; border-radius: 20rpx; display: flex; align-items: center; justify-content: center; } .st-icon-text.data-v-eca06f3c { font-size: 36rpx; font-weight: 800; } .st-name.data-v-eca06f3c { font-size: 28rpx; font-weight: 700; color: #1F2937; } .st-tag.data-v-eca06f3c { font-size: 20rpx; color: #6B7280; background-color: #F3F4F6; padding: 2rpx 10rpx; border-radius: 8rpx; } .st-status-text.data-v-eca06f3c { font-size: 24rpx; font-weight: 600; color: #059669; } .status-dot.data-v-eca06f3c { width: 12rpx; height: 12rpx; border-radius: 50%; background-color: #10B981; } .pulsing.data-v-eca06f3c { animation: pulse-eca06f3c 2s infinite; } @keyframes pulse-eca06f3c { 0% { box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.4); } 70% { box-shadow: 0 0 0 10rpx rgba(16, 185, 129, 0); } 100% { box-shadow: 0 0 0 0 rgba(16, 185, 129, 0); } } /* 通用容器 */ .section-container.data-v-eca06f3c { padding: 20rpx 32rpx; } .section-header.data-v-eca06f3c { display: flex; justify-content: space-between; align-items: center; margin-bottom: 24rpx; } .section-title.data-v-eca06f3c { font-size: 30rpx; font-weight: 800; color: #1F2937; border-left: 8rpx solid #064E3B; padding-left: 16rpx; line-height: 1; } .section-sub.data-v-eca06f3c { font-size: 24rpx; color: #9CA3AF; margin-right: 4rpx; } /* 持仓卡片 */ .position-card.data-v-eca06f3c { background-color: #fff; border-radius: 24rpx; padding: 32rpx; margin-bottom: 24rpx; box-shadow: 0 4rpx 12rpx rgba(0,0,0,0.02); border: 1rpx solid #F3F4F6; } .stock-icon.data-v-eca06f3c { width: 80rpx; height: 80rpx; border-radius: 20rpx; display: flex; align-items: center; justify-content: center; } .icon-char.data-v-eca06f3c { font-size: 32rpx; font-weight: 800; } .stock-name.data-v-eca06f3c { font-size: 30rpx; font-weight: 700; color: #1F2937; } .stock-code.data-v-eca06f3c { font-size: 24rpx; color: #9CA3AF; margin-top: 4rpx; } .market-val.data-v-eca06f3c { font-size: 32rpx; font-weight: 700; color: #1F2937; } .weight-tag.data-v-eca06f3c { font-size: 22rpx; color: #6B7280; background-color: #F3F4F6; padding: 2rpx 12rpx; border-radius: 8rpx; margin-top: 8rpx; } .divider.data-v-eca06f3c { height: 1rpx; background-color: #F3F4F6; margin: 24rpx 0; } .pos-bottom.data-v-eca06f3c { display: flex; justify-content: space-between; } .pnl-label.data-v-eca06f3c { font-size: 22rpx; color: #9CA3AF; margin-bottom: 4rpx; } .pnl-val.data-v-eca06f3c { font-size: 28rpx; font-weight: 700; } /* 交易明细 */ .timeline-box.data-v-eca06f3c { padding: 0 16rpx; } .timeline-item.data-v-eca06f3c { display: flex; margin-bottom: 0; min-height: 120rpx; } .tl-left.data-v-eca06f3c { width: 80rpx; text-align: right; padding-right: 20rpx; display: flex; flex-direction: column; } .tl-date.data-v-eca06f3c { font-size: 26rpx; font-weight: 600; color: #374151; } .tl-time.data-v-eca06f3c { font-size: 22rpx; color: #9CA3AF; margin-top: 4rpx; } .tl-line.data-v-eca06f3c { width: 40rpx; display: flex; flex-direction: column; align-items: center; position: relative; } .tl-dot.data-v-eca06f3c { width: 16rpx; height: 16rpx; border-radius: 50%; z-index: 2; margin-top: 10rpx; } .tl-dash.data-v-eca06f3c { width: 2rpx; flex: 1; background-color: #E5E7EB; margin-top: 8rpx; } .tl-right.data-v-eca06f3c { flex: 1; padding-left: 20rpx; padding-bottom: 40rpx; } .tl-title.data-v-eca06f3c { font-size: 28rpx; font-weight: 600; color: #1F2937; } .tl-desc.data-v-eca06f3c { font-size: 24rpx; color: #6B7280; margin-top: 8rpx; } /* 底部固定操作栏 */ .fixed-bottom.data-v-eca06f3c { position: fixed; bottom: 0; left: 0; right: 0; background-color: #FFFFFF; display: flex; gap: 24rpx; padding: 20rpx 32rpx 50rpx 32rpx; /* 适配 iPhone X */ box-shadow: 0 -4rpx 16rpx rgba(0,0,0,0.05); z-index: 999; } .action-btn.data-v-eca06f3c { flex: 1; height: 96rpx; border-radius: 24rpx; display: flex; align-items: center; justify-content: center; gap: 12rpx; font-size: 30rpx; font-weight: 700; border: none; } .btn-buy.data-v-eca06f3c { background-color: #064E3B; color: #FFFFFF; box-shadow: 0 8rpx 20rpx rgba(6, 78, 59, 0.2); } .btn-buy.data-v-eca06f3c:active { background-color: #047857; } .btn-sell.data-v-eca06f3c { background-color: #FFFFFF; color: #064E3B; border: 2rpx solid #064E3B; } .btn-sell.data-v-eca06f3c:active { background-color: #ECFDF5; }