| @@ -686,8 +686,80 @@ | ||
| 686 | 686 | padding: 2px 8px; |
| 687 | 687 | border-radius: 10px; |
| 688 | 688 | } |
| 689 | 689 | |
| 690 | +/* Satisfaction rating badge on chat-list rows (plan-a5b006). */ | |
| 691 | +.mxch-chat-rating { | |
| 692 | + display: inline-flex; | |
| 693 | + align-items: center; | |
| 694 | + justify-content: center; | |
| 695 | + font-size: 11px; | |
| 696 | + line-height: 1; | |
| 697 | + min-width: 18px; | |
| 698 | + height: 18px; | |
| 699 | + border-radius: 999px; | |
| 700 | + padding: 0 4px; | |
| 701 | + cursor: default; | |
| 702 | +} | |
| 703 | +.mxch-chat-rating-up { | |
| 704 | + background: #ecfdf5; | |
| 705 | + color: #047857; | |
| 706 | +} | |
| 707 | +.mxch-chat-rating-down { | |
| 708 | + background: #fef2f2; | |
| 709 | + color: #b91c1c; | |
| 710 | +} | |
| 711 | +.mxch-chat-rating-empty { | |
| 712 | + color: #cbd5e1; | |
| 713 | + background: transparent; | |
| 714 | +} | |
| 715 | +.mxch-chat-rating svg { | |
| 716 | + display: block; | |
| 717 | +} | |
| 718 | + | |
| 719 | +/* Sort dropdown menu — appended to <body> from JS. */ | |
| 720 | +.mxch-sort-menu { | |
| 721 | + display: none; | |
| 722 | + background: #ffffff; | |
| 723 | + border: 1px solid #e5e7eb; | |
| 724 | + border-radius: 8px; | |
| 725 | + box-shadow: 0 6px 20px rgba(15, 23, 42, 0.12); | |
| 726 | + padding: 4px; | |
| 727 | + min-width: 200px; | |
| 728 | + z-index: 9999; | |
| 729 | +} | |
| 730 | +.mxch-sort-option { | |
| 731 | + display: flex; | |
| 732 | + align-items: center; | |
| 733 | + gap: 8px; | |
| 734 | + width: 100%; | |
| 735 | + padding: 8px 10px; | |
| 736 | + background: transparent; | |
| 737 | + border: none; | |
| 738 | + border-radius: 6px; | |
| 739 | + text-align: left; | |
| 740 | + font-size: 13px; | |
| 741 | + color: #1a1a2e; | |
| 742 | + cursor: pointer; | |
| 743 | +} | |
| 744 | +.mxch-sort-option:hover { | |
| 745 | + background: #f3f4f6; | |
| 746 | +} | |
| 747 | +.mxch-sort-option.active { | |
| 748 | + background: #eff6ff; | |
| 749 | + color: #1d4ed8; | |
| 750 | + font-weight: 600; | |
| 751 | +} | |
| 752 | +.mxch-sort-option-icon { | |
| 753 | + display: inline-flex; | |
| 754 | + align-items: center; | |
| 755 | + justify-content: center; | |
| 756 | + width: 16px; | |
| 757 | + height: 16px; | |
| 758 | +} | |
| 759 | +.mxch-sort-option-icon.mxch-rating-thumb-up { color: #047857; } | |
| 760 | +.mxch-sort-option-icon.mxch-rating-thumb-down { color: #b91c1c; } | |
| 761 | + | |
| 690 | 762 | .mxch-list-loading, |
| 691 | 763 | .mxch-list-empty { |
| 692 | 764 | display: flex; |
| 693 | 765 | align-items: center; |
| @@ -1118,8 +1190,20 @@ | ||
| 1118 | 1190 | text-transform: uppercase; |
| 1119 | 1191 | letter-spacing: 0.5px; |
| 1120 | 1192 | } |
| 1121 | 1193 | |
| 1194 | +.mxch-agent-label { | |
| 1195 | + font-size: 11px; | |
| 1196 | + font-weight: 600; | |
| 1197 | + color: #7c3aed; | |
| 1198 | + text-transform: uppercase; | |
| 1199 | + letter-spacing: 0.5px; | |
| 1200 | +} | |
| 1201 | + | |
| 1202 | +.mxch-message-agent .mxch-message-bubble { | |
| 1203 | + border-color: #ddd6fe; | |
| 1204 | +} | |
| 1205 | + | |
| 1122 | 1206 | .mxch-rag-link { |
| 1123 | 1207 | font-size: 11px; |
| 1124 | 1208 | color: #3b82f6; |
| 1125 | 1209 | text-decoration: none; |
| @@ -1656,8 +1740,32 @@ | ||
| 1656 | 1740 | color: var(--mxch-primary); |
| 1657 | 1741 | border-radius: 10px; |
| 1658 | 1742 | } |
| 1659 | 1743 | |
| 1744 | +/* Hybrid retrieval matched-via chips (38ffa1): Vector / Keyword / Both */ | |
| 1745 | +.mxch-rag-via-chip { | |
| 1746 | + font-size: 11px; | |
| 1747 | + font-weight: 500; | |
| 1748 | + padding: 2px 8px; | |
| 1749 | + border-radius: 10px; | |
| 1750 | + white-space: nowrap; | |
| 1751 | +} | |
| 1752 | + | |
| 1753 | +.mxch-rag-via-vector { | |
| 1754 | + background: rgba(120, 115, 245, 0.1); | |
| 1755 | + color: var(--mxch-primary); | |
| 1756 | +} | |
| 1757 | + | |
| 1758 | +.mxch-rag-via-keyword { | |
| 1759 | + background: rgba(16, 185, 129, 0.12); | |
| 1760 | + color: #059669; | |
| 1761 | +} | |
| 1762 | + | |
| 1763 | +.mxch-rag-via-both { | |
| 1764 | + background: rgba(245, 158, 11, 0.12); | |
| 1765 | + color: #b45309; | |
| 1766 | +} | |
| 1767 | + | |
| 1660 | 1768 | .mxch-rag-match-status { |
| 1661 | 1769 | margin-left: auto; |
| 1662 | 1770 | font-size: 12px; |
| 1663 | 1771 | font-weight: 500; |
| @@ -1840,8 +1948,69 @@ | ||
| 1840 | 1948 | border-right: 4px solid transparent; |
| 1841 | 1949 | border-top: 4px solid #ef4444; |
| 1842 | 1950 | } |
| 1843 | 1951 | |
| 1952 | +/* AI Tools trace (plan-mxchat-20260813-470f68) | |
| 1953 | + One card per tool EXECUTION, rendered above the trigger-phrase scores. The box | |
| 1954 | + itself reuses .mxch-rag-match-card / .mxch-rag-match-used; the rules below are | |
| 1955 | + only the states the trigger-phrase cards have no equivalent of — a failed run, | |
| 1956 | + a duration chip, and the argument excerpt. */ | |
| 1957 | +.mxch-tool-failed { | |
| 1958 | + border-color: rgba(239, 68, 68, 0.35); | |
| 1959 | + background: rgba(239, 68, 68, 0.05); | |
| 1960 | +} | |
| 1961 | + | |
| 1962 | +.mxch-rag-match-status.status-failed { | |
| 1963 | + color: var(--mxch-error); | |
| 1964 | + font-weight: 600; | |
| 1965 | +} | |
| 1966 | + | |
| 1967 | +.mxch-tool-duration { | |
| 1968 | + font-size: 11px; | |
| 1969 | + padding: 2px 8px; | |
| 1970 | + background: rgba(100, 116, 139, 0.1); | |
| 1971 | + color: var(--mxch-text-secondary); | |
| 1972 | + border-radius: 10px; | |
| 1973 | +} | |
| 1974 | + | |
| 1975 | +.mxch-tool-error { | |
| 1976 | + margin-top: var(--mxch-spacing-sm); | |
| 1977 | + font-size: 12px; | |
| 1978 | + color: var(--mxch-error); | |
| 1979 | + word-break: break-word; | |
| 1980 | +} | |
| 1981 | + | |
| 1982 | +.mxch-tool-args { | |
| 1983 | + margin-top: var(--mxch-spacing-sm); | |
| 1984 | +} | |
| 1985 | + | |
| 1986 | +.mxch-tool-args > summary { | |
| 1987 | + font-size: 12px; | |
| 1988 | + color: var(--mxch-text-secondary); | |
| 1989 | + cursor: pointer; | |
| 1990 | + list-style: revert; | |
| 1991 | +} | |
| 1992 | + | |
| 1993 | +.mxch-tool-args-body { | |
| 1994 | + margin-top: 6px; | |
| 1995 | + padding: var(--mxch-spacing-sm); | |
| 1996 | + background: #f8fafc; | |
| 1997 | + border: 1px solid var(--mxch-card-border); | |
| 1998 | + border-radius: var(--mxch-radius-sm); | |
| 1999 | + font-size: 12px; | |
| 2000 | + font-family: 'SF Mono', Monaco, 'Cascadia Code', monospace; | |
| 2001 | + color: var(--mxch-text-secondary); | |
| 2002 | + white-space: pre-wrap; | |
| 2003 | + word-break: break-word; | |
| 2004 | +} | |
| 2005 | + | |
| 2006 | +.mxch-tool-redacted { | |
| 2007 | + margin-top: var(--mxch-spacing-sm); | |
| 2008 | + font-size: 12px; | |
| 2009 | + color: var(--mxch-text-muted); | |
| 2010 | + font-style: italic; | |
| 2011 | +} | |
| 2012 | + | |
| 1844 | 2013 | /* No Results State */ |
| 1845 | 2014 | .mxch-no-results { |
| 1846 | 2015 | text-align: center; |
| 1847 | 2016 | padding: var(--mxch-spacing-xl); |
| @@ -2466,8 +2635,20 @@ | ||
| 2466 | 2635 | border: 1px solid rgba(100, 116, 139, 0.22); |
| 2467 | 2636 | padding: 0 10px; |
| 2468 | 2637 | } |
| 2469 | 2638 | |
| 2639 | +/* Consent column (b062c4). Yes/No are recorded decisions; "not recorded" | |
| 2640 | + renders via .mxch-leads-muted (different fact, different look). */ | |
| 2641 | +.mxch-leads-pill-consent-yes { | |
| 2642 | + background: rgba(16, 185, 129, 0.14); | |
| 2643 | + color: var(--mxch-success, #059669); | |
| 2644 | +} | |
| 2645 | + | |
| 2646 | +.mxch-leads-pill-consent-no { | |
| 2647 | + background: rgba(239, 68, 68, 0.12); | |
| 2648 | + color: var(--mxch-danger, #dc2626); | |
| 2649 | +} | |
| 2650 | + | |
| 2470 | 2651 | .mxch-leads-row.is-chat-deleted .mxch-leads-lead-email { |
| 2471 | 2652 | color: var(--mxch-text-secondary); |
| 2472 | 2653 | } |
| 2473 | 2654 | |
| @@ -2599,5 +2780,99 @@ | ||
| 2599 | 2780 | |
| 2600 | 2781 | @media (max-width: 480px) { |
| 2601 | 2782 | .mxch-leads-col-count { display: none; } |
| 2602 | 2783 | .mxch-leads-toppages-list { grid-template-columns: 1fr; } |
| 2784 | +} | |
| 2785 | + | |
| 2786 | +/* Satisfaction card on Transcripts dashboard (plan-a5b006). */ | |
| 2787 | +.mxch-satisfaction-card .mxch-card-body { | |
| 2788 | + padding: var(--mxch-spacing-md); | |
| 2789 | +} | |
| 2790 | +.mxch-satisfaction-empty { | |
| 2791 | + margin: 0; | |
| 2792 | + padding: var(--mxch-spacing-sm) 0; | |
| 2793 | + color: #6b7280; | |
| 2794 | + font-size: 13px; | |
| 2795 | + line-height: 1.5; | |
| 2796 | +} | |
| 2797 | +.mxch-satisfaction-list { | |
| 2798 | + list-style: none; | |
| 2799 | + margin: 0; | |
| 2800 | + padding: 0; | |
| 2801 | + display: flex; | |
| 2802 | + flex-direction: column; | |
| 2803 | + gap: 8px; | |
| 2804 | +} | |
| 2805 | +.mxch-satisfaction-row { | |
| 2806 | + display: flex; | |
| 2807 | + align-items: center; | |
| 2808 | + gap: var(--mxch-spacing-md); | |
| 2809 | + padding: 10px 12px; | |
| 2810 | + background: #f9fafb; | |
| 2811 | + border: 1px solid #f3f4f6; | |
| 2812 | + border-radius: var(--mxch-radius-md, 8px); | |
| 2813 | +} | |
| 2814 | +.mxch-satisfaction-bot { | |
| 2815 | + flex: 0 0 28%; | |
| 2816 | + min-width: 0; | |
| 2817 | + font-weight: 600; | |
| 2818 | + font-size: 13px; | |
| 2819 | + color: #1a1a2e; | |
| 2820 | + overflow: hidden; | |
| 2821 | + text-overflow: ellipsis; | |
| 2822 | + white-space: nowrap; | |
| 2823 | +} | |
| 2824 | +.mxch-satisfaction-meta { | |
| 2825 | + flex: 1; | |
| 2826 | + display: flex; | |
| 2827 | + align-items: center; | |
| 2828 | + gap: 10px; | |
| 2829 | + font-size: 12px; | |
| 2830 | + color: #4b5563; | |
| 2831 | + flex-wrap: wrap; | |
| 2832 | +} | |
| 2833 | +.mxch-satisfaction-total { | |
| 2834 | + color: #6b7280; | |
| 2835 | + white-space: nowrap; | |
| 2836 | +} | |
| 2837 | +.mxch-satisfaction-bar { | |
| 2838 | + flex: 1; | |
| 2839 | + min-width: 80px; | |
| 2840 | + height: 6px; | |
| 2841 | + background: #e5e7eb; | |
| 2842 | + border-radius: 999px; | |
| 2843 | + overflow: hidden; | |
| 2844 | + display: flex; | |
| 2845 | +} | |
| 2846 | +.mxch-satisfaction-bar-up { | |
| 2847 | + background: #10b981; | |
| 2848 | + height: 100%; | |
| 2849 | +} | |
| 2850 | +.mxch-satisfaction-bar-down { | |
| 2851 | + background: #ef4444; | |
| 2852 | + height: 100%; | |
| 2853 | +} | |
| 2854 | +.mxch-satisfaction-pct { | |
| 2855 | + display: inline-flex; | |
| 2856 | + align-items: center; | |
| 2857 | + gap: 4px; | |
| 2858 | + font-weight: 600; | |
| 2859 | + white-space: nowrap; | |
| 2860 | +} | |
| 2861 | +.mxch-satisfaction-pct-up { color: #047857; } | |
| 2862 | +.mxch-satisfaction-pct-down { color: #b91c1c; } | |
| 2863 | +@media (max-width: 600px) { | |
| 2864 | + .mxch-satisfaction-row { flex-direction: column; align-items: flex-start; gap: 8px; } | |
| 2865 | + .mxch-satisfaction-bot { flex: 1 1 100%; } | |
| 2866 | + .mxch-satisfaction-meta { width: 100%; } | |
| 2867 | +} | |
| 2868 | + | |
| 2869 | +/* Details drawer — Feedback row value (user-submitted rating feedback). */ | |
| 2870 | +.mxch-detail-feedback-value { | |
| 2871 | + white-space: pre-wrap; | |
| 2872 | + word-break: break-word; | |
| 2873 | + max-width: 100%; | |
| 2874 | + display: block; | |
| 2875 | + margin-top: 4px; | |
| 2876 | + opacity: 0.9; | |
| 2877 | + font-style: italic; | |
| 2603 | 2878 | } |