/* 备注弹窗样式 */ .modal-overlay { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0, 0, 0, 0.5); display: flex; align-items: flex-end; z-index: 1000; transition: align-items 0.3s ease; } /* 键盘弹出时,弹窗移到顶部 */ .modal-overlay--keyboard-open { align-items: flex-start; } .modal-container { width: 100%; background: #fff; border-radius: 48rpx 48rpx 0 0; padding: 40rpx 40rpx 60rpx; max-height: 80vh; overflow-y: auto; transition: border-radius 0.3s ease; } /* 键盘弹出时,改为全圆角 */ .modal-overlay--keyboard-open .modal-container { border-radius: 0 0 48rpx 48rpx; max-height: none; } /* 头部 */ .modal-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 32rpx; } .header-left { display: flex; align-items: center; gap: 24rpx; } .modal-title { font-size: 32rpx; line-height: 44rpx; font-weight: 600; color: #242424; } .expand-btn { padding: 6rpx 24rpx; background: #e8e8e8; border-radius: 999rpx; line-height: 16rpx; } .expand-text { font-size: 22rpx; line-height: 32rpx; color: #5e5e5e; } .expand-btn--hover { background: #eeeeee; } .modal-close { width: 64rpx; height: 64rpx; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: transparent; } .modal-close--hover { background: #f3f3f3; } /* 评分区域 */ .rating-section { margin-bottom: 32rpx; } .rating-group { display: flex; align-items: center; justify-content: space-between; padding: 24rpx 32rpx; background: #f3f3f3; border-radius: 16rpx; margin-bottom: 16rpx; } .rating-group:last-child { margin-bottom: 0; } .rating-label { flex-shrink: 0; font-size: 24rpx; line-height: 40rpx; color: #242424; padding-top: 8rpx; font-weight: 700; } .rating-right { display: flex; flex-direction: column; gap: 4rpx; } .rating-row { display: flex; align-items: center; gap: 8rpx; } .rating-item { flex: 0 0 auto; display: flex; align-items: center; justify-content: center; padding: 0; /* 移除过渡动画 */ } .rating-item--hover { opacity: 0.7; } .rating-icon { width: 56rpx; height: 56rpx; display: block; /* 移除过渡动画 */ transition: none; } .rating-hints { display: flex; justify-content: space-between; gap: 8rpx; } .hint { font-size: 20rpx; line-height: 28rpx; color: #a6a6a6; text-align: center; width: 80rpx; flex-shrink: 0; } .hint:nth-child(2n) { width: 8rpx; flex-shrink: 0; } /* 文本输入 */ .textarea-section { margin-bottom: 32rpx; } .note-textarea { width: 100%; min-height: 240rpx; padding: 24rpx; background: #f3f3f3; border-radius: 24rpx; font-size: 28rpx; line-height: 40rpx; color: #242424; border: 2rpx solid #f3f3f3; transition: border-color 0.2s; } .note-textarea:focus { border-color: #0052d9; background: #fff; } .textarea-placeholder { color: #a6a6a6; } /* 底部按钮 */ .modal-footer { display: flex; } /* 键盘弹出时固定在键盘上方 */ .modal-footer--float { position: fixed; left: 0; right: 0; padding: 12rpx 40rpx 16rpx; background: #fff; box-shadow: 0 -2rpx 16rpx rgba(0, 0, 0, 0.06); z-index: 1001; } .save-btn { flex: 1; height: 96rpx; display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, #0052d9, #2979ff); border-radius: 24rpx; box-shadow: 0 8rpx 24rpx rgba(0, 82, 217, 0.3); } .save-btn.disabled { background: #e7e7e7; box-shadow: none; } .save-text { font-size: 32rpx; line-height: 44rpx; font-weight: 600; color: #fff; } .save-btn.disabled .save-text { color: #a6a6a6; } .save-btn--hover { opacity: 0.85; }