.dashboard-container.data-v-a869e244 { padding: 24rpx; background-color: #F6FDF9; min-height: 100vh; } .user-info-card.data-v-a869e244 { display: flex; justify-content: space-between; align-items: center; background: white; border-radius: 20rpx; padding: 24rpx 28rpx; margin-bottom: 24rpx; box-shadow: 0 4rpx 12rpx rgba(0, 0, 0, 0.04); } .user-info-card .user-info.data-v-a869e244 { flex: 1; } .user-info-card .user-info .greeting.data-v-a869e244 { font-size: 32rpx; font-weight: 600; color: #2C3E50; margin-bottom: 8rpx; } .user-info-card .user-info .plot-info.data-v-a869e244 { display: flex; align-items: center; } .user-info-card .user-info .plot-info .plot-label.data-v-a869e244 { font-size: 24rpx; color: #8C9396; } .user-info-card .user-info .plot-info .plot-name.data-v-a869e244 { font-size: 24rpx; color: #2C3E50; margin: 0 8rpx; } .user-info-card .user-info .plot-info .switch-plot-btn.data-v-a869e244 { display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, #3BB44A, #66CC6A); border-radius: 16rpx; padding: 4rpx 16rpx; box-shadow: 0 2rpx 8rpx rgba(59, 180, 74, 0.25); } .user-info-card .user-info .plot-info .switch-plot-btn text.data-v-a869e244 { font-size: 22rpx; color: white; } .user-info-card .avatar-container .avatar.data-v-a869e244 { width: 80rpx; height: 80rpx; border-radius: 50%; background-color: rgba(59, 180, 74, 0.1); border: 2px solid rgba(255, 255, 255, 0.8); box-shadow: 0 4rpx 12rpx rgba(0, 0, 0, 0.05); overflow: hidden; } .user-info-card .avatar-container .avatar image.data-v-a869e244 { width: 100%; height: 100%; object-fit: cover; } .stats-overview.data-v-a869e244 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16rpx; margin-bottom: 24rpx; } .stats-overview .alert-card.data-v-a869e244 { background: white; border-radius: 16rpx; padding: 20rpx; display: flex; flex-direction: column; box-shadow: 0 4rpx 12rpx rgba(0, 0, 0, 0.05); position: relative; overflow: hidden; transition: transform 0.2s, box-shadow 0.2s; } .stats-overview .alert-card.data-v-a869e244:active { transform: translateY(2rpx); box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.03); } .stats-overview .alert-card.data-v-a869e244::after { content: ""; position: absolute; right: 12rpx; bottom: 12rpx; width: 16rpx; height: 16rpx; border-top: 2rpx solid #E0E0E0; border-right: 2rpx solid #E0E0E0; transform: rotate(45deg); opacity: 0.5; } .stats-overview .alert-card .alert-header.data-v-a869e244 { display: flex; align-items: center; margin-bottom: 12rpx; } .stats-overview .alert-card .alert-header .alert-icon-container.data-v-a869e244 { margin-right: 12rpx; width: 40rpx; height: 40rpx; display: flex; align-items: center; justify-content: center; } .stats-overview .alert-card .alert-header .alert-icon-container .custom-icon.data-v-a869e244 { width: 40rpx; height: 40rpx; object-fit: contain; } .stats-overview .alert-card .alert-header .alert-title.data-v-a869e244 { font-size: 26rpx; color: #333333; font-weight: 600; } .stats-overview .alert-card .alert-value.data-v-a869e244 { font-size: 30rpx; font-weight: 700; color: #3BB44A; margin-bottom: 6rpx; line-height: 1.2; padding-left: 52rpx; } .stats-overview .alert-card .alert-description.data-v-a869e244 { font-size: 22rpx; color: #757575; padding-left: 52rpx; } .card.data-v-a869e244 { background: white; border-radius: 20rpx; box-shadow: 0 4rpx 20rpx rgba(0, 0, 0, 0.04), 0 1rpx 4rpx rgba(0, 0, 0, 0.02); margin-bottom: 24rpx; overflow: hidden; } .card .card-header.data-v-a869e244 { display: flex; justify-content: space-between; align-items: center; padding: 24rpx 28rpx; border-bottom: 1px solid rgba(0, 0, 0, 0.03); } .card .card-header .title-section.data-v-a869e244 { display: flex; align-items: center; } .card .card-header .title-section .title-line.data-v-a869e244 { width: 4rpx; height: 28rpx; border-radius: 0; background: linear-gradient(180deg, #3BB44A, #66CC6A); margin-right: 16rpx; } .card .card-header .title-section .card-title.data-v-a869e244 { font-size: 28rpx; font-weight: 600; color: #2C3E50; } .card .card-header .period-selector.data-v-a869e244 { display: flex; background: rgba(0, 0, 0, 0.03); border-radius: 20rpx; padding: 2rpx; } .card .card-header .period-selector .period.data-v-a869e244 { font-size: 22rpx; color: #8C9396; padding: 8rpx 16rpx; border-radius: 16rpx; } .card .card-header .period-selector .period.active.data-v-a869e244 { background: white; color: #3BB44A; font-weight: 500; box-shadow: 0 2rpx 4rpx rgba(0, 0, 0, 0.05); } .card .card-header .action-button.data-v-a869e244 { display: flex; align-items: center; background: linear-gradient(135deg, #3BB44A, #66CC6A); border-radius: 24rpx; padding: 8rpx 16rpx; box-shadow: 0 2rpx 8rpx rgba(59, 180, 74, 0.25); } .card .card-header .action-button text.data-v-a869e244 { font-size: 22rpx; color: white; margin-right: 6rpx; } .farm-performance .performance-stats.data-v-a869e244 { display: flex; padding: 24rpx 28rpx; } .farm-performance .performance-stats .metric-column.data-v-a869e244 { flex: 1; display: flex; flex-direction: column; } .farm-performance .performance-stats .metric-column .metric-value.data-v-a869e244 { font-size: 48rpx; font-weight: 700; color: #2C3E50; margin-bottom: 6rpx; line-height: 1.1; } .farm-performance .performance-stats .metric-column .metric-value .metric-unit.data-v-a869e244 { font-size: 24rpx; font-weight: 500; color: #8C9396; margin-left: 4rpx; } .farm-performance .performance-stats .metric-column .metric-label.data-v-a869e244 { font-size: 24rpx; color: #8C9396; margin-bottom: 12rpx; } .farm-performance .performance-stats .metric-column .growth.data-v-a869e244 { display: flex; align-items: center; font-size: 22rpx; } .farm-performance .performance-stats .metric-column .growth.positive.data-v-a869e244 { color: #3BB44A; } .farm-performance .performance-stats .metric-column .growth.negative.data-v-a869e244 { color: #FF5252; } .farm-performance .performance-stats .metric-divider.data-v-a869e244 { width: 1px; background: rgba(0, 0, 0, 0.04); margin: 0 28rpx; } .farm-performance .chart-container.data-v-a869e244 { padding: 24rpx 28rpx; } .farm-performance .chart-container .chart-header.data-v-a869e244 { display: flex; justify-content: space-between; align-items: center; margin-bottom: 16rpx; } .farm-performance .chart-container .chart-header .chart-title.data-v-a869e244 { font-size: 28rpx; font-weight: 600; color: #2C3E50; } .farm-performance .chart-container .chart-header .chart-legend.data-v-a869e244 { display: flex; align-items: center; } .farm-performance .chart-container .chart-header .chart-legend .legend-item.data-v-a869e244 { display: flex; align-items: center; margin-left: 16rpx; } .farm-performance .chart-container .chart-header .chart-legend .legend-item .legend-color.data-v-a869e244 { width: 16rpx; height: 16rpx; border-radius: 4rpx; margin-right: 8rpx; } .farm-performance .chart-container .chart-header .chart-legend .legend-item text.data-v-a869e244 { font-size: 22rpx; color: #8C9396; } .farm-performance .chart-container .chart-body.data-v-a869e244 { display: flex; height: 240rpx; position: relative; margin-top: 12rpx; } .farm-performance .chart-container .chart-body .y-axis.data-v-a869e244 { width: 40rpx; height: 200rpx; display: flex; flex-direction: column; justify-content: space-between; text-align: right; padding-right: 16rpx; margin-bottom: 30rpx; } .farm-performance .chart-container .chart-body .y-axis text.data-v-a869e244 { font-size: 22rpx; color: #8C9396; } .farm-performance .chart-container .chart-body .bars-container.data-v-a869e244 { flex: 1; display: flex; justify-content: space-around; height: 200rpx; position: relative; } .farm-performance .chart-container .chart-body .bars-container.data-v-a869e244::before { content: ""; position: absolute; left: 0; bottom: 0; width: 100%; height: 1px; background-color: #E0E0E0; } .farm-performance .chart-container .chart-body .bars-container .month-group.data-v-a869e244 { display: flex; flex-direction: column; align-items: center; width: 14%; } .farm-performance .chart-container .chart-body .bars-container .month-group .bar-wrapper.data-v-a869e244 { height: 200rpx; width: 70%; display: flex; justify-content: center; position: relative; } .farm-performance .chart-container .chart-body .bars-container .month-group .bar-wrapper .bar.data-v-a869e244 { position: absolute; bottom: 0; width: 45%; border-radius: 4rpx 4rpx 0 0; transition: height 0.3s ease; } .farm-performance .chart-container .chart-body .bars-container .month-group .bar-wrapper .last-year.data-v-a869e244 { left: 0; background: #E0E0E0; } .farm-performance .chart-container .chart-body .bars-container .month-group .bar-wrapper .this-year.data-v-a869e244 { right: 0; background: #3BB44A; } .farm-performance .chart-container .chart-body .bars-container .month-group .month-label.data-v-a869e244 { font-size: 22rpx; color: #8C9396; margin-top: 8rpx; } .crop-portfolio .crop-grid.data-v-a869e244 { padding: 16rpx; display: grid; grid-template-columns: repeat(2, 1fr); gap: 16rpx; } .crop-portfolio .crop-item.data-v-a869e244 { padding: 16rpx; background: rgba(0, 0, 0, 0.01); border-radius: 16rpx; display: flex; align-items: center; } .crop-portfolio .crop-item .crop-icon.data-v-a869e244 { width: 48rpx; height: 48rpx; border-radius: 12rpx; display: flex; align-items: center; justify-content: center; margin-right: 16rpx; } .crop-portfolio .crop-item .crop-icon .crop-icon-text.data-v-a869e244 { font-size: 24rpx; } .crop-portfolio .crop-item .crop-details.data-v-a869e244 { flex: 1; } .crop-portfolio .crop-item .crop-details .crop-info.data-v-a869e244 { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10rpx; } .crop-portfolio .crop-item .crop-details .crop-info .crop-name.data-v-a869e244 { font-size: 26rpx; font-weight: 600; color: #2C3E50; } .crop-portfolio .crop-item .crop-details .crop-info .crop-area.data-v-a869e244 { font-size: 22rpx; color: #8C9396; } .crop-portfolio .crop-item .crop-details .crop-stats.data-v-a869e244 { display: flex; align-items: center; } .crop-portfolio .crop-item .crop-details .crop-stats .crop-progress-container.data-v-a869e244 { flex: 1; height: 8rpx; background: rgba(0, 0, 0, 0.03); border-radius: 4rpx; margin-right: 12rpx; overflow: hidden; } .crop-portfolio .crop-item .crop-details .crop-stats .crop-progress-container .crop-progress.data-v-a869e244 { height: 100%; border-radius: 4rpx; } .crop-portfolio .crop-item .crop-details .crop-stats .crop-progress-text.data-v-a869e244 { font-size: 22rpx; color: #8C9396; min-width: 36rpx; text-align: right; } .resource-efficiency .resource-grid.data-v-a869e244 { padding: 16rpx; display: grid; grid-template-columns: repeat(2, 1fr); gap: 16rpx; } .resource-efficiency .resource-item.data-v-a869e244 { padding: 16rpx; background: rgba(0, 0, 0, 0.01); border-radius: 16rpx; } .resource-efficiency .resource-item .resource-header.data-v-a869e244 { display: flex; align-items: center; margin-bottom: 12rpx; } .resource-efficiency .resource-item .resource-header .icon-tile.data-v-a869e244 { width: 28rpx; height: 28rpx; border-radius: 6rpx; display: flex; align-items: center; justify-content: center; margin-right: 10rpx; } .resource-efficiency .resource-item .resource-header .icon-tile.small.data-v-a869e244 { width: 28rpx; height: 28rpx; } .resource-efficiency .resource-item .resource-header .resource-name.data-v-a869e244 { font-size: 24rpx; color: #8C9396; } .resource-efficiency .resource-item .resource-value.data-v-a869e244 { margin-bottom: 12rpx; } .resource-efficiency .resource-item .resource-value .value.data-v-a869e244 { font-size: 36rpx; font-weight: 700; color: #2C3E50; } .resource-efficiency .resource-item .resource-value .unit.data-v-a869e244 { font-size: 22rpx; color: #8C9396; margin-left: 4rpx; } .resource-efficiency .resource-item .resource-progress-container .resource-progress-bg.data-v-a869e244 { height: 8rpx; background: rgba(0, 0, 0, 0.03); border-radius: 4rpx; margin-bottom: 8rpx; overflow: hidden; } .resource-efficiency .resource-item .resource-progress-container .resource-progress-bg .resource-progress.data-v-a869e244 { height: 100%; border-radius: 4rpx; } .resource-efficiency .resource-item .resource-progress-container .resource-efficiency.data-v-a869e244 { font-size: 22rpx; color: #8C9396; } .farm-activities .activities-list.data-v-a869e244 { padding: 8rpx 0; } .farm-activities .activity-item.data-v-a869e244 { display: flex; align-items: center; padding: 20rpx 28rpx; border-bottom: 1px solid rgba(0, 0, 0, 0.02); } .farm-activities .activity-item.data-v-a869e244:last-child { border-bottom: none; } .farm-activities .activity-item .activity-dot.data-v-a869e244 { width: 10rpx; height: 10rpx; border-radius: 50%; margin-right: 16rpx; flex-shrink: 0; } .farm-activities .activity-item .activity-dot.completed.data-v-a869e244 { background: #4CAF50; } .farm-activities .activity-item .activity-dot.pending.data-v-a869e244 { background: #FFC107; } .farm-activities .activity-item .activity-dot.failed.data-v-a869e244 { background: #FF5252; } .farm-activities .activity-item .activity-details.data-v-a869e244 { flex: 1; } .farm-activities .activity-item .activity-details .activity-title-row.data-v-a869e244 { display: flex; justify-content: space-between; align-items: center; margin-bottom: 6rpx; } .farm-activities .activity-item .activity-details .activity-title-row .activity-title.data-v-a869e244 { font-size: 26rpx; font-weight: 500; color: #2C3E50; } .farm-activities .activity-item .activity-details .activity-title-row .activity-date.data-v-a869e244 { font-size: 22rpx; color: #8C9396; } .farm-activities .activity-item .activity-details .activity-meta-row.data-v-a869e244 { display: flex; justify-content: space-between; align-items: center; } .farm-activities .activity-item .activity-details .activity-meta-row .activity-executor.data-v-a869e244 { font-size: 22rpx; color: #8C9396; } .farm-activities .activity-item .activity-details .activity-meta-row .activity-action.data-v-a869e244 { display: flex; align-items: center; } .farm-activities .activity-item .activity-details .activity-meta-row .activity-action .action-text.data-v-a869e244 { font-size: 22rpx; color: #3BB44A; margin-right: 6rpx; } .weather-card .weather-content.data-v-a869e244 { padding: 20rpx 28rpx; } .weather-card .current-weather.data-v-a869e244 { display: flex; align-items: center; margin-bottom: 24rpx; } .weather-card .current-weather .weather-icon-container.data-v-a869e244 { margin-right: 20rpx; } .weather-card .current-weather .weather-icon-container .weather-icon.data-v-a869e244 { font-size: 60rpx; line-height: 1; } .weather-card .current-weather .weather-details .weather-temp.data-v-a869e244 { font-size: 48rpx; font-weight: 700; color: #2C3E50; line-height: 1.1; } .weather-card .current-weather .weather-details .weather-desc.data-v-a869e244 { font-size: 26rpx; color: #8C9396; } .weather-card .weather-metrics.data-v-a869e244 { display: flex; justify-content: space-between; align-items: center; padding: 16rpx 24rpx; margin-bottom: 24rpx; border-radius: 12rpx; background-color: rgba(247, 247, 247, 0.5); border: 1px solid rgba(0, 0, 0, 0.03); } .weather-card .weather-metrics .weather-metric.data-v-a869e244 { flex: 1; display: flex; flex-direction: column; align-items: center; } .weather-card .weather-metrics .weather-metric .metric-label.data-v-a869e244 { font-size: 22rpx; color: #8C9396; margin-bottom: 6rpx; } .weather-card .weather-metrics .weather-metric .metric-value.data-v-a869e244 { font-size: 28rpx; font-weight: 600; color: #2C3E50; } .weather-card .weather-metrics .vertical-divider.data-v-a869e244 { width: 1px; height: 36rpx; background-color: rgba(0, 0, 0, 0.05); } .weather-card .weather-advice.data-v-a869e244 { background: rgba(59, 180, 74, 0.05); border-radius: 16rpx; padding: 16rpx; } .weather-card .weather-advice .advice-header.data-v-a869e244 { display: flex; align-items: center; margin-bottom: 10rpx; } .weather-card .weather-advice .advice-header .icon-tile.data-v-a869e244 { width: 24rpx; height: 24rpx; border-radius: 50%; background: linear-gradient(135deg, #3BB44A, #66CC6A); display: flex; align-items: center; justify-content: center; margin-right: 10rpx; box-shadow: 0 2rpx 8rpx rgba(59, 180, 74, 0.25); } .weather-card .weather-advice .advice-header .icon-tile.small.data-v-a869e244 { width: 24rpx; height: 24rpx; } .weather-card .weather-advice .advice-header .advice-title.data-v-a869e244 { font-size: 24rpx; font-weight: 600; color: #2C3E50; } .weather-card .weather-advice .advice-content.data-v-a869e244 { font-size: 24rpx; color: #2C3E50; line-height: 1.4; } @media screen and (max-width: 768px) { .stats-overview.data-v-a869e244 { grid-template-columns: repeat(2, 1fr); } .crop-grid.data-v-a869e244 { grid-template-columns: 1fr; } } .device-overview .device-metrics-grid.data-v-a869e244 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16rpx; padding: 16rpx; } .device-overview .device-metric-card.data-v-a869e244 { background: white; border-radius: 16rpx; padding: 20rpx; box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.03); border: 1px solid rgba(0, 0, 0, 0.02); } .device-overview .device-metric-card .device-metric-header.data-v-a869e244 { display: flex; align-items: center; margin-bottom: 16rpx; } .device-overview .device-metric-card .device-metric-header .icon-tile.data-v-a869e244 { width: 24rpx; height: 24rpx; border-radius: 50%; display: flex; align-items: center; justify-content: center; margin-right: 10rpx; box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.08); } .device-overview .device-metric-card .device-metric-header .metric-name.data-v-a869e244 { font-size: 24rpx; color: #8C9396; } .device-overview .device-metric-card .device-metric-value.data-v-a869e244 { font-size: 44rpx; font-weight: 700; color: #2C3E50; margin-bottom: 12rpx; } .device-overview .device-metric-card .device-metric-trend.data-v-a869e244 { display: flex; align-items: center; font-size: 22rpx; } .device-overview .device-metric-card .device-metric-trend.up.data-v-a869e244 { color: #3BB44A; } .device-overview .device-metric-card .device-metric-trend.down.data-v-a869e244 { color: #FF5252; } .device-overview .device-metric-card .device-metric-trend text.data-v-a869e244 { margin-left: 4rpx; } .machinery-activity .machinery-metrics-grid.data-v-a869e244 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16rpx; padding: 16rpx; } .machinery-activity .machinery-metric-card.data-v-a869e244 { background: white; border-radius: 16rpx; padding: 20rpx; box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.03); border: 1px solid rgba(0, 0, 0, 0.02); } .machinery-activity .machinery-metric-card .machinery-metric-header.data-v-a869e244 { display: flex; align-items: center; margin-bottom: 16rpx; } .machinery-activity .machinery-metric-card .machinery-metric-header .icon-tile.data-v-a869e244 { width: 24rpx; height: 24rpx; border-radius: 50%; display: flex; align-items: center; justify-content: center; margin-right: 10rpx; box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.08); } .machinery-activity .machinery-metric-card .machinery-metric-header .metric-name.data-v-a869e244 { font-size: 24rpx; color: #8C9396; } .machinery-activity .machinery-metric-card .machinery-metric-value.data-v-a869e244 { font-size: 44rpx; font-weight: 700; color: #2C3E50; margin-bottom: 12rpx; } .machinery-activity .machinery-metric-card .machinery-metric-trend.data-v-a869e244 { display: flex; align-items: center; font-size: 22rpx; } .machinery-activity .machinery-metric-card .machinery-metric-trend.up.data-v-a869e244 { color: #3BB44A; } .machinery-activity .machinery-metric-card .machinery-metric-trend.down.data-v-a869e244 { color: #FF5252; } .machinery-activity .machinery-metric-card .machinery-metric-trend text.data-v-a869e244 { margin-left: 4rpx; } .machinery-activity .machinery-metric-card .machinery-metric-unit.data-v-a869e244 { font-size: 22rpx; color: #8C9396; }