|
|
@@ -0,0 +1,924 @@
|
|
|
+/* ===== History Detail Modal ===== */
|
|
|
+.history-detail-modal { max-width: 800px; max-height: 85vh; }
|
|
|
+.history-detail-modal .modal-header { background: linear-gradient(135deg, rgba(251, 191, 36, 0.1), rgba(245, 158, 11, 0.1)); border-bottom: 2px solid var(--warning); }
|
|
|
+.history-detail-modal .modal-title { font-size: 16px; font-weight: 600; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
|
|
|
+.history-detail-modal .detail-status { font-size: 12px; padding: 4px 10px; border-radius: 10px; margin-left: auto; }
|
|
|
+.history-detail-modal .detail-status.completed { background: rgba(16, 185, 129, 0.2); color: var(--success); }
|
|
|
+
|
|
|
+.history-detail-modal .evaluation-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
|
|
|
+.history-detail-modal .eval-item { display: flex; align-items: center; gap: 10px; padding: 10px; background: var(--bg-hover); border-radius: 8px; }
|
|
|
+.history-detail-modal .eval-label { font-size: 12px; color: var(--text-muted); min-width: 60px; }
|
|
|
+.history-detail-modal .eval-bar { flex: 1; height: 8px; background: var(--bg-dark); border-radius: 4px; overflow: hidden; }
|
|
|
+.history-detail-modal .eval-fill { height: 100%; background: linear-gradient(90deg, var(--primary), var(--success)); border-radius: 4px; transition: width 0.3s; }
|
|
|
+.history-detail-modal .eval-value { font-size: 11px; font-weight: 600; color: var(--success); min-width: 40px; text-align: right; }
|
|
|
+
|
|
|
+.history-detail-modal .summary-content { display: flex; flex-direction: column; gap: 10px; }
|
|
|
+.history-detail-modal .summary-item { display: flex; align-items: flex-start; gap: 10px; padding: 10px; background: var(--bg-hover); border-radius: 8px; font-size: 13px; }
|
|
|
+.history-detail-modal .summary-item i { margin-top: 2px; }
|
|
|
+.history-detail-modal .summary-item .success { color: var(--success); }
|
|
|
+.history-detail-modal .summary-item .info { color: var(--primary); }
|
|
|
+
|
|
|
+/* ===== Custom SOP Modal ===== */
|
|
|
+.custom-sop-modal { max-width: 700px; max-height: 85vh; }
|
|
|
+.custom-sop-modal .modal-header { background: linear-gradient(135deg, rgba(139, 92, 246, 0.1), rgba(99, 102, 241, 0.1)); border-bottom: 2px solid var(--secondary); }
|
|
|
+.custom-sop-modal .modal-title { font-size: 16px; font-weight: 600; display: flex; align-items: center; gap: 8px; color: var(--secondary); }
|
|
|
+
|
|
|
+.custom-steps-section { margin-bottom: 20px; }
|
|
|
+.custom-steps-section .section-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; }
|
|
|
+.custom-steps-section h5 { font-size: 14px; font-weight: 600; display: flex; align-items: center; gap: 6px; margin: 0; }
|
|
|
+
|
|
|
+.custom-steps-list { display: flex; flex-direction: column; gap: 12px; max-height: 300px; overflow-y: auto; }
|
|
|
+.custom-step-item { display: flex; gap: 12px; padding: 14px; background: var(--bg-hover); border-radius: 10px; border: 1px solid var(--border); transition: all 0.2s; }
|
|
|
+.custom-step-item:hover { border-color: var(--secondary); }
|
|
|
+.custom-step-item .step-number { width: 32px; height: 32px; background: var(--secondary); color: white; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 600; flex-shrink: 0; }
|
|
|
+.custom-step-item .step-fields { flex: 1; }
|
|
|
+.custom-step-item .step-row { display: flex; gap: 10px; margin-bottom: 8px; }
|
|
|
+.custom-step-item .step-row:last-child { margin-bottom: 0; }
|
|
|
+.custom-step-item .step-row .form-group { flex: 1; margin-bottom: 0; }
|
|
|
+.custom-step-item .step-row .form-group .form-label { font-size: 11px; margin-bottom: 4px; }
|
|
|
+.custom-step-item .step-row .form-input, .custom-step-item .step-row .form-select { padding: 8px 10px; font-size: 12px; }
|
|
|
+.custom-step-item .channel-preview { display: flex; align-items: flex-end; }
|
|
|
+.custom-step-item .preview-badge { padding: 6px 12px; border-radius: 8px; font-size: 11px; display: flex; align-items: center; gap: 6px; }
|
|
|
+.custom-step-item .preview-badge.email { background: rgba(99, 102, 241, 0.2); color: var(--primary); }
|
|
|
+.custom-step-item .preview-badge.whatsapp { background: rgba(37, 211, 102, 0.2); color: #25D366; }
|
|
|
+.custom-step-item .preview-badge.linkedin { background: rgba(10, 102, 194, 0.2); color: #0A66C2; }
|
|
|
+.custom-step-item .preview-badge.phone { background: rgba(245, 158, 11, 0.2); color: var(--warning); }
|
|
|
+.custom-step-item .preview-badge.wechat { background: rgba(7, 193, 96, 0.2); color: #07C160; }
|
|
|
+.custom-step-item .step-actions { display: flex; align-items: center; }
|
|
|
+.custom-step-item .btn-icon { width: 32px; height: 32px; border: none; background: transparent; color: var(--text-muted); cursor: pointer; border-radius: 6px; transition: all 0.2s; }
|
|
|
+.custom-step-item .btn-icon:hover:not(:disabled) { background: rgba(239, 68, 68, 0.1); color: var(--danger); }
|
|
|
+.custom-step-item .btn-icon:disabled { opacity: 0.3; cursor: not-allowed; }
|
|
|
+
|
|
|
+/* Custom SOP Preview */
|
|
|
+.custom-sop-preview { padding: 14px; background: linear-gradient(135deg, rgba(139, 92, 246, 0.1), rgba(99, 102, 241, 0.1)); border-radius: 10px; }
|
|
|
+.custom-sop-preview h5 { font-size: 13px; margin-bottom: 12px; display: flex; align-items: center; gap: 6px; color: var(--secondary); }
|
|
|
+.custom-sop-preview .preview-timeline { display: flex; flex-direction: column; gap: 8px; }
|
|
|
+.custom-sop-preview .preview-step { display: flex; gap: 10px; align-items: center; padding: 8px; background: var(--bg-card); border-radius: 8px; }
|
|
|
+.custom-sop-preview .preview-marker { width: 28px; height: 28px; border-radius: 50%; background: var(--bg-hover); display: flex; align-items: center; justify-content: center; color: var(--primary); font-size: 12px; }
|
|
|
+.custom-sop-preview .preview-content { flex: 1; }
|
|
|
+.custom-sop-preview .preview-title { font-size: 12px; font-weight: 500; }
|
|
|
+.custom-sop-preview .preview-meta { font-size: 10px; color: var(--text-muted); }
|
|
|
+.custom-sop-preview .preview-empty { text-align: center; padding: 20px; color: var(--text-muted); font-size: 12px; }
|
|
|
+
|
|
|
+/* ===== Interactions Detail Modal ===== */
|
|
|
+.interactions-detail-modal { max-width: 900px; max-height: 85vh; }
|
|
|
+.interactions-detail-modal .modal-header { background: linear-gradient(135deg, rgba(99, 102, 241, 0.1), rgba(139, 92, 246, 0.1)); border-bottom: 2px solid var(--primary); }
|
|
|
+.interactions-detail-modal .modal-title { font-size: 16px; font-weight: 600; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
|
|
|
+.interactions-detail-modal .interaction-count { font-size: 12px; padding: 4px 10px; background: var(--bg-hover); border-radius: 10px; margin-left: auto; color: var(--text-muted); }
|
|
|
+
|
|
|
+.interactions-filters { display: flex; gap: 8px; margin-bottom: 16px; padding-bottom: 12px; border-bottom: 1px solid var(--border); }
|
|
|
+.interactions-filters .filter-btn { display: flex; align-items: center; gap: 6px; padding: 8px 16px; background: var(--bg-hover); border: 1px solid var(--border); border-radius: 20px; font-size: 12px; cursor: pointer; transition: all 0.2s; color: var(--text-secondary); }
|
|
|
+.interactions-filters .filter-btn:hover { border-color: var(--primary); }
|
|
|
+.interactions-filters .filter-btn.active { background: var(--primary); color: white; border-color: var(--primary); }
|
|
|
+
|
|
|
+.all-interactions-list { display: flex; flex-direction: column; gap: 12px; max-height: 500px; overflow-y: auto; }
|
|
|
+.interaction-detail-item { display: flex; gap: 14px; padding: 16px; background: var(--bg-hover); border-radius: 12px; transition: all 0.2s; }
|
|
|
+.interaction-detail-item:hover { background: rgba(99, 102, 241, 0.05); }
|
|
|
+.interaction-detail-avatar { width: 44px; height: 44px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 16px; font-weight: 600; flex-shrink: 0; }
|
|
|
+.interaction-detail-avatar.reply { background: rgba(16, 185, 129, 0.2); color: var(--success); }
|
|
|
+.interaction-detail-avatar.open { background: rgba(99, 102, 241, 0.2); color: var(--primary); }
|
|
|
+.interaction-detail-avatar.click { background: rgba(245, 158, 11, 0.2); color: var(--warning); }
|
|
|
+.interaction-detail-content { flex: 1; }
|
|
|
+.interaction-detail-header { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 8px; }
|
|
|
+.interaction-detail-name { font-size: 14px; font-weight: 600; margin-right: 8px; }
|
|
|
+.interaction-detail-company { font-size: 12px; color: var(--text-muted); }
|
|
|
+.interaction-detail-time { font-size: 11px; color: var(--text-muted); }
|
|
|
+.interaction-detail-action { display: flex; gap: 8px; margin-bottom: 8px; flex-wrap: wrap; }
|
|
|
+.action-badge { display: flex; align-items: center; gap: 4px; padding: 3px 10px; border-radius: 12px; font-size: 11px; }
|
|
|
+.action-badge.reply { background: rgba(16, 185, 129, 0.2); color: var(--success); }
|
|
|
+.action-badge.open { background: rgba(99, 102, 241, 0.2); color: var(--primary); }
|
|
|
+.action-badge.click { background: rgba(245, 158, 11, 0.2); color: var(--warning); }
|
|
|
+.interaction-detail-text { font-size: 13px; color: var(--text-secondary); margin-bottom: 8px; line-height: 1.5; }
|
|
|
+.interaction-detail-contact { display: flex; gap: 16px; font-size: 11px; color: var(--text-muted); }
|
|
|
+.interaction-detail-contact i { margin-right: 4px; }
|
|
|
+.interaction-detail-actions { display: flex; flex-direction: column; gap: 8px; justify-content: center; }
|
|
|
+
|
|
|
+/* ===== Create Campaign Modal Optimization ===== */
|
|
|
+.create-modal { max-width: 850px; max-height: 85vh; }
|
|
|
+.create-modal .modal-header { background: linear-gradient(135deg, rgba(99, 102, 241, 0.1), rgba(139, 92, 246, 0.1)); border-bottom: 2px solid var(--primary); }
|
|
|
+.create-modal .modal-title { font-size: 18px; font-weight: 700; display: flex; align-items: center; gap: 10px; color: var(--primary); }
|
|
|
+.create-modal .modal-title i { font-size: 20px; }
|
|
|
+
|
|
|
+/* Step Indicator Enhancement */
|
|
|
+.step-indicator { display: flex; align-items: center; justify-content: center; margin-bottom: 28px; gap: 0; }
|
|
|
+.step { display: flex; flex-direction: column; align-items: center; position: relative; flex: 1; }
|
|
|
+.step-number { width: 36px; height: 36px; border-radius: 50%; background: var(--bg-hover); display: flex; align-items: center; justify-content: center; font-size: 14px; font-weight: 600; color: var(--text-muted); border: 2px solid var(--border); transition: all 0.3s; }
|
|
|
+.step.active .step-number { background: var(--primary); color: white; border-color: var(--primary); box-shadow: 0 0 12px rgba(99, 102, 241, 0.3); }
|
|
|
+.step.completed .step-number { background: var(--success); color: white; border-color: var(--success); }
|
|
|
+.step-label { font-size: 11px; margin-top: 6px; color: var(--text-muted); text-align: center; }
|
|
|
+.step.active .step-label { color: var(--primary); font-weight: 600; }
|
|
|
+.step-line { flex: 1; height: 2px; background: var(--border); margin: 0 -8px; position: relative; top: -18px; }
|
|
|
+.step-line.active { background: var(--primary); }
|
|
|
+
|
|
|
+/* Step Content Enhancement */
|
|
|
+.step-content { animation: fadeIn 0.3s ease-in; }
|
|
|
+@keyframes fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
|
|
|
+.step-content h4 { font-size: 16px; font-weight: 600; margin-bottom: 18px; display: flex; align-items: center; gap: 8px; color: var(--text-primary); }
|
|
|
+.step-content h4 i { color: var(--primary); font-size: 18px; }
|
|
|
+
|
|
|
+/* Form Enhancement */
|
|
|
+.form-group { margin-bottom: 16px; }
|
|
|
+.form-label { display: block; font-size: 13px; font-weight: 500; color: var(--text-primary); margin-bottom: 8px; }
|
|
|
+.form-input, .form-select, .form-textarea { width: 100%; padding: 10px 14px; background: var(--bg-dark); border: 1px solid var(--border); border-radius: 8px; color: var(--text-primary); font-size: 13px; transition: all 0.2s; }
|
|
|
+.form-input:focus, .form-select:focus, .form-textarea:focus { outline: none; border-color: var(--primary); box-shadow: 0 0 8px rgba(99, 102, 241, 0.2); background: var(--bg-card); }
|
|
|
+.form-hint { font-size: 11px; color: var(--text-muted); margin-top: 4px; font-style: italic; }
|
|
|
+.required { color: var(--danger); }
|
|
|
+
|
|
|
+/* Goal Inputs Enhancement */
|
|
|
+.goal-inputs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
|
|
|
+.goal-item { display: flex; align-items: center; gap: 8px; padding: 12px; background: var(--bg-hover); border-radius: 10px; border: 1px solid var(--border); transition: all 0.2s; }
|
|
|
+.goal-item:hover { border-color: var(--primary); background: rgba(99, 102, 241, 0.05); }
|
|
|
+.goal-item i { color: var(--primary); font-size: 16px; flex-shrink: 0; }
|
|
|
+.goal-input { width: 50px; padding: 6px; background: var(--bg-dark); border: 1px solid var(--border); border-radius: 6px; color: var(--text-primary); font-size: 12px; text-align: center; }
|
|
|
+.goal-item span { font-size: 11px; color: var(--text-secondary); }
|
|
|
+
|
|
|
+/* AI Suggest Section Enhancement */
|
|
|
+.ai-suggest-section { margin-top: 16px; padding: 14px; background: linear-gradient(135deg, rgba(99, 102, 241, 0.1), rgba(139, 92, 246, 0.1)); border: 1px solid rgba(99, 102, 241, 0.2); border-radius: 10px; }
|
|
|
+.ai-suggest-section h5 { font-size: 13px; margin-bottom: 10px; display: flex; align-items: center; gap: 6px; color: var(--primary); font-weight: 600; }
|
|
|
+.ai-suggestions { display: flex; gap: 10px; }
|
|
|
+.ai-suggestion { display: flex; align-items: center; gap: 6px; padding: 8px 14px; background: var(--bg-card); border: 1px solid var(--border); border-radius: 8px; font-size: 12px; cursor: pointer; transition: all 0.2s; flex: 1; }
|
|
|
+.ai-suggestion:hover { border-color: var(--primary); background: rgba(99, 102, 241, 0.1); }
|
|
|
+.ai-suggestion i { color: var(--primary); }
|
|
|
+
|
|
|
+/* ===== Reply Review Modal Optimization ===== */
|
|
|
+.detail-modal { max-width: 750px; max-height: 85vh; }
|
|
|
+.detail-modal .modal-header { background: linear-gradient(135deg, rgba(16, 185, 129, 0.1), rgba(99, 102, 241, 0.1)); border-bottom: 2px solid var(--success); }
|
|
|
+.detail-modal .modal-title { font-size: 16px; font-weight: 600; display: flex; align-items: center; gap: 8px; }
|
|
|
+
|
|
|
+/* Review Stats Enhancement */
|
|
|
+.review-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-bottom: 20px; }
|
|
|
+.stat-box { padding: 14px; background: var(--bg-hover); border-radius: 10px; border-left: 3px solid var(--primary); text-align: center; transition: all 0.2s; }
|
|
|
+.stat-box:hover { background: rgba(99, 102, 241, 0.05); border-left-color: var(--success); }
|
|
|
+.stat-label { font-size: 11px; color: var(--text-muted); margin-bottom: 6px; display: block; }
|
|
|
+.stat-value { font-size: 24px; font-weight: 700; color: var(--primary); }
|
|
|
+
|
|
|
+/* Replies List Enhancement */
|
|
|
+.replies-list { display: flex; flex-direction: column; gap: 12px; max-height: 400px; overflow-y: auto; }
|
|
|
+.reply-item { padding: 14px; background: var(--bg-hover); border-radius: 10px; border-left: 3px solid var(--border); transition: all 0.2s; }
|
|
|
+.reply-item:hover { background: rgba(99, 102, 241, 0.05); border-left-color: var(--primary); }
|
|
|
+.reply-item.pending-review { border-left-color: var(--warning); background: rgba(245, 158, 11, 0.05); }
|
|
|
+.reply-item.approved { border-left-color: var(--success); opacity: 0.9; }
|
|
|
+.reply-item.rejected { border-left-color: var(--danger); opacity: 0.7; }
|
|
|
+
|
|
|
+/* Reply Header Enhancement */
|
|
|
+.reply-header { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 10px; }
|
|
|
+.reply-info { flex: 1; }
|
|
|
+.reply-name { font-size: 14px; font-weight: 600; margin-bottom: 2px; display: flex; align-items: center; gap: 6px; }
|
|
|
+.review-required-badge { font-size: 10px; padding: 2px 8px; background: rgba(245, 158, 11, 0.2); color: var(--warning); border-radius: 10px; font-weight: normal; }
|
|
|
+.reply-email { font-size: 12px; color: var(--text-muted); }
|
|
|
+.reply-badges { display: flex; gap: 8px; flex-wrap: wrap; }
|
|
|
+.sentiment-badge { font-size: 11px; padding: 3px 8px; border-radius: 10px; }
|
|
|
+.priority-badge { font-size: 11px; padding: 3px 8px; border-radius: 10px; }
|
|
|
+.priority-badge.高 { background: rgba(239, 68, 68, 0.2); color: var(--danger); }
|
|
|
+.priority-badge.中 { background: rgba(245, 158, 11, 0.2); color: var(--warning); }
|
|
|
+.priority-badge.低 { background: rgba(107, 114, 128, 0.2); color: var(--text-muted); }
|
|
|
+
|
|
|
+/* Reply Content Enhancement */
|
|
|
+.reply-content { padding: 10px; background: var(--bg-dark); border-radius: 8px; margin-bottom: 10px; font-size: 13px; color: var(--text-secondary); line-height: 1.5; }
|
|
|
+.reply-actions { display: flex; gap: 8px; flex-wrap: wrap; }
|
|
|
+.reply-status { display: flex; flex-direction: column; gap: 6px; }
|
|
|
+
|
|
|
+/* ===== Modal Footer Enhancement ===== */
|
|
|
+.modal-footer { display: flex; justify-content: flex-end; gap: 12px; padding: 16px 20px; border-top: 1px solid var(--border); background: var(--bg-hover); }
|
|
|
+
|
|
|
+/* ===== Button Styles ===== */
|
|
|
+.btn { padding: 10px 16px; border-radius: 8px; border: none; font-size: 13px; font-weight: 500; cursor: pointer; transition: all 0.2s; display: inline-flex; align-items: center; gap: 6px; }
|
|
|
+.btn-primary { background: var(--primary); color: white; }
|
|
|
+.btn-primary:hover { background: #5B5FDE; box-shadow: 0 4px 12px rgba(99, 102, 241, 0.3); }
|
|
|
+.btn-secondary { background: var(--bg-hover); color: var(--text-primary); border: 1px solid var(--border); }
|
|
|
+.btn-secondary:hover { background: rgba(99, 102, 241, 0.1); border-color: var(--primary); }
|
|
|
+.btn-sm { padding: 6px 12px; font-size: 12px; }
|
|
|
+
|
|
|
+/* Customers & Replies List */
|
|
|
+.filter-bar { display: flex; gap: 8px; margin-bottom: 16px; }
|
|
|
+.filter-btn { padding: 6px 12px; background: var(--bg-hover); border: 1px solid var(--border); border-radius: 6px; cursor: pointer; font-size: 12px; color: var(--text-secondary); transition: all 0.2s; }
|
|
|
+.filter-btn.active { background: var(--primary); color: white; border-color: var(--primary); }
|
|
|
+.filter-btn:hover { background: rgba(99, 102, 241, 0.1); }
|
|
|
+
|
|
|
+.customers-list { display: flex; flex-direction: column; gap: 12px; }
|
|
|
+.customer-item { padding: 14px; background: var(--bg-hover); border-radius: 10px; border-left: 3px solid var(--border); transition: all 0.2s; }
|
|
|
+.customer-item.protected { border-left-color: var(--success); background: rgba(16, 185, 129, 0.05); }
|
|
|
+.customer-item .customer-header { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 10px; }
|
|
|
+.customer-item .customer-info { flex: 1; }
|
|
|
+.customer-item .customer-name { font-size: 14px; font-weight: 600; margin-bottom: 2px; display: flex; align-items: center; gap: 8px; }
|
|
|
+.customer-item .protection-badge { font-size: 10px; padding: 2px 8px; background: rgba(16, 185, 129, 0.2); color: var(--success); border-radius: 10px; font-weight: normal; }
|
|
|
+.customer-item .customer-email { font-size: 12px; color: var(--text-muted); }
|
|
|
+.customer-item .customer-badges { display: flex; gap: 8px; }
|
|
|
+.customer-item .value-badge { font-size: 11px; padding: 4px 10px; border-radius: 10px; }
|
|
|
+.customer-item .value-badge.高价值 { background: rgba(239, 68, 68, 0.2); color: #EF4444; }
|
|
|
+.customer-item .value-badge.中价值 { background: rgba(245, 158, 11, 0.2); color: #F59E0B; }
|
|
|
+.customer-item .value-badge.低价值 { background: rgba(107, 114, 128, 0.2); color: #6B7280; }
|
|
|
+.customer-item .engagement-badge { font-size: 11px; padding: 4px 10px; border-radius: 10px; }
|
|
|
+.customer-item .customer-details { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; margin-bottom: 10px; font-size: 12px; }
|
|
|
+.customer-item .detail-item { display: flex; justify-content: space-between; padding: 6px 8px; background: var(--bg-dark); border-radius: 6px; }
|
|
|
+.customer-item .detail-item .label { color: var(--text-muted); }
|
|
|
+.customer-item .detail-item .value { font-weight: 600; }
|
|
|
+.customer-item .customer-stats { display: flex; gap: 16px; font-size: 12px; color: var(--text-secondary); margin-bottom: 10px; }
|
|
|
+.customer-item .customer-actions { display: flex; gap: 8px; flex-wrap: wrap; }
|
|
|
+
|
|
|
+.replies-list { display: flex; flex-direction: column; gap: 12px; }
|
|
|
+.reply-item { padding: 14px; background: var(--bg-hover); border-radius: 10px; border-left: 3px solid var(--border); transition: all 0.2s; }
|
|
|
+.reply-item.pending-review { border-left-color: var(--warning); }
|
|
|
+.reply-item.approved { border-left-color: var(--success); opacity: 0.9; }
|
|
|
+.reply-item.rejected { border-left-color: #EF4444; opacity: 0.7; }
|
|
|
+.reply-item.assigned { border-left-color: var(--primary); }
|
|
|
+.reply-item.requires-review { background: rgba(245, 158, 11, 0.05); }
|
|
|
+.reply-item .reply-header { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 8px; }
|
|
|
+.reply-item .reply-info { flex: 1; }
|
|
|
+.reply-item .reply-name { font-size: 14px; font-weight: 600; margin-bottom: 2px; display: flex; align-items: center; gap: 8px; }
|
|
|
+.reply-item .review-required-badge { font-size: 10px; padding: 2px 8px; background: rgba(245, 158, 11, 0.2); color: #F59E0B; border-radius: 10px; font-weight: normal; }
|
|
|
+.reply-item .reply-email { font-size: 12px; color: var(--text-muted); }
|
|
|
+.reply-item .reply-badges { display: flex; gap: 8px; flex-wrap: wrap; }
|
|
|
+.reply-item .sentiment-badge { font-size: 11px; padding: 3px 8px; border-radius: 10px; }
|
|
|
+.reply-item .priority-badge { font-size: 11px; padding: 3px 8px; border-radius: 10px; }
|
|
|
+.reply-item .priority-badge.high { background: rgba(239, 68, 68, 0.2); color: #EF4444; }
|
|
|
+.reply-item .priority-badge.medium { background: rgba(245, 158, 11, 0.2); color: #F59E0B; }
|
|
|
+.reply-item .priority-badge.low { background: rgba(107, 114, 128, 0.2); color: #6B7280; }
|
|
|
+.reply-item .reply-customer-info { display: flex; gap: 16px; font-size: 11px; color: var(--text-muted); margin-bottom: 6px; }
|
|
|
+.reply-item .reply-time { font-size: 11px; color: var(--text-muted); margin-bottom: 8px; }
|
|
|
+.reply-item .reply-content { padding: 10px; background: var(--bg-dark); border-radius: 8px; margin-bottom: 10px; font-size: 13px; color: var(--text-secondary); line-height: 1.5; }
|
|
|
+.reply-item .reply-review-notes { display: flex; align-items: flex-start; gap: 8px; padding: 8px 10px; background: rgba(99, 102, 241, 0.1); border-radius: 6px; margin-bottom: 10px; font-size: 12px; color: var(--text-secondary); }
|
|
|
+.reply-item .reply-review-notes i { color: var(--primary); margin-top: 2px; flex-shrink: 0; }
|
|
|
+.reply-item .reply-actions { display: flex; gap: 8px; flex-wrap: wrap; }
|
|
|
+.reply-item .reply-status { display: flex; flex-direction: column; gap: 6px; }
|
|
|
+.reply-item .status-badge { font-size: 11px; padding: 4px 10px; border-radius: 10px; display: inline-block; width: fit-content; }
|
|
|
+.reply-item .status-badge.approved { background: rgba(16, 185, 129, 0.2); color: var(--success); }
|
|
|
+.reply-item .status-badge.rejected { background: rgba(239, 68, 68, 0.2); color: #EF4444; }
|
|
|
+.reply-item .status-badge.assigned { background: rgba(99, 102, 241, 0.2); color: var(--primary); }
|
|
|
+.reply-item .review-info { font-size: 10px; color: var(--text-muted); }
|
|
|
+
|
|
|
+/* Protected Customers */
|
|
|
+.protected-customers { display: flex; flex-direction: column; gap: 10px; }
|
|
|
+.protected-customer-item { padding: 12px; background: var(--bg-dark); border-radius: 8px; border-left: 3px solid var(--success); }
|
|
|
+.protected-customer-item .customer-header { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 8px; }
|
|
|
+.protected-customer-item .customer-info { flex: 1; }
|
|
|
+.protected-customer-item .customer-name { font-size: 14px; font-weight: 600; margin-bottom: 2px; display: flex; align-items: center; gap: 8px; }
|
|
|
+.protection-level { font-size: 10px; padding: 2px 8px; border-radius: 10px; margin-left: 8px; }
|
|
|
+.protection-level.高 { background: rgba(239, 68, 68, 0.2); color: #EF4444; }
|
|
|
+.protection-level.中 { background: rgba(245, 158, 11, 0.2); color: #F59E0B; }
|
|
|
+.protected-customer-item .customer-email { font-size: 12px; color: var(--text-muted); }
|
|
|
+.customer-meta { display: flex; gap: 12px; font-size: 11px; color: var(--text-muted); }
|
|
|
+.meta-item { display: flex; align-items: center; gap: 4px; }
|
|
|
+.protected-customer-item .customer-details { display: flex; gap: 12px; font-size: 11px; color: var(--text-muted); margin-bottom: 8px; }
|
|
|
+.detail { display: flex; align-items: center; gap: 4px; }
|
|
|
+.protected-customer-item .customer-actions { display: flex; gap: 8px; }
|
|
|
+
|
|
|
+/* Intervention Options */
|
|
|
+.tabs-section { display: flex; gap: 12px; margin-bottom: 16px; padding-bottom: 12px; border-bottom: 1px solid var(--border); }
|
|
|
+.tabs-section .tab-item { padding: 6px 12px; font-size: 13px; color: var(--text-secondary); cursor: pointer; border-radius: 6px; display: flex; align-items: center; gap: 6px; }
|
|
|
+.tabs-section .tab-item.active { background: var(--bg-hover); color: var(--text-primary); font-weight: 600; }
|
|
|
+
|
|
|
+.intervention-options { display: flex; flex-direction: column; gap: 10px; }
|
|
|
+.intervention-options .option-item { display: flex; align-items: flex-start; gap: 12px; padding: 12px; background: var(--bg-dark); border-radius: 10px; cursor: pointer; transition: all 0.2s; border: 1px solid var(--border); }
|
|
|
+.intervention-options .option-item:hover { background: rgba(99, 102, 241, 0.1); border-color: var(--primary); }
|
|
|
+.intervention-options .option-item i { font-size: 20px; color: var(--primary); margin-top: 2px; flex-shrink: 0; }
|
|
|
+.intervention-options .option-title { font-size: 13px; font-weight: 600; margin-bottom: 2px; }
|
|
|
+.intervention-options .option-desc { font-size: 11px; color: var(--text-muted); }
|
|
|
+
|
|
|
+.interventions-list { display: flex; flex-direction: column; gap: 8px; }
|
|
|
+.interventions-list .intervention-item { padding: 12px; background: var(--bg-dark); border-radius: 8px; border-left: 3px solid var(--primary); }
|
|
|
+.interventions-list .intervention-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px; }
|
|
|
+.interventions-list .intervention-type { font-size: 13px; font-weight: 600; }
|
|
|
+.interventions-list .intervention-status { font-size: 10px; padding: 2px 8px; border-radius: 10px; }
|
|
|
+.interventions-list .intervention-status.active { background: rgba(16, 185, 129, 0.2); color: var(--success); }
|
|
|
+.interventions-list .intervention-status.completed { background: rgba(107, 114, 128, 0.2); color: #6B7280; }
|
|
|
+.interventions-list .intervention-info { display: flex; flex-direction: column; gap: 6px; }
|
|
|
+.interventions-list .description { font-size: 12px; color: var(--text-secondary); margin: 0; }
|
|
|
+.interventions-list .meta { display: flex; flex-wrap: wrap; gap: 12px; font-size: 11px; color: var(--text-muted); }
|
|
|
+
|
|
|
+/* Info Grid */
|
|
|
+.info-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
|
|
|
+.info-item { display: flex; flex-direction: column; gap: 4px; padding: 12px; background: var(--bg-dark); border-radius: 8px; }
|
|
|
+.info-item .label { font-size: 11px; color: var(--text-muted); }
|
|
|
+.info-item .value { font-size: 14px; font-weight: 600; }
|
|
|
+
|
|
|
+
|
|
|
+.marketing-page { flex: 1; display: flex; flex-direction: column; padding: 24px; overflow-y: auto; background: var(--bg-dark); }
|
|
|
+.marketing-header { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 24px; }
|
|
|
+.header-left { display: flex; flex-direction: column; gap: 4px; }
|
|
|
+.data-title { font-size: 20px; font-weight: 600; }
|
|
|
+.header-desc { font-size: 13px; color: var(--text-secondary); }
|
|
|
+.header-actions { display: flex; gap: 8px; }
|
|
|
+
|
|
|
+.stats-row { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; margin-bottom: 24px; }
|
|
|
+.stat-card-lg { display: flex; align-items: center; gap: 14px; padding: 18px; background: var(--bg-card); border-radius: 14px; border: 1px solid var(--border); }
|
|
|
+.stat-icon-lg { width: 48px; height: 48px; border-radius: 12px; display: flex; align-items: center; justify-content: center; font-size: 20px; }
|
|
|
+.stat-icon-lg.blue { background: rgba(99, 102, 241, 0.2); color: var(--primary); }
|
|
|
+.stat-icon-lg.green { background: rgba(16, 185, 129, 0.2); color: var(--success); }
|
|
|
+.stat-icon-lg.purple { background: rgba(139, 92, 246, 0.2); color: var(--secondary); }
|
|
|
+.stat-icon-lg.orange { background: rgba(245, 158, 11, 0.2); color: var(--warning); }
|
|
|
+.stat-icon-lg.success { background: rgba(16, 185, 129, 0.2); color: var(--success); }
|
|
|
+.stat-content-lg h3 { font-size: 24px; font-weight: 700; }
|
|
|
+.stat-content-lg p { font-size: 12px; color: var(--text-secondary); }
|
|
|
+
|
|
|
+.tabs-row { display: flex; justify-content: space-between; margin-bottom: 20px; padding-bottom: 12px; border-bottom: 1px solid var(--border); }
|
|
|
+.tabs { display: flex; gap: 4px; }
|
|
|
+.tab-item { padding: 8px 16px; border-radius: 8px; cursor: pointer; font-size: 13px; color: var(--text-secondary); display: flex; align-items: center; gap: 6px; }
|
|
|
+.tab-item:hover { background: var(--bg-hover); }
|
|
|
+.tab-item.active { background: var(--bg-hover); color: var(--text-primary); font-weight: 600; }
|
|
|
+.tab-count { font-size: 11px; padding: 2px 6px; background: var(--bg-dark); border-radius: 10px; }
|
|
|
+.tab-item.active .tab-count { background: var(--primary); color: white; }
|
|
|
+
|
|
|
+.campaigns-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
|
|
|
+.campaign-card { background: var(--bg-card); border: 1px solid var(--border); border-radius: 14px; padding: 20px; cursor: pointer; transition: all 0.2s; }
|
|
|
+.campaign-card:hover { border-color: var(--primary); transform: translateY(-2px); }
|
|
|
+.card-header { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 12px; }
|
|
|
+.card-icon { width: 40px; height: 40px; border-radius: 10px; display: flex; align-items: center; justify-content: center; font-size: 16px; }
|
|
|
+.status-badge { font-size: 10px; padding: 3px 8px; border-radius: 10px; }
|
|
|
+.status-badge.active { background: rgba(16, 185, 129, 0.2); color: var(--success); }
|
|
|
+.status-badge.paused { background: rgba(245, 158, 11, 0.2); color: var(--warning); }
|
|
|
+.card-title { font-size: 15px; font-weight: 600; margin-bottom: 6px; }
|
|
|
+.card-desc { font-size: 12px; color: var(--text-secondary); margin-bottom: 12px; }
|
|
|
+.card-channels { display: flex; gap: 6px; margin-bottom: 12px; }
|
|
|
+.channel-tag { display: flex; align-items: center; gap: 4px; font-size: 11px; padding: 4px 10px; background: var(--bg-hover); border-radius: 12px; color: var(--text-secondary); }
|
|
|
+.card-stats { display: flex; gap: 20px; margin-bottom: 12px; padding: 12px; background: var(--bg-hover); border-radius: 8px; }
|
|
|
+.stat-item { text-align: center; }
|
|
|
+.stat-item .stat-value { font-size: 18px; font-weight: 700; display: block; }
|
|
|
+.stat-item .stat-value.success { color: var(--success); }
|
|
|
+.stat-item .stat-value.primary { color: var(--primary); }
|
|
|
+.stat-item .stat-label { font-size: 11px; color: var(--text-muted); }
|
|
|
+.card-progress { margin-bottom: 12px; }
|
|
|
+.progress-header { display: flex; justify-content: space-between; font-size: 11px; margin-bottom: 6px; }
|
|
|
+.progress-bar { height: 4px; background: var(--bg-dark); border-radius: 2px; overflow: hidden; }
|
|
|
+.progress-fill { height: 100%; background: var(--primary); border-radius: 2px; }
|
|
|
+.card-actions { display: flex; gap: 8px; }
|
|
|
+
|
|
|
+/* Modal */
|
|
|
+.modal-overlay { position: fixed; inset: 0; background: rgba(0, 0, 0, 0.7); display: flex; align-items: center; justify-content: center; z-index: 1000; padding: 20px; }
|
|
|
+.modal { background: var(--bg-card); border-radius: 16px; width: 100%; max-width: 700px; max-height: 90vh; overflow: hidden; display: flex; flex-direction: column; }
|
|
|
+.create-modal, .ai-modal { max-width: 800px; }
|
|
|
+.detail-modal { max-width: 750px; }
|
|
|
+.modal-header { display: flex; justify-content: space-between; align-items: center; padding: 20px; border-bottom: 1px solid var(--border); }
|
|
|
+.modal-title { font-size: 16px; font-weight: 600; display: flex; align-items: center; gap: 8px; }
|
|
|
+.modal-close { width: 32px; height: 32px; background: var(--bg-hover); border: none; border-radius: 8px; color: var(--text-secondary); cursor: pointer; display: flex; align-items: center; justify-content: center; }
|
|
|
+.modal-body { flex: 1; overflow-y: auto; padding: 20px; }
|
|
|
+.modal-footer { display: flex; justify-content: flex-end; gap: 12px; padding: 20px; border-top: 1px solid var(--border); }
|
|
|
+
|
|
|
+/* Detail Section */
|
|
|
+.detail-section { margin-bottom: 20px; }
|
|
|
+.detail-section h5 { font-size: 14px; font-weight: 600; margin-bottom: 12px; color: var(--text-primary); }
|
|
|
+
|
|
|
+/* Step Indicator */
|
|
|
+.step-indicator { display: flex; align-items: center; justify-content: center; margin-bottom: 24px; }
|
|
|
+.step { display: flex; flex-direction: column; align-items: center; }
|
|
|
+.step-number { width: 28px; height: 28px; border-radius: 50%; background: var(--bg-hover); display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 600; color: var(--text-muted); }
|
|
|
+.step.active .step-number { background: var(--primary); color: white; }
|
|
|
+.step.completed .step-number { background: var(--success); color: white; }
|
|
|
+.step-label { font-size: 11px; margin-top: 4px; color: var(--text-muted); }
|
|
|
+.step.active .step-label { color: var(--text-primary); font-weight: 500; }
|
|
|
+.step-line { width: 40px; height: 2px; background: var(--border); }
|
|
|
+.step-line.active { background: var(--primary); }
|
|
|
+
|
|
|
+.step-content h4 { font-size: 14px; font-weight: 600; margin-bottom: 16px; display: flex; align-items: center; gap: 8px; }
|
|
|
+.step-content h4 i { color: var(--primary); }
|
|
|
+
|
|
|
+/* Forms */
|
|
|
+.form-group { margin-bottom: 16px; }
|
|
|
+.form-label { display: block; font-size: 12px; color: var(--text-secondary); margin-bottom: 6px; }
|
|
|
+.form-hint { font-size: 11px; color: var(--text-muted); margin-top: 4px; font-style: italic; }
|
|
|
+.form-input, .form-select, .form-textarea { width: 100%; padding: 10px 14px; background: var(--bg-dark); border: 1px solid var(--border); border-radius: 8px; color: var(--text-primary); font-size: 13px; }
|
|
|
+.form-input:focus, .form-select:focus, .form-textarea:focus { outline: none; border-color: var(--primary); }
|
|
|
+.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
|
|
|
+.required { color: var(--danger); }
|
|
|
+
|
|
|
+/* Goal Inputs */
|
|
|
+.goal-inputs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
|
|
|
+.goal-item { display: flex; align-items: center; gap: 8px; padding: 12px; background: var(--bg-hover); border-radius: 10px; }
|
|
|
+.goal-item i { color: var(--primary); font-size: 16px; }
|
|
|
+.goal-input { width: 70px; padding: 8px; background: var(--bg-dark); border: 1px solid var(--border); border-radius: 6px; color: var(--text-primary); font-size: 14px; text-align: center; }
|
|
|
+.goal-item span { font-size: 11px; color: var(--text-secondary); }
|
|
|
+
|
|
|
+/* AI Suggest */
|
|
|
+.ai-suggest-section { margin-top: 16px; padding: 14px; background: rgba(99, 102, 241, 0.1); border: 1px solid rgba(99, 102, 241, 0.2); border-radius: 10px; }
|
|
|
+.ai-suggest-section h5 { font-size: 13px; margin-bottom: 10px; display: flex; align-items: center; gap: 6px; color: var(--primary); }
|
|
|
+.ai-suggestions { display: flex; gap: 10px; }
|
|
|
+.ai-suggestion { display: flex; align-items: center; gap: 6px; padding: 8px 14px; background: var(--bg-card); border: 1px solid var(--border); border-radius: 8px; font-size: 12px; cursor: pointer; transition: all 0.2s; }
|
|
|
+.ai-suggestion:hover { border-color: var(--primary); background: rgba(99, 102, 241, 0.2); }
|
|
|
+.ai-suggestion i { color: var(--primary); }
|
|
|
+
|
|
|
+/* AI Recommend Tags */
|
|
|
+.ai-recommend-section { margin-bottom: 16px; padding: 14px; background: linear-gradient(135deg, rgba(99, 102, 241, 0.1), rgba(139, 92, 246, 0.1)); border: 1px solid rgba(99, 102, 241, 0.2); border-radius: 10px; }
|
|
|
+.ai-recommend-header { display: flex; align-items: center; gap: 8px; margin-bottom: 12px; font-size: 13px; font-weight: 600; color: var(--primary); }
|
|
|
+.ai-recommend-tags { display: flex; flex-wrap: wrap; gap: 8px; }
|
|
|
+.ai-tag { display: flex; align-items: center; gap: 6px; padding: 6px 14px; background: var(--bg-hover); border: 1px solid var(--border); border-radius: 20px; font-size: 12px; cursor: pointer; transition: all 0.2s; }
|
|
|
+.ai-tag:hover { border-color: var(--primary); }
|
|
|
+.ai-tag.active { background: var(--primary); border-color: var(--primary); color: white; }
|
|
|
+.ai-tag i { font-size: 11px; }
|
|
|
+
|
|
|
+/* Filter Header */
|
|
|
+.filter-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; }
|
|
|
+.filter-header h5 { margin: 0; }
|
|
|
+.btn-link { background: none; border: none; color: var(--primary); font-size: 12px; cursor: pointer; }
|
|
|
+
|
|
|
+/* Keyword Search */
|
|
|
+.keyword-search { display: flex; gap: 8px; }
|
|
|
+.keyword-search .form-input { flex: 1; }
|
|
|
+
|
|
|
+/* Selected Tags */
|
|
|
+.selected-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
|
|
|
+.selected-tag { display: flex; align-items: center; gap: 6px; padding: 4px 12px; background: rgba(99, 102, 241, 0.2); border-radius: 16px; font-size: 12px; color: var(--primary); }
|
|
|
+.selected-tag i { cursor: pointer; opacity: 0.7; }
|
|
|
+.selected-tag i:hover { opacity: 1; }
|
|
|
+
|
|
|
+/* Customer Source */
|
|
|
+.customer-source { margin-top: 16px; padding: 14px; background: var(--bg-hover); border-radius: 10px; }
|
|
|
+.customer-source h5 { font-size: 13px; margin-bottom: 12px; display: flex; align-items: center; gap: 6px; }
|
|
|
+.source-bars { display: flex; flex-direction: column; gap: 10px; }
|
|
|
+.source-item { display: flex; align-items: center; gap: 10px; }
|
|
|
+.source-label { width: 70px; font-size: 12px; color: var(--text-secondary); }
|
|
|
+.source-bar { flex: 1; height: 8px; background: var(--bg-dark); border-radius: 4px; overflow: hidden; }
|
|
|
+.source-fill { height: 100%; border-radius: 4px; }
|
|
|
+.source-value { width: 40px; font-size: 12px; text-align: right; }
|
|
|
+
|
|
|
+/* Segment Check */
|
|
|
+.segment-check { color: var(--primary); font-size: 18px; margin-left: auto; }
|
|
|
+
|
|
|
+/* Preview Count Button */
|
|
|
+.btn-outline { background: transparent; border: 1px solid var(--primary); color: var(--primary); }
|
|
|
+.btn-outline:hover { background: rgba(99, 102, 241, 0.1); }
|
|
|
+
|
|
|
+/* Segments */
|
|
|
+.quick-segments { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-bottom: 20px; }
|
|
|
+.segment-option { display: flex; align-items: center; gap: 12px; padding: 14px; background: var(--bg-hover); border: 1px solid var(--border); border-radius: 10px; cursor: pointer; transition: all 0.2s; }
|
|
|
+.segment-option:hover { border-color: var(--primary); }
|
|
|
+.segment-option.selected { border-color: var(--primary); background: rgba(99, 102, 241, 0.1); }
|
|
|
+.segment-option i { font-size: 20px; color: var(--primary); }
|
|
|
+.segment-name { font-size: 13px; font-weight: 600; }
|
|
|
+.segment-count { font-size: 11px; color: var(--text-secondary); }
|
|
|
+
|
|
|
+.advanced-filters { margin-bottom: 20px; }
|
|
|
+.advanced-filters h5 { font-size: 13px; margin-bottom: 12px; display: flex; align-items: center; gap: 6px; }
|
|
|
+.filter-row { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
|
|
|
+
|
|
|
+.preview-count { display: flex; align-items: center; gap: 12px; padding: 16px; background: rgba(99, 102, 241, 0.1); border: 1px solid rgba(99, 102, 241, 0.2); border-radius: 10px; }
|
|
|
+.preview-count i { font-size: 24px; color: var(--primary); }
|
|
|
+.count-value { font-size: 14px; }
|
|
|
+.count-detail { font-size: 12px; color: var(--text-secondary); }
|
|
|
+
|
|
|
+/* Channels */
|
|
|
+.channel-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; margin-bottom: 20px; }
|
|
|
+.channel-card { display: flex; align-items: center; gap: 12px; padding: 16px; background: var(--bg-hover); border: 1px solid var(--border); border-radius: 10px; cursor: pointer; transition: all 0.2s; }
|
|
|
+.channel-card:hover { border-color: var(--primary); }
|
|
|
+.channel-card.selected { border-color: var(--primary); background: rgba(99, 102, 241, 0.1); }
|
|
|
+.channel-card.disabled { opacity: 0.5; cursor: not-allowed; }
|
|
|
+.channel-icon { width: 40px; height: 40px; border-radius: 10px; display: flex; align-items: center; justify-content: center; font-size: 18px; }
|
|
|
+.channel-name { font-size: 14px; font-weight: 600; }
|
|
|
+.channel-desc { font-size: 11px; color: var(--text-secondary); }
|
|
|
+.channel-check { color: var(--primary); font-size: 18px; }
|
|
|
+.channel-settings h5 { font-size: 13px; margin-bottom: 12px; }
|
|
|
+
|
|
|
+/* SOP & Rules */
|
|
|
+.sop-section { margin-bottom: 20px; }
|
|
|
+.sop-section h5 { font-size: 13px; margin-bottom: 12px; display: flex; align-items: center; gap: 6px; }
|
|
|
+.sop-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
|
|
|
+.sop-card { display: flex; align-items: center; gap: 10px; padding: 12px; background: var(--bg-hover); border: 1px solid var(--border); border-radius: 10px; cursor: pointer; }
|
|
|
+.sop-card.selected { border-color: var(--primary); background: rgba(99, 102, 241, 0.1); }
|
|
|
+.sop-icon { font-size: 24px; }
|
|
|
+.sop-name { font-size: 12px; font-weight: 600; }
|
|
|
+.sop-steps { font-size: 10px; color: var(--text-secondary); }
|
|
|
+
|
|
|
+.rules-section h5 { font-size: 13px; margin-bottom: 12px; display: flex; align-items: center; gap: 6px; }
|
|
|
+.rule-item { display: flex; gap: 12px; padding: 12px; background: var(--bg-hover); border-radius: 8px; margin-bottom: 8px; }
|
|
|
+.rule-toggle { width: 44px; height: 24px; background: var(--border); border-radius: 12px; position: relative; cursor: pointer; flex-shrink: 0; }
|
|
|
+.rule-toggle::after { content: ''; position: absolute; top: 3px; left: 3px; width: 18px; height: 18px; background: white; border-radius: 50%; transition: all 0.2s; }
|
|
|
+.rule-toggle.active { background: var(--success); }
|
|
|
+.rule-toggle.active::after { left: 23px; }
|
|
|
+.rule-title { font-size: 13px; font-weight: 500; }
|
|
|
+.rule-desc { font-size: 11px; color: var(--text-secondary); }
|
|
|
+
|
|
|
+/* Preview */
|
|
|
+.preview-cards { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; margin-bottom: 20px; }
|
|
|
+.preview-card { display: flex; align-items: center; gap: 12px; padding: 14px; background: var(--bg-hover); border-radius: 10px; }
|
|
|
+.preview-icon { width: 40px; height: 40px; background: rgba(99, 102, 241, 0.2); border-radius: 10px; display: flex; align-items: center; justify-content: center; color: var(--primary); }
|
|
|
+.preview-label { font-size: 11px; color: var(--text-secondary); }
|
|
|
+.preview-value { font-size: 14px; font-weight: 600; }
|
|
|
+
|
|
|
+.estimated-impact { margin-bottom: 20px; }
|
|
|
+.estimated-impact h5 { font-size: 13px; margin-bottom: 12px; display: flex; align-items: center; gap: 6px; }
|
|
|
+.impact-metrics { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
|
|
|
+.impact-metric { background: var(--bg-hover); border-radius: 10px; padding: 14px; text-align: center; }
|
|
|
+.impact-metric .metric-value { font-size: 18px; font-weight: 700; }
|
|
|
+.impact-metric.highlight { background: rgba(16, 185, 129, 0.1); border: 1px solid rgba(16, 185, 129, 0.2); }
|
|
|
+.impact-metric.highlight .metric-value { color: var(--success); }
|
|
|
+.impact-metric .metric-label { font-size: 11px; color: var(--text-secondary); }
|
|
|
+
|
|
|
+.confirm-section { display: flex; flex-direction: column; gap: 10px; }
|
|
|
+.confirm-item { display: flex; align-items: center; gap: 10px; font-size: 13px; cursor: pointer; }
|
|
|
+.confirm-item input { width: 16px; height: 16px; }
|
|
|
+
|
|
|
+/* AI Generator */
|
|
|
+.ai-generator { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
|
|
|
+.generator-input h4, .generator-output h4 { font-size: 14px; font-weight: 600; margin-bottom: 16px; }
|
|
|
+.checkbox-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
|
|
|
+.checkbox-item { display: flex; align-items: center; gap: 6px; font-size: 12px; cursor: pointer; }
|
|
|
+.checkbox-item input { width: 14px; height: 14px; }
|
|
|
+.tone-options, .language-options { display: flex; flex-wrap: wrap; gap: 8px; }
|
|
|
+.tone-option, .language-option { padding: 6px 12px; background: var(--bg-hover); border-radius: 16px; font-size: 12px; cursor: pointer; }
|
|
|
+.tone-option.active, .language-option.active { background: var(--primary); color: white; }
|
|
|
+.btn-block { width: 100%; }
|
|
|
+
|
|
|
+.output-placeholder { text-align: center; padding: 60px 20px; color: var(--text-muted); }
|
|
|
+.output-placeholder i { font-size: 48px; margin-bottom: 16px; opacity: 0.5; }
|
|
|
+.email-preview { background: var(--bg-hover); border-radius: 10px; padding: 16px; }
|
|
|
+.email-field { margin-bottom: 12px; }
|
|
|
+.email-field label { font-size: 11px; color: var(--text-muted); display: block; margin-bottom: 4px; }
|
|
|
+.email-value { font-size: 13px; }
|
|
|
+.email-value.subject { font-weight: 600; color: var(--primary); }
|
|
|
+.email-body { font-size: 13px; line-height: 1.7; color: var(--text-secondary); }
|
|
|
+.email-stats { display: flex; gap: 16px; padding-top: 12px; border-top: 1px solid var(--border); font-size: 11px; color: var(--text-muted); }
|
|
|
+.email-stats .success { color: var(--success); }
|
|
|
+
|
|
|
+/* Templates */
|
|
|
+.templates-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
|
|
|
+.template-card { background: var(--bg-hover); border-radius: 10px; padding: 16px; }
|
|
|
+.template-header { display: flex; justify-content: space-between; margin-bottom: 8px; }
|
|
|
+.template-type { font-size: 11px; padding: 2px 8px; background: rgba(99, 102, 241, 0.2); color: var(--primary); border-radius: 10px; }
|
|
|
+.template-lang { font-size: 11px; color: var(--text-muted); }
|
|
|
+.template-subject { font-size: 14px; font-weight: 600; margin-bottom: 8px; }
|
|
|
+.template-preview { font-size: 12px; color: var(--text-secondary); margin-bottom: 12px; }
|
|
|
+.template-stats { display: flex; gap: 16px; margin-bottom: 12px; font-size: 11px; color: var(--text-muted); }
|
|
|
+
|
|
|
+/* Campaign Detail Modal */
|
|
|
+.campaign-detail-modal { max-width: 800px; }
|
|
|
+.detail-status { margin-left: 12px; padding: 3px 10px; border-radius: 12px; font-size: 11px; font-weight: 500; }
|
|
|
+.detail-status.active { background: rgba(16, 185, 129, 0.2); color: var(--success); }
|
|
|
+.detail-status.paused { background: rgba(245, 158, 11, 0.2); color: var(--warning); }
|
|
|
+.detail-status.completed { background: rgba(99, 102, 241, 0.2); color: var(--primary); }
|
|
|
+
|
|
|
+.detail-section { margin-bottom: 20px; padding: 16px; background: var(--bg-hover); border-radius: 12px; }
|
|
|
+.section-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 14px; }
|
|
|
+.section-header h4 { font-size: 14px; font-weight: 600; display: flex; align-items: center; gap: 8px; margin: 0; }
|
|
|
+.section-header h4 i { color: var(--primary); }
|
|
|
+.progress-info { font-size: 12px; color: var(--primary); font-weight: 600; }
|
|
|
+
|
|
|
+.detail-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
|
|
|
+.detail-item { display: flex; flex-direction: column; gap: 4px; }
|
|
|
+.detail-item.full-width { grid-column: 1 / -1; }
|
|
|
+.detail-item label { font-size: 11px; color: var(--text-muted); }
|
|
|
+.detail-item span { font-size: 13px; color: var(--text-primary); }
|
|
|
+.priority-badge { display: inline-block; padding: 2px 10px; border-radius: 10px; font-size: 11px; }
|
|
|
+.priority-badge.urgent { background: rgba(239, 68, 68, 0.2); color: var(--danger); }
|
|
|
+.priority-badge.high { background: rgba(245, 158, 11, 0.2); color: var(--warning); }
|
|
|
+.priority-badge.medium { background: rgba(99, 102, 241, 0.2); color: var(--primary); }
|
|
|
+.priority-badge.low { background: rgba(107, 114, 128, 0.2); color: var(--text-muted); }
|
|
|
+
|
|
|
+.detail-progress-bar { height: 6px; background: var(--bg-dark); border-radius: 3px; margin-bottom: 16px; overflow: hidden; }
|
|
|
+.detail-progress-bar .progress-fill { height: 100%; background: linear-gradient(90deg, var(--primary), var(--success)); border-radius: 3px; }
|
|
|
+
|
|
|
+.metrics-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
|
|
|
+.metric-card { display: flex; align-items: center; gap: 14px; padding: 16px; background: var(--bg-card); border-radius: 14px; box-shadow: inset 0 0 0 1px rgba(255,255,255,0.03); }
|
|
|
+.metric-icon { width: 44px; height: 44px; border-radius: 12px; display: flex; align-items: center; justify-content: center; font-size: 18px; }
|
|
|
+.metric-icon.blue { background: rgba(99, 102, 241, 0.16); color: var(--primary); }
|
|
|
+.metric-icon.green { background: rgba(16, 185, 129, 0.16); color: var(--success); }
|
|
|
+.metric-icon.purple { background: rgba(139, 92, 246, 0.16); color: var(--secondary); }
|
|
|
+.metric-content .metric-value { font-size: 20px; font-weight: 700; }
|
|
|
+.metric-content .metric-label { font-size: 12px; color: var(--text-muted); }
|
|
|
+@media (max-width: 900px) {
|
|
|
+ .metrics-grid { grid-template-columns: repeat(2, 1fr); }
|
|
|
+}
|
|
|
+@media (max-width: 640px) {
|
|
|
+ .metrics-grid { grid-template-columns: 1fr; }
|
|
|
+}
|
|
|
+
|
|
|
+.channel-detail-list { display: flex; flex-direction: column; gap: 10px; }
|
|
|
+.channel-detail-item { display: flex; align-items: center; gap: 14px; padding: 14px; background: var(--bg-card); border-radius: 10px; }
|
|
|
+.channel-icon-wrapper { width: 44px; height: 44px; border-radius: 10px; display: flex; align-items: center; justify-content: center; font-size: 18px; }
|
|
|
+.channel-detail-info { flex: 1; }
|
|
|
+.channel-detail-name { font-size: 14px; font-weight: 600; margin-bottom: 4px; }
|
|
|
+.channel-detail-stats { display: flex; gap: 16px; font-size: 11px; color: var(--text-muted); }
|
|
|
+.channel-status { display: flex; align-items: center; gap: 6px; font-size: 12px; color: var(--success); }
|
|
|
+.status-dot { width: 8px; height: 8px; border-radius: 50%; }
|
|
|
+.status-dot.active { background: var(--success); }
|
|
|
+
|
|
|
+.target-info { display: flex; align-items: stretch; gap: 16px; flex-wrap: wrap; }
|
|
|
+.target-stat { flex: 1; min-width: 180px; text-align: center; padding: 18px; background: var(--bg-card); border-radius: 14px; box-shadow: inset 0 0 0 1px rgba(255,255,255,0.04); }
|
|
|
+.target-value { font-size: 26px; font-weight: 700; color: var(--text-primary); }
|
|
|
+.target-label { font-size: 12px; color: var(--text-muted); margin-top: 6px; }
|
|
|
+.target-breakdown { display: none; }
|
|
|
+.breakdown-item { display: none; }
|
|
|
+.breakdown-label { display: none; }
|
|
|
+.breakdown-value { display: none; }
|
|
|
+
|
|
|
+.sop-header-info { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; }
|
|
|
+.sop-header-info .sop-name { font-size: 14px; font-weight: 600; }
|
|
|
+.sop-header-info .sop-steps { font-size: 11px; padding: 3px 10px; background: rgba(99, 102, 241, 0.2); color: var(--primary); border-radius: 10px; }
|
|
|
+.sop-timeline-detail { display: flex; flex-direction: column; gap: 8px; }
|
|
|
+.sop-step-item { display: flex; align-items: center; gap: 12px; padding: 12px; background: var(--bg-card); border-radius: 8px; border-left: 3px solid var(--border); }
|
|
|
+.sop-step-item.completed { border-left-color: var(--success); opacity: 0.8; }
|
|
|
+.sop-step-item.current { border-left-color: var(--primary); background: rgba(99, 102, 241, 0.1); }
|
|
|
+.sop-step-item.pending { border-left-color: var(--border); opacity: 0.6; }
|
|
|
+.sop-step-item .step-marker { width: 24px; height: 24px; border-radius: 50%; background: var(--bg-hover); display: flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 600; }
|
|
|
+.sop-step-item.completed .step-marker { background: var(--success); color: white; }
|
|
|
+.sop-step-item.current .step-marker { background: var(--primary); color: white; }
|
|
|
+.sop-step-item .step-content { flex: 1; }
|
|
|
+.sop-step-item .step-title { font-size: 13px; font-weight: 500; }
|
|
|
+.sop-step-item .step-meta { font-size: 11px; color: var(--text-muted); margin-top: 2px; }
|
|
|
+
|
|
|
+.interactions-list { display: flex; flex-direction: column; gap: 10px; }
|
|
|
+.interaction-item { display: flex; gap: 12px; padding: 12px; background: var(--bg-card); border-radius: 10px; }
|
|
|
+.interaction-avatar { width: 36px; height: 36px; border-radius: 50%; background: linear-gradient(135deg, var(--primary), var(--secondary)); display: flex; align-items: center; justify-content: center; color: white; font-size: 14px; font-weight: 600; }
|
|
|
+.interaction-content { flex: 1; }
|
|
|
+.interaction-header { display: flex; justify-content: space-between; margin-bottom: 4px; }
|
|
|
+.interaction-name { font-size: 13px; font-weight: 600; }
|
|
|
+.interaction-time { font-size: 11px; color: var(--text-muted); }
|
|
|
+.interaction-text { font-size: 12px; color: var(--text-secondary); margin-bottom: 6px; }
|
|
|
+.interaction-tags { display: flex; gap: 6px; }
|
|
|
+.interaction-tags .tag { padding: 2px 8px; border-radius: 10px; font-size: 10px; }
|
|
|
+.tag.reply { background: rgba(99, 102, 241, 0.2); color: var(--primary); }
|
|
|
+.tag.open { background: rgba(16, 185, 129, 0.2); color: var(--success); }
|
|
|
+.tag.click { background: rgba(245, 158, 11, 0.2); color: var(--warning); }
|
|
|
+.tag.interested { background: rgba(236, 72, 153, 0.2); color: #ec4899; }
|
|
|
+
|
|
|
+/* Toast */
|
|
|
+.toast { position: fixed; bottom: 24px; right: 24px; padding: 12px 20px; background: var(--bg-card); border: 1px solid var(--border); border-radius: 10px; display: flex; align-items: center; gap: 10px; font-size: 13px; box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3); z-index: 2000; }
|
|
|
+.toast.success { border-color: var(--success); }
|
|
|
+.toast.success i { color: var(--success); }
|
|
|
+.toast-enter-active, .toast-leave-active { transition: all 0.3s ease; }
|
|
|
+.toast-enter-from, .toast-leave-to { opacity: 0; transform: translateY(20px); }
|
|
|
+
|
|
|
+/* Channel Priority AI */
|
|
|
+.channel-priority-ai { display: flex; align-items: center; gap: 12px; padding: 12px 16px; background: linear-gradient(135deg, rgba(16, 185, 129, 0.1), rgba(99, 102, 241, 0.1)); border: 1px solid rgba(16, 185, 129, 0.2); border-radius: 10px; margin-bottom: 16px; }
|
|
|
+.ai-badge { padding: 4px 10px; background: var(--primary); color: white; border-radius: 12px; font-size: 11px; font-weight: 600; display: flex; align-items: center; gap: 4px; }
|
|
|
+.priority-text { font-size: 13px; }
|
|
|
+.priority-text .highlight { color: var(--success); font-weight: 600; }
|
|
|
+.channel-stats-mini { font-size: 10px; color: var(--text-muted); margin-top: 4px; }
|
|
|
+.channel-stats-mini i { margin-right: 4px; }
|
|
|
+
|
|
|
+/* Subject Input Group */
|
|
|
+.subject-input-group { display: flex; gap: 8px; }
|
|
|
+.subject-input-group .form-input { flex: 1; }
|
|
|
+.subject-suggestions { margin-top: 8px; padding: 12px; background: var(--bg-hover); border-radius: 8px; }
|
|
|
+.suggestion-header { font-size: 11px; color: var(--text-muted); margin-bottom: 8px; }
|
|
|
+.suggestion-item { padding: 8px 12px; background: var(--bg-card); border-radius: 6px; margin-bottom: 6px; cursor: pointer; font-size: 12px; transition: all 0.2s; }
|
|
|
+.suggestion-item:hover { background: rgba(99, 102, 241, 0.1); border: 1px solid var(--primary); }
|
|
|
+
|
|
|
+/* Tracking Options */
|
|
|
+.tracking-options { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 12px; }
|
|
|
+.toggle-option { display: flex; align-items: center; gap: 8px; font-size: 12px; cursor: pointer; }
|
|
|
+.toggle-option input { width: 14px; height: 14px; }
|
|
|
+.toggle-label { color: var(--text-secondary); }
|
|
|
+
|
|
|
+/* Channel Effect Prediction */
|
|
|
+.channel-effect-prediction { margin-top: 16px; padding: 14px; background: var(--bg-hover); border-radius: 10px; }
|
|
|
+.channel-effect-prediction h5 { font-size: 13px; margin-bottom: 12px; display: flex; align-items: center; gap: 6px; }
|
|
|
+.effect-metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
|
|
|
+.effect-item { display: flex; align-items: center; gap: 10px; padding: 12px; background: var(--bg-card); border-radius: 8px; }
|
|
|
+.effect-item.highlight { background: rgba(16, 185, 129, 0.1); border: 1px solid rgba(16, 185, 129, 0.2); }
|
|
|
+.effect-icon { width: 36px; height: 36px; background: rgba(99, 102, 241, 0.2); border-radius: 8px; display: flex; align-items: center; justify-content: center; color: var(--primary); }
|
|
|
+.effect-label { font-size: 11px; color: var(--text-secondary); }
|
|
|
+.effect-value { font-size: 16px; font-weight: 700; }
|
|
|
+
|
|
|
+/* SOP Preview */
|
|
|
+.sop-preview { margin-top: 12px; padding: 14px; background: var(--bg-hover); border-radius: 10px; }
|
|
|
+.sop-preview-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; font-size: 12px; }
|
|
|
+.sop-timeline { display: flex; flex-direction: column; gap: 8px; }
|
|
|
+.sop-step { display: flex; gap: 12px; }
|
|
|
+.sop-step-marker { width: 24px; height: 24px; background: var(--primary); color: white; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 600; flex-shrink: 0; }
|
|
|
+.sop-step-content { flex: 1; padding: 8px 12px; background: var(--bg-card); border-radius: 6px; }
|
|
|
+.sop-step-title { font-size: 12px; font-weight: 500; }
|
|
|
+.sop-step-meta { display: flex; gap: 12px; margin-top: 4px; font-size: 10px; color: var(--text-muted); }
|
|
|
+.sop-card { position: relative; }
|
|
|
+.sop-check { position: absolute; right: 8px; top: 50%; transform: translateY(-50%); color: var(--primary); }
|
|
|
+.sop-desc { font-size: 10px; color: var(--text-muted); margin-top: 2px; }
|
|
|
+
|
|
|
+/* Rule Config */
|
|
|
+.rule-config { margin-left: auto; }
|
|
|
+.mini-select { padding: 4px 8px; background: var(--bg-dark); border: 1px solid var(--border); border-radius: 6px; color: var(--text-primary); font-size: 11px; }
|
|
|
+
|
|
|
+/* A/B Test Section */
|
|
|
+.ab-test-section { margin-bottom: 20px; padding: 14px; background: var(--bg-hover); border-radius: 10px; }
|
|
|
+.ab-test-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; }
|
|
|
+.ab-test-header h5 { margin: 0; display: flex; align-items: center; gap: 6px; font-size: 13px; }
|
|
|
+.ab-test-config { padding-top: 12px; border-top: 1px solid var(--border); }
|
|
|
+.ab-test-preview { margin-top: 12px; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
|
|
|
+.ab-variant { padding: 12px; background: var(--bg-card); border-radius: 8px; }
|
|
|
+.variant-label { font-size: 11px; color: var(--primary); font-weight: 600; margin-bottom: 6px; display: block; }
|
|
|
+.variant-desc { font-size: 12px; }
|
|
|
+.variant-input { width: 100%; padding: 8px; background: var(--bg-dark); border: 1px solid var(--border); border-radius: 6px; color: var(--text-primary); font-size: 12px; }
|
|
|
+
|
|
|
+/* Smart Schedule */
|
|
|
+.smart-schedule-section { margin-bottom: 20px; }
|
|
|
+.smart-schedule-section h5 { font-size: 13px; margin-bottom: 12px; display: flex; align-items: center; gap: 6px; }
|
|
|
+.schedule-options { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
|
|
|
+.schedule-option { position: relative; cursor: pointer; }
|
|
|
+.schedule-option input { position: absolute; opacity: 0; }
|
|
|
+.schedule-option .option-content { padding: 14px; background: var(--bg-hover); border: 2px solid var(--border); border-radius: 10px; text-align: center; transition: all 0.2s; }
|
|
|
+.schedule-option.active .option-content { border-color: var(--primary); background: rgba(99, 102, 241, 0.1); }
|
|
|
+.option-title { font-size: 13px; font-weight: 600; margin-bottom: 4px; }
|
|
|
+.option-title i { margin-right: 6px; color: var(--primary); }
|
|
|
+.option-desc { font-size: 11px; color: var(--text-muted); }
|
|
|
+.schedule-time-config { margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--border); }
|
|
|
+
|
|
|
+/* Preview Section */
|
|
|
+.preview-section { margin-bottom: 20px; }
|
|
|
+.preview-section-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; }
|
|
|
+.preview-section-header h5 { margin: 0; display: flex; align-items: center; gap: 6px; font-size: 13px; }
|
|
|
+.preview-channels { display: flex; flex-direction: column; gap: 10px; }
|
|
|
+.preview-channel-item { display: flex; align-items: center; gap: 12px; padding: 12px; background: var(--bg-hover); border-radius: 10px; }
|
|
|
+.channel-badge { width: 40px; height: 40px; border-radius: 10px; display: flex; align-items: center; justify-content: center; font-size: 18px; }
|
|
|
+.channel-details { flex: 1; }
|
|
|
+.channel-details .channel-name { font-size: 14px; font-weight: 600; }
|
|
|
+.channel-config { font-size: 11px; color: var(--text-muted); margin-top: 2px; }
|
|
|
+
|
|
|
+/* Preview Rules */
|
|
|
+.preview-rules { padding: 14px; background: var(--bg-hover); border-radius: 10px; }
|
|
|
+.rule-summary { display: flex; flex-wrap: wrap; gap: 8px; }
|
|
|
+.rule-badge { padding: 4px 12px; background: var(--bg-card); border-radius: 16px; font-size: 11px; color: var(--text-secondary); }
|
|
|
+.rule-badge.highlight { background: rgba(99, 102, 241, 0.2); color: var(--primary); }
|
|
|
+
|
|
|
+/* Priority Colors */
|
|
|
+.preview-value.priority-urgent { color: var(--danger); }
|
|
|
+.preview-value.priority-high { color: var(--warning); }
|
|
|
+.preview-value.priority-medium { color: var(--info); }
|
|
|
+.preview-value.priority-low { color: var(--text-muted); }
|
|
|
+.preview-value.highlight { color: var(--primary); font-weight: 700; }
|
|
|
+
|
|
|
+/* Impact Metric Enhanced */
|
|
|
+.impact-metric { position: relative; }
|
|
|
+.impact-metric .metric-icon { font-size: 18px; margin-bottom: 6px; opacity: 0.5; }
|
|
|
+.impact-metric .metric-rate { font-size: 10px; color: var(--text-muted); margin-top: 4px; }
|
|
|
+
|
|
|
+/* Warning Section */
|
|
|
+.warning-section { margin-bottom: 16px; padding: 14px; background: rgba(245, 158, 11, 0.1); border: 1px solid rgba(245, 158, 11, 0.2); border-radius: 10px; }
|
|
|
+.warning-section h5 { font-size: 13px; margin-bottom: 10px; color: var(--warning); display: flex; align-items: center; gap: 6px; }
|
|
|
+.warning-list { display: flex; flex-direction: column; gap: 8px; }
|
|
|
+.warning-item { display: flex; align-items: center; gap: 8px; font-size: 12px; }
|
|
|
+.warning-item i { color: var(--warning); }
|
|
|
+
|
|
|
+/* Confirm Section Enhanced */
|
|
|
+.confirm-section { padding: 14px; background: var(--bg-hover); border-radius: 10px; }
|
|
|
+.confirm-section h5 { font-size: 13px; margin-bottom: 12px; display: flex; align-items: center; gap: 6px; }
|
|
|
+.confirm-item { position: relative; padding-left: 28px; }
|
|
|
+.confirm-item .checkmark { position: absolute; left: 0; width: 18px; height: 18px; border: 2px solid var(--border); border-radius: 4px; }
|
|
|
+.confirm-item input:checked + .checkmark { background: var(--success); border-color: var(--success); }
|
|
|
+.confirm-item input:checked + .checkmark::after { content: '✓'; position: absolute; color: white; font-size: 12px; top: 50%; left: 50%; transform: translate(-50%, -50%); }
|
|
|
+
|
|
|
+@media (max-width: 1200px) {
|
|
|
+ .stats-row { grid-template-columns: repeat(3, 1fr); }
|
|
|
+ .campaigns-grid { grid-template-columns: 1fr; }
|
|
|
+ .quick-segments { grid-template-columns: repeat(2, 1fr); }
|
|
|
+ .schedule-options { grid-template-columns: 1fr; }
|
|
|
+ .impact-metrics { grid-template-columns: repeat(3, 1fr); }
|
|
|
+ .goal-inputs { grid-template-columns: repeat(2, 1fr); }
|
|
|
+}
|
|
|
+
|
|
|
+/* History Modal */
|
|
|
+.history-modal { max-width: 900px; }
|
|
|
+.history-filters { display: flex; gap: 12px; margin-bottom: 16px; }
|
|
|
+.history-filters .search-box { flex: 1; display: flex; align-items: center; gap: 8px; padding: 8px 14px; background: var(--bg-hover); border-radius: 8px; }
|
|
|
+.history-filters .search-box input { flex: 1; background: transparent; border: none; color: var(--text-primary); font-size: 13px; outline: none; }
|
|
|
+.filter-group { display: flex; gap: 8px; }
|
|
|
+.filter-select { padding: 8px 12px; background: var(--bg-hover); border: 1px solid var(--border); border-radius: 8px; color: var(--text-primary); font-size: 12px; }
|
|
|
+
|
|
|
+.history-stats { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; margin-bottom: 20px; }
|
|
|
+.history-stat { padding: 14px; background: var(--bg-hover); border-radius: 10px; text-align: center; }
|
|
|
+.history-stat .stat-value { font-size: 20px; font-weight: 700; color: var(--text-primary); }
|
|
|
+.history-stat .stat-label { font-size: 11px; color: var(--text-muted); margin-top: 4px; }
|
|
|
+.history-stat.highlight { background: rgba(16, 185, 129, 0.1); border: 1px solid rgba(16, 185, 129, 0.2); }
|
|
|
+.history-stat.highlight .stat-value { color: var(--success); }
|
|
|
+
|
|
|
+.history-list { display: flex; flex-direction: column; gap: 12px; max-height: 400px; overflow-y: auto; }
|
|
|
+.history-item { background: var(--bg-hover); border-radius: 12px; padding: 16px; }
|
|
|
+.history-item-header { display: flex; align-items: center; gap: 14px; margin-bottom: 12px; }
|
|
|
+.history-item-icon { width: 44px; height: 44px; border-radius: 10px; display: flex; align-items: center; justify-content: center; font-size: 18px; }
|
|
|
+.history-item-info { flex: 1; }
|
|
|
+.history-item-name { font-size: 14px; font-weight: 600; margin-bottom: 4px; }
|
|
|
+.history-item-meta { display: flex; gap: 12px; font-size: 11px; color: var(--text-muted); }
|
|
|
+.history-item-meta .status-tag { padding: 2px 8px; border-radius: 10px; }
|
|
|
+.history-item-meta .status-tag.completed { background: rgba(16, 185, 129, 0.2); color: var(--success); }
|
|
|
+.history-item-meta .status-tag.paused { background: rgba(245, 158, 11, 0.2); color: var(--warning); }
|
|
|
+.history-item-actions { display: flex; gap: 6px; }
|
|
|
+.btn-icon { width: 32px; height: 32px; background: var(--bg-card); border: 1px solid var(--border); border-radius: 8px; color: var(--text-secondary); cursor: pointer; display: flex; align-items: center; justify-content: center; transition: all 0.2s; }
|
|
|
+.btn-icon:hover { background: var(--primary); border-color: var(--primary); color: white; }
|
|
|
+
|
|
|
+.history-item-stats { display: flex; gap: 16px; padding: 12px; background: var(--bg-card); border-radius: 8px; }
|
|
|
+.mini-stat { display: flex; align-items: center; gap: 6px; }
|
|
|
+.mini-stat i { color: var(--primary); font-size: 12px; }
|
|
|
+.mini-stat .value { font-weight: 600; font-size: 13px; }
|
|
|
+.mini-stat .label { font-size: 10px; color: var(--text-muted); }
|
|
|
+.mini-stat.highlight i { color: var(--success); }
|
|
|
+.mini-stat.highlight .value { color: var(--success); }
|
|
|
+
|
|
|
+.history-item-channels { display: flex; gap: 6px; margin-top: 10px; }
|
|
|
+.channel-mini-tag { display: flex; align-items: center; gap: 4px; padding: 3px 10px; background: var(--bg-card); border-radius: 12px; font-size: 11px; color: var(--text-secondary); }
|
|
|
+
|
|
|
+.empty-state { text-align: center; padding: 40px 20px; color: var(--text-muted); }
|
|
|
+.empty-state i { font-size: 48px; margin-bottom: 16px; opacity: 0.5; }
|
|
|
+.empty-state p { font-size: 14px; }
|
|
|
+
|
|
|
+/* Templates Modal */
|
|
|
+.templates-modal { max-width: 900px; }
|
|
|
+.template-tabs { display: flex; gap: 8px; margin-bottom: 16px; padding-bottom: 12px; border-bottom: 1px solid var(--border); }
|
|
|
+.template-tab { display: flex; align-items: center; gap: 6px; padding: 8px 16px; background: var(--bg-hover); border-radius: 20px; font-size: 13px; cursor: pointer; transition: all 0.2s; }
|
|
|
+.template-tab:hover { background: rgba(99, 102, 241, 0.1); }
|
|
|
+.template-tab.active { background: var(--primary); color: white; }
|
|
|
+.template-tab i { font-size: 12px; }
|
|
|
+
|
|
|
+.templates-toolbar { display: flex; gap: 12px; margin-bottom: 12px; }
|
|
|
+.templates-toolbar .search-box { flex: 1; display: flex; align-items: center; gap: 8px; padding: 8px 14px; background: var(--bg-hover); border-radius: 8px; }
|
|
|
+.templates-toolbar .search-box input { flex: 1; background: transparent; border: none; color: var(--text-primary); font-size: 13px; outline: none; }
|
|
|
+.sort-select { padding: 8px 12px; background: var(--bg-hover); border: 1px solid var(--border); border-radius: 8px; color: var(--text-primary); font-size: 12px; }
|
|
|
+
|
|
|
+.templates-stats { font-size: 12px; color: var(--text-muted); margin-bottom: 16px; }
|
|
|
+.templates-stats .divider { margin: 0 8px; }
|
|
|
+
|
|
|
+.templates-grid-enhanced { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; margin-bottom: 20px; }
|
|
|
+.template-card-enhanced { background: var(--bg-hover); border-radius: 12px; padding: 16px; transition: all 0.2s; }
|
|
|
+.template-card-enhanced:hover { background: rgba(99, 102, 241, 0.05); }
|
|
|
+.template-card-header { display: flex; align-items: center; gap: 8px; margin-bottom: 10px; }
|
|
|
+.template-type-badge { display: flex; align-items: center; gap: 4px; padding: 3px 10px; border-radius: 12px; font-size: 11px; font-weight: 500; }
|
|
|
+.template-type-badge.email { background: rgba(99, 102, 241, 0.2); color: var(--primary); }
|
|
|
+.template-type-badge.whatsapp { background: rgba(37, 211, 102, 0.2); color: #25D366; }
|
|
|
+.template-type-badge.linkedin { background: rgba(10, 102, 194, 0.2); color: #0A66C2; }
|
|
|
+.template-lang-badge { font-size: 10px; color: var(--text-muted); }
|
|
|
+.btn-favorite { margin-left: auto; background: none; border: none; color: var(--text-muted); cursor: pointer; font-size: 14px; transition: color 0.2s; }
|
|
|
+.btn-favorite:hover { color: var(--warning); }
|
|
|
+.btn-favorite.active { color: var(--warning); }
|
|
|
+
|
|
|
+.template-subject-enhanced { font-size: 14px; font-weight: 600; margin-bottom: 6px; }
|
|
|
+.template-preview-enhanced { font-size: 12px; color: var(--text-muted); margin-bottom: 10px; line-height: 1.5; }
|
|
|
+.template-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 10px; }
|
|
|
+.template-tag { padding: 2px 8px; background: var(--bg-card); border-radius: 10px; font-size: 10px; color: var(--text-secondary); }
|
|
|
+
|
|
|
+.template-stats-enhanced { display: flex; gap: 12px; margin-bottom: 12px; padding-top: 10px; border-top: 1px solid var(--border); }
|
|
|
+.template-stat { display: flex; flex-direction: column; align-items: center; }
|
|
|
+.template-stat i { font-size: 12px; color: var(--primary); margin-bottom: 4px; }
|
|
|
+.template-stat .stat-value { font-size: 14px; font-weight: 600; }
|
|
|
+.template-stat .stat-label { font-size: 10px; color: var(--text-muted); }
|
|
|
+
|
|
|
+.template-actions { display: flex; gap: 8px; }
|
|
|
+
|
|
|
+/* AI Template Section */
|
|
|
+.ai-template-section { padding: 14px; background: linear-gradient(135deg, rgba(99, 102, 241, 0.1), rgba(139, 92, 246, 0.1)); border: 1px solid rgba(99, 102, 241, 0.2); border-radius: 12px; }
|
|
|
+.ai-section-header { display: flex; align-items: center; gap: 8px; margin-bottom: 12px; font-size: 13px; font-weight: 600; }
|
|
|
+.ai-section-header i { color: var(--primary); }
|
|
|
+.ai-badge-mini { margin-left: auto; font-size: 10px; font-weight: 400; color: var(--text-muted); }
|
|
|
+
|
|
|
+.ai-template-list { display: flex; flex-direction: column; gap: 10px; }
|
|
|
+.ai-template-item { display: flex; align-items: center; gap: 12px; padding: 12px; background: var(--bg-card); border-radius: 10px; cursor: pointer; transition: all 0.2s; }
|
|
|
+.ai-template-item:hover { background: rgba(99, 102, 241, 0.1); }
|
|
|
+.ai-template-icon { width: 36px; height: 36px; background: rgba(99, 102, 241, 0.2); border-radius: 8px; display: flex; align-items: center; justify-content: center; color: var(--primary); }
|
|
|
+.ai-template-info { flex: 1; }
|
|
|
+.ai-template-subject { font-size: 13px; font-weight: 500; margin-bottom: 4px; }
|
|
|
+.ai-template-meta { display: flex; gap: 10px; font-size: 11px; color: var(--text-muted); }
|
|
|
+.ai-template-meta .highlight { color: var(--success); font-weight: 500; }
|
|
|
+.ai-template-stats { display: flex; gap: 12px; font-size: 11px; color: var(--text-muted); }
|
|
|
+
|
|
|
+/* Template Preview Modal */
|
|
|
+.template-preview-modal { max-width: 600px; }
|
|
|
+.preview-template-content { padding: 10px 0; }
|
|
|
+.preview-row { display: flex; margin-bottom: 16px; }
|
|
|
+.preview-row label { width: 80px; flex-shrink: 0; font-size: 12px; color: var(--text-muted); }
|
|
|
+.preview-row span { font-size: 13px; }
|
|
|
+.preview-subject { font-size: 15px; font-weight: 600; color: var(--primary); }
|
|
|
+.preview-body { font-size: 13px; line-height: 1.7; color: var(--text-secondary); }
|
|
|
+.preview-row.tags-row { align-items: flex-start; }
|
|
|
+.preview-tags { display: flex; flex-wrap: wrap; gap: 6px; }
|
|
|
+.preview-tag { padding: 3px 10px; background: var(--bg-hover); border-radius: 12px; font-size: 11px; }
|
|
|
+
|
|
|
+/* Info Grid */
|
|
|
+.info-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
|
|
|
+.info-grid .info-item { display: flex; flex-direction: column; gap: 4px; padding: 12px; background: var(--bg-dark); border-radius: 8px; }
|
|
|
+.info-grid .info-item .label { font-size: 11px; color: var(--text-muted); }
|
|
|
+.info-grid .info-item .value { font-size: 14px; font-weight: 600; }
|
|
|
+
|
|
|
+/* Reply Customer Detail */
|
|
|
+.reply-content-box { display: none; }
|
|
|
+.sentiment-analysis { display: none; }
|
|
|
+.sentiment-item { display: none; }
|
|
|
+.review-badge { display: none; }
|
|
|
+.review-info-box { display: none; }
|
|
|
+.review-item { display: none; }
|
|
|
+.history-timeline { display: none; }
|
|
|
+.history-item { display: none; }
|
|
|
+.history-marker { display: none; }
|
|
|
+.history-content { display: none; }
|
|
|
+.ai-recommendation { display: none; }
|
|
|
+.ai-header { display: none; }
|
|
|
+.ai-title { display: none; }
|
|
|
+.ai-confidence { display: none; }
|
|
|
+.ai-content { display: none; }
|
|
|
+.suggested-actions { display: none; }
|
|
|
+.action-card { display: none; }
|
|
|
+.action-header { display: none; }
|
|
|
+.action-name { display: none; }
|
|
|
+.action-desc { display: none; }
|
|
|
+.next-steps { display: none; }
|
|
|
+.step-item { display: none; }
|
|
|
+.step-number { display: none; }
|
|
|
+.step-text { display: none; }
|
|
|
+
|
|
|
+
|
|
|
+@media (max-width: 1400px) {
|
|
|
+ .campaigns-grid { grid-template-columns: 1fr; }
|
|
|
+ .templates-grid-enhanced { grid-template-columns: 1fr; }
|
|
|
+}
|
|
|
+
|
|
|
+@media (max-width: 768px) {
|
|
|
+ .modal { max-width: 95vw; }
|
|
|
+ .customer-details { grid-template-columns: 1fr; }
|
|
|
+ .info-grid { grid-template-columns: 1fr; }
|
|
|
+ .review-stats { grid-template-columns: 1fr; }
|
|
|
+ .customer-actions { flex-direction: column; }
|
|
|
+ .customer-actions .btn { width: 100%; }
|
|
|
+}
|