.review-header-row { display: flex; flex-direction: column; align-items: flex-start; gap: 16rpx; } .review-header-main { min-width: 0; width: 100%; flex: none; } .detail-toggle { position: relative; z-index: 2; flex: 0 0 auto; min-width: 150rpx; height: 62rpx; line-height: 62rpx; margin: 4rpx 0 0; padding: 0 18rpx; border-radius: 14rpx; color: #1463ff; font-size: 24rpx; font-weight: 800; } .review-header-row .top-action-group { width: 100%; display: grid; grid-template-columns: 240rpx minmax(0, 1fr); align-items: center; gap: 18rpx; margin-top: 0; } .review-header-row .void-filter-switch { width: 240rpx; } .review-header-row .detail-toggle { width: 100%; min-width: 0; height: 68rpx; line-height: 68rpx; box-sizing: border-box; } .review-card { position: relative; overflow: hidden; border-color: #aebbd0; } .allocation-summary { display: block; margin-top: 6rpx; color: #4b5563; font-size: 24rpx; line-height: 1.45; } .cleaning-watermark { position: absolute; right: 28rpx; top: 18rpx; z-index: 1; padding: 8rpx 18rpx; border: 2rpx solid rgba(18, 163, 117, 0.55); border-radius: 12rpx; color: rgba(8, 116, 67, 0.72); background: rgba(226, 255, 243, 0.82); font-size: 30rpx; font-weight: 900; transform: rotate(10deg); pointer-events: none; } .misc-watermark { position: absolute; right: 28rpx; top: 18rpx; z-index: 1; padding: 8rpx 18rpx; border: 2rpx solid rgba(217, 119, 6, 0.55); border-radius: 12rpx; color: rgba(154, 74, 5, 0.82); background: rgba(255, 247, 232, 0.88); font-size: 30rpx; font-weight: 900; transform: rotate(10deg); pointer-events: none; } .review-card.expanded { border-color: #1463ff; box-shadow: 0 0 0 2rpx rgba(255, 255, 255, 0.9), 0 13rpx 0 rgba(20, 86, 194, 0.48), 0 24rpx 36rpx rgba(20, 86, 194, 0.16), inset 0 0 0 1rpx rgba(20, 99, 255, 0.24), inset 0 2rpx 0 rgba(255, 255, 255, 0.96); } .detail-metric-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14rpx 18rpx; margin: 12rpx 0 8rpx; padding: 16rpx; border: 2rpx solid #c5cfde; border-radius: 14rpx; background: linear-gradient(180deg, #ffffff 0%, #f4f8fd 100%); box-shadow: inset 0 0 0 1rpx rgba(255, 255, 255, 0.86), 0 8rpx 0 rgba(177, 191, 211, 0.52), 0 14rpx 22rpx rgba(22, 34, 50, 0.07); } .metric-danger { color: #c5221f; font-weight: 800; } .metric-success { color: #087443; font-weight: 800; } .review-edit-panel { margin: 20rpx 0; padding: 20rpx; border: 1rpx solid #dfe7f2; border-radius: 16rpx; background: linear-gradient(135deg, rgba(20, 99, 255, 0.06), transparent 46%), #f8fbff; box-shadow: 0 8rpx 0 rgba(207, 218, 233, 0.58), inset 0 2rpx 0 rgba(255, 255, 255, 0.9); } .panel-title { display: block; margin-bottom: 16rpx; color: #162232; font-size: 26rpx; font-weight: 700; } .time-grid, .review-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16rpx; } .review-form-grid .full-span { grid-column: 1 / -1; } .compact-picker { min-height: 76rpx; line-height: 76rpx; } .device-time-inline { margin: 6rpx 0 8rpx; padding: 16rpx; border: 2rpx solid #c5cfde; border-radius: 14rpx; background: #f6faff; } .device-time-row { display: flex; flex-direction: column; gap: 12rpx; padding: 14rpx 0; border-top: 1rpx solid rgba(174, 188, 208, 0.72); } .device-time-row:first-of-type { border-top: 0; padding-top: 0; } .device-time-main { display: flex; flex-direction: column; gap: 6rpx; min-width: 0; } .device-time-pickers { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14rpx; } .device-time-title { margin-bottom: 4rpx; font-size: 24rpx; } .item-list { margin: 18rpx 0; padding: 18rpx; border: 2rpx solid #c4d0e2; border-radius: 16rpx; background: #eef4fb; box-shadow: inset 0 0 0 1rpx rgba(255, 255, 255, 0.72), 0 8rpx 0 rgba(174, 188, 208, 0.34); } .detail-line { position: relative; overflow: hidden; display: flex; flex-direction: column; gap: 12rpx; margin-bottom: 28rpx; padding: 24rpx 22rpx 24rpx 28rpx; border: 3rpx solid #9fb0c8; border-left: 9rpx solid #1463ff; border-radius: 18rpx; background: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%); box-shadow: 0 0 0 2rpx rgba(255, 255, 255, 0.86), 0 12rpx 0 rgba(133, 152, 179, 0.55), 0 20rpx 28rpx rgba(22, 34, 50, 0.13), inset 0 2rpx 0 rgba(255, 255, 255, 0.96); box-sizing: border-box; } .detail-line:last-child { margin-bottom: 0; } .detail-line:nth-child(even) { border-left-color: #12a375; background: linear-gradient(180deg, #ffffff 0%, #f5fffb 100%); } .detail-line.multi-detail-line, .detail-line.marked-detail-line { padding-top: 72rpx; } .detail-line.stacked-detail-line { padding-top: 112rpx; } .detail-title { color: #162232; padding-right: 24rpx; font-weight: 600; line-height: 1.45; } .detail-multi-stamp { position: absolute; left: 24rpx; top: 22rpx; z-index: 2; padding: 7rpx 14rpx; border: 2rpx solid rgba(217, 119, 6, 0.62); border-radius: 10rpx; color: rgba(154, 74, 5, 0.88); background: rgba(255, 247, 232, 0.92); font-size: 23rpx; font-weight: 900; line-height: 1; } .detail-continuous-stamp { position: absolute; right: 24rpx; top: 22rpx; z-index: 2; padding: 7rpx 14rpx; border: 2rpx solid rgba(217, 119, 6, 0.62); border-radius: 10rpx; color: rgba(154, 74, 5, 0.88); background: rgba(255, 247, 232, 0.92); font-size: 23rpx; font-weight: 900; line-height: 1; pointer-events: none; } .detail-continuous-stamp.lower-detail-stamp { top: 64rpx; } .product-correction-row { margin-bottom: 8rpx; } .product-correction-actions { display: flex; gap: 22rpx; align-items: center; padding-bottom: 10rpx; overflow: visible; } .product-correction-actions .btn { flex: 1 1 0; width: auto; min-width: 0; height: 76rpx; line-height: 76rpx; margin: 0; padding: 0 18rpx; box-sizing: border-box; font-size: 27rpx; } .product-correction-actions .btn.full { width: auto; } .product-readonly { min-height: 76rpx; padding: 0 20rpx; border: 2rpx solid #dbe4f0; border-radius: 14rpx; color: #162232; background: linear-gradient(180deg, #f9fbff 0%, #eef4fb 100%); font-size: 27rpx; font-weight: 700; line-height: 76rpx; word-break: break-all; box-sizing: border-box; } .device-select-control { min-height: 76rpx; display: flex; align-items: center; justify-content: space-between; gap: 14rpx; padding: 0 18rpx; border: 2rpx solid #dbe4f0; border-radius: 14rpx; color: #162232; background: #fff; box-sizing: border-box; } .device-select-control.field-error { border-color: #c5221f; background: #fff5f5; } .device-select-text { min-width: 0; flex: 1 1 auto; overflow: hidden; font-size: 27rpx; font-weight: 700; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; } .device-select-action { flex: 0 0 auto; color: #1463ff; font-size: 24rpx; font-weight: 800; } .review-action-row { align-items: stretch; } .review-action-btn { flex: 1 1 0; min-width: 0; margin: 0; } .review-remark-panel, .misc-remark-panel { margin-top: 16rpx; } .review-remark-input, .misc-remark-input { min-height: 150rpx; line-height: 1.45; padding-top: 18rpx; padding-bottom: 18rpx; text-align: left; } .readonly-text { display: block; color: #334155; font-size: 28rpx; line-height: 1.55; word-break: break-all; } .modal-head { display: flex; align-items: center; justify-content: space-between; gap: 18rpx; margin-bottom: 20rpx; } .modal-title { color: #162232; font-size: 34rpx; font-weight: 700; } .modal-close { flex: 0 0 auto; margin: 0; } .product-select-mask { position: fixed; left: 0; right: 0; top: 0; bottom: 0; z-index: 60; display: flex; align-items: flex-start; justify-content: center; padding: 24rpx 22rpx calc(env(safe-area-inset-bottom) + 24rpx); background: rgba(15, 23, 42, 0.5); box-sizing: border-box; } .product-select-panel { width: 100%; max-height: 92vh; overflow-y: auto; padding: 24rpx; border: 2rpx solid #c7d2e2; border-radius: 18rpx; background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%); box-shadow: 0 16rpx 0 rgba(170, 184, 204, 0.62), 0 30rpx 64rpx rgba(15, 23, 42, 0.24), inset 0 2rpx 0 rgba(255, 255, 255, 0.96); box-sizing: border-box; } .modal-subtitle { display: block; margin-top: 8rpx; color: #6b778c; font-size: 24rpx; font-weight: 600; line-height: 1.35; } .product-select-search { margin-bottom: 20rpx; } .product-select-card { position: relative; overflow: hidden; padding: 22rpx; } .product-select-card .row-left { padding-right: 100rpx; } .product-select-stamp { right: 22rpx; top: 72rpx; font-size: 25rpx; } .product-replace-btn { margin-top: 18rpx; } .product-select-pager { margin-top: 12rpx; }