.detail-container { height: 100vh; display: flex; flex-direction: column; background-color: #F5F5F5; } .detail-content { flex: 1; padding: 16px; padding-bottom: 80px; } .info-card { background-color: #FFFFFF; margin-bottom: 16px; padding: 16px; border-radius: 12px; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); } .card-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 16px; padding-bottom: 12px; border-bottom: 1px solid #F0F0F0; } .card-title { font-size: 18px; font-weight: 600; color: #333333; } .status-tag { padding: 6px 12px; border-radius: 16px; } .status-pending { background-color: #FFF3E0; color: #F57C00; } .status-processing { background-color: #E3F2FD; color: #1976D2; } .status-completed { background-color: #E8F5E8; color: #388E3C; } .status-cancelled { background-color: #FFEBEE; color: #D32F2F; } .status-text { font-size: 14px; font-weight: 500; } .info-item { display: flex; align-items: flex-start; margin-bottom: 12px; } .label { width: 80px; font-size: 14px; color: #666666; line-height: 1.4; } .value { flex: 1; font-size: 14px; color: #333333; line-height: 1.4; } .priority { font-weight: 500; } .priority-normal { color: #666666; } .priority-urgent { color: #FF9800; } .priority-emergency { color: #F44336; } .description { font-size: 16px; color: #333333; line-height: 1.6; } .image-gallery { display: flex; flex-wrap: wrap; gap: 8px; } .gallery-image { width: 80px; height: 80px; border-radius: 8px; } .progress-text { font-size: 14px; font-weight: 500; color: #1976D2; } .progress-container { margin: 12px 0; } .progress-bar { width: 100%; height: 6px; background-color: #E0E0E0; border-radius: 3px; overflow: hidden; } .progress-fill { height: 100%; background-color: #1976D2; border-radius: 3px; transition: width 0.3s ease; } .progress-desc { font-size: 12px; color: #666666; } .timeline { position: relative; } .timeline::before { content: ''; position: absolute; left: 10px; top: 0; bottom: 0; width: 2px; background-color: #E0E0E0; } .timeline-item { position: relative; display: flex; align-items: flex-start; margin-bottom: 20px; } .timeline-dot { width: 20px; height: 20px; border-radius: 10px; margin-right: 16px; border: 3px solid #FFFFFF; box-shadow: 0 0 0 2px #E0E0E0; flex-shrink: 0; } .dot-create { background-color: #4CAF50; } .dot-accept { background-color: #2196F3; } .dot-processing { background-color: #FF9800; } .dot-complete { background-color: #4CAF50; } .timeline-content { flex: 1; padding-top: 2px; } .record-title { font-size: 16px; font-weight: 500; color: #333333; line-height: 1.4; } .record-desc { display: block; font-size: 14px; color: #666666; margin: 4px 0; line-height: 1.4; } .record-meta { display: flex; justify-content: space-between; margin-top: 8px; } .record-time { font-size: 12px; color: #999999; } .record-operator { font-size: 12px; color: #999999; } .rating-section { text-align: center; } .stars { margin-bottom: 12px; } .star { font-size: 24px; color: #FFD700; margin: 0 2px; } .rating-text { font-size: 14px; color: #666666; line-height: 1.4; } .bottom-actions { background-color: #FFFFFF; padding: 16px; border-top: 1px solid #E0E0E0; display: flex; gap: 12px; } .action-btn { flex: 1; height: 44px; border-radius: 22px; font-size: 16px; font-weight: 500; border: none; } .action-btn.primary { background-color: #1976D2; color: #FFFFFF; } .action-btn.secondary { background-color: #F0F0F0; color: #666666; } .rating-modal { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background-color: rgba(0, 0, 0, 0.5); display: flex; align-items: center; justify-content: center; z-index: 999; } .modal-content { width: 90%; max-width: 400px; background-color: #FFFFFF; border-radius: 12px; overflow: hidden; } .modal-header { padding: 20px 16px 16px; border-bottom: 1px solid #F0F0F0; display: flex; justify-content: space-between; align-items: center; } .modal-title { font-size: 18px; font-weight: 600; color: #333333; } .close-btn { width: 28px; height: 28px; border-radius: 14px; background-color: #F0F0F0; display: flex; align-items: center; justify-content: center; } .close-icon { color: #666666; font-size: 20px; line-height: 1; } .rating-form { padding: 20px 16px; } .form-label { display: block; font-size: 16px; color: #333333; margin-bottom: 12px; } .star-rating { text-align: center; margin-bottom: 20px; } .rating-star { font-size: 32px; color: #E0E0E0; margin: 0 4px; } .rating-star.active { color: #FFD700; } .rating-textarea { width: 100%; min-height: 80px; padding: 12px; border: 1px solid #E0E0E0; border-radius: 8px; font-size: 14px; resize: none; } .char-count { color: #999999; font-size: 12px; text-align: right; margin-top: 4px; } .modal-actions { padding: 16px; border-top: 1px solid #F0F0F0; display: flex; gap: 12px; } .modal-btn { flex: 1; height: 40px; border-radius: 20px; font-size: 16px; border: none; } .modal-btn.cancel { background-color: #F0F0F0; color: #666666; } .modal-btn.confirm { background-color: #1976D2; color: #FFFFFF; } .modal-btn[disabled] { background-color: #CCCCCC; color: #999999; }