PluginProbe
SupportCandy – AI Customer Support Ticket System & Live Chatbot Agent / 3.5.4
SupportCandy – AI Customer Support Ticket System & Live Chatbot Agent v3.5.4
3.5.4 3.5.3 3.5.2 3.5.1 3.4.9 3.5.0 3.4.8 3.4.7 trunk 2.3.1 3.3.6 3.3.7 3.3.8 3.3.9 3.4.0 3.4.1 3.4.2 3.4.3 3.4.4 3.4.5 3.4.6
← All changes | framework/style-rtl.css +198 -37 3.3.9 → 3.5.4 View file →
@@ -206,9 +206,9 @@
206 206 left: 0;
207 207 background-color: #fff;
208 208 overflow: auto;
209 209 }
210 -.wpsc-humbargar-menu .box-inner {
210 +.wpsc-humbargar-menu .wpsc-merge-box-inner {
211 211 padding: 15px 15px 0;
212 212 }
213 213 .wpsc-humbargar-close {
214 214 display: flex;
@@ -464,8 +464,34 @@
464 464 }
465 465 .wpsc-ticket-list-tbl tbody tr:hover {
466 466 cursor: pointer;
467 467 }
468 +.wpsc-ticket-list-tbl th.wpsc-tl-sortable-th {
469 + cursor: pointer;
470 + white-space: nowrap;
471 + -webkit-user-select: none;
472 + user-select: none;
473 +}
474 +.wpsc-ticket-list-tbl th .wpsc-tl-th-inner {
475 + display: flex;
476 + align-items: center;
477 +}
478 +.wpsc-ticket-list-tbl th .wpsc-tl-sort-icon {
479 + display: inline-flex;
480 + align-items: center;
481 + flex: none;
482 + height: 12px;
483 + margin-right: 6px;
484 +}
485 +.wpsc-ticket-list-tbl th .wpsc-tl-sort-icon svg {
486 + width: auto;
487 + height: 100%;
488 + fill: #a7aaad;
489 +}
490 +.wpsc-ticket-list-tbl th.wpsc-tl-sorted-asc .wpsc-tl-sort-icon svg,
491 +.wpsc-ticket-list-tbl th.wpsc-tl-sorted-desc .wpsc-tl-sort-icon svg {
492 + fill: #2271b1;
493 +}
468 494
469 495 /* Modal Popup */
470 496 .wpsc-modal .loader,
471 497 .wpsc-modal .inner-container {
@@ -507,9 +533,8 @@
507 533 padding: 10px 15px;
508 534 }
509 535 .wpsc-modal-body {
510 536 display: flex;
511 - justify-content: center;
512 537 font-size: 14px;
513 538 padding: 20px 15px 15px 15px;
514 539 max-height: 300px;
515 540 overflow: auto;
@@ -868,8 +893,18 @@
868 893 }
869 894 .wpsc-thread .thread-text {
870 895 overflow: hidden;
871 896 }
897 +.wpsc-thread .thread-text.wpsc-collapsed {
898 + max-height: 100px;
899 +}
900 +.wpsc-thread .thread-text.wpsc-expanded {
901 + max-height: none;
902 +}
903 +.wpsc-thread .thread-text ul{
904 + list-style-type: disc !important;
905 + padding-inline-start: 2em;
906 +}
872 907 .wpsc-thread p {
873 908 font-size: 14px;
874 909 font-weight: 400;
875 910 }
@@ -883,8 +918,11 @@
883 918 .wpsc-log-diff .rhs {
884 919 display: flex;
885 920 align-items: center;
886 921 flex-wrap: wrap;
922 + word-break: break-word;
923 + overflow-wrap: anywhere;
924 + white-space: normal;
887 925 }
888 926 .wpsc-log-diff .transform-icon svg {
889 927 width: 12px;
890 928 margin: 0 10px;
@@ -1205,12 +1243,21 @@
1205 1243 }
1206 1244 .wpsc-switch-editor.active {
1207 1245 background: #c3c3c3;
1208 1246 }
1209 -.wpsc_textarea {
1247 +.wpsc_textarea:not(#wpsc-en-body) {
1210 1248 height: 160px !important;
1211 1249 width: 100% !important;
1212 1250 }
1251 +/* Email Notifications body editor (Ticket Notifications, OTP, Satisfaction Survey,
1252 + Auto Close Ticket, WooCommerce create ticket): allow vertical resize handle to work
1253 + by not forcing height with !important. Scoped to this id only so other .wpsc_textarea
1254 + usages (canned replies, GDPR/T&C, ticket description, print templates, etc.) are unaffected. */
1255 +#wpsc-en-body.wpsc_textarea {
1256 + height: 160px;
1257 + width: 100% !important;
1258 + resize: vertical;
1259 +}
1213 1260
1214 1261 /* Ticket form field */
1215 1262 .wpsc-tff {
1216 1263 display: flex;
@@ -1770,25 +1817,24 @@
1770 1817 flex-wrap: wrap;
1771 1818 gap: 5px;
1772 1819 padding: 10px;
1773 1820 }
1774 -.wpsc-ac-agent {
1775 - display: flex;
1776 - width: fit-content;
1777 - align-items: center;
1778 - gap: 5px;
1779 - padding: 5px;
1780 - border-radius: 5px;
1781 - font-size: 13px;
1821 +/* Dashboard widgets css */
1822 +
1823 +/* Card/widget background, text and icon colors are NOT set here - they come from the "Appearance
1824 + > Dashboard" settings (wpsc-ap-dashboard option), injected as inline !important styles by
1825 + WPSC_Tickets::get_agent_dashboard() (core/includes/admin/tickets/class-wpsc-tickets.php). This
1826 + stylesheet only handles structure/spacing/shape, so it never fights that setting. */
1827 +
1828 +:root {
1829 + --wpsc-dash-border: #e7eaf0;
1830 + --wpsc-dash-divider: #eef0f4;
1831 + --wpsc-dash-surface-hover: #f8fafc;
1832 + --wpsc-dash-accent: #0079bf;
1833 + --wpsc-dash-shadow: 0 1px 2px rgba(16, 24, 40, 0.04), 0 1px 3px rgba(16, 24, 40, 0.06);
1782 1834 }
1783 -.wpsc-ac-agent img {
1784 - border-radius: 50%;
1785 -}
1786 1835
1787 -/* Dashboard widgets css */
1788 -
1789 1836 .wpsc-dash-widget svg {
1790 - color: #ccc;
1791 1837 height: 80px !important;
1792 1838 }
1793 1839
1794 1840 .wpsc-dashboard-widget-icon-header {
@@ -1795,8 +1841,14 @@
1795 1841 display: flex;
1796 1842 align-items: center;
1797 1843 }
1798 1844
1845 +.wpsc-dashboard-widget-icon-header span {
1846 + font-size: 14px;
1847 + font-weight: 600;
1848 + letter-spacing: 0.01em;
1849 +}
1850 +
1799 1851 .wpsc-dashboard-card-icon-header {
1800 1852 cursor: pointer;
1801 1853 }
1802 1854
@@ -1810,17 +1862,16 @@
1810 1862 .wpsc-dash-widget {
1811 1863 margin: 10px;
1812 1864 position: relative;
1813 1865 box-sizing: border-box;
1814 - background-color: #f4f6f9;
1815 - border: 1px solid #ccc;
1816 - border-radius: 5px;
1817 - padding: 10px;
1818 - box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
1866 + border: 1px solid var(--wpsc-dash-border);
1867 + border-radius: 12px;
1868 + padding: 16px 18px;
1869 + box-shadow: var(--wpsc-dash-shadow);
1819 1870 }
1820 1871
1821 1872 .wpsc-dash-widget2 {
1822 - padding: 10px;
1873 + padding: 16px 18px;
1823 1874 }
1824 1875
1825 1876 .wpsc-dash-widget-small {
1826 1877 width: calc(20% - 20px);
@@ -1831,14 +1882,18 @@
1831 1882 }
1832 1883
1833 1884 .wpsc-dash-widget-small .wpsc-dash-widget-icon {
1834 1885 font-size: 70px; /* Increase the size as needed */
1835 - color: #ccc; /* Change the icon color as needed */
1836 1886 margin-left: 10px; /* Add margin to separate from the text */
1837 1887 }
1838 1888
1839 1889 .wpsc-dash-widget-small svg {
1840 - opacity: 0.2;
1890 + opacity: 0.5;
1891 + flex-shrink: 0;
1892 + overflow: visible;
1893 + height: 48px !important;
1894 + width: 48px !important;
1895 + margin-right: 10px;
1841 1896 }
1842 1897
1843 1898 .wpsc-dash-widget-mid {
1844 1899 width: calc(50% - 20px);
@@ -1850,47 +1905,96 @@
1850 1905
1851 1906 .wpsc-widget h2 {
1852 1907 font-size: 18px;
1853 1908 margin-bottom: 5px;
1909 + font-weight: 600;
1854 1910 }
1855 1911
1856 1912 .wpsc-dash-widget-small h2 {
1857 - margin-bottom: 5px;
1858 - font-size: 35px;
1859 - font-weight: 600;
1913 + margin-bottom: 4px;
1914 + font-size: 32px;
1915 + font-weight: 700;
1916 + letter-spacing: -0.02em;
1860 1917 }
1861 1918
1919 +.wpsc-dash-widget-small p {
1920 + font-size: 13px;
1921 + font-weight: 500;
1922 +}
1923 +
1862 1924 /* Style the header of widgets with icons and actions */
1863 1925 .wpsc-dash-widget-header {
1864 1926 display: flex;
1865 1927 justify-content: space-between;
1866 1928 align-items: center;
1867 - margin-bottom: 10px;
1868 - border-bottom: 1px solid #ccc;
1869 - padding-bottom: 10px;
1929 + margin-bottom: 14px;
1930 + border-bottom: 1px solid var(--wpsc-dash-divider);
1931 + padding-bottom: 12px;
1870 1932 }
1871 1933
1872 1934 .wpsc-dash-widget-header svg {
1873 - color: #ccc;
1874 1935 height: 15px !important;
1875 1936 margin: 0px 0px 0px 5px;
1876 1937 }
1877 1938
1878 1939 .wpsc-dash-widget-actions {
1879 - /* Widget action links styles here */
1940 + font-size: 12px;
1880 1941 }
1881 1942
1882 1943 .wpsc-dash-widget-actions a {
1883 1944 cursor: pointer;
1884 1945 text-decoration: none;
1946 + color: var(--wpsc-dash-accent);
1947 + font-weight: 500;
1885 1948 }
1886 1949
1950 +.wpsc-dash-widget-actions a:hover {
1951 + text-decoration: underline;
1952 +}
1953 +
1887 1954 /* Style the content of widgets */
1888 1955 .wpsc-dash-widget-content {
1889 - /* Widget content styles here */
1956 + font-size: 13px;
1890 1957 }
1891 1958
1959 +/* Tables rendered inside a widget's content area (agent list, recent tickets, todos, out-of-sla,
1960 + timers, usergroups, agent performance, feedback, ...) - scoped to the content wrapper so this
1961 + doesn't touch tables anywhere else in the app. Text color is intentionally left unset here so
1962 + it inherits the widget's appearance-setting-driven text color instead of overriding it. */
1963 +.wpsc-dash-widget-content table {
1964 + width: 100%;
1965 + border-collapse: collapse;
1966 +}
1967 +
1968 +.wpsc-dash-widget-content table thead th {
1969 + text-align: right;
1970 + font-size: 11px;
1971 + font-weight: 600;
1972 + text-transform: uppercase;
1973 + letter-spacing: 0.04em;
1974 + padding: 8px 10px;
1975 + border-bottom: 1px solid var(--wpsc-dash-divider);
1976 + white-space: nowrap;
1977 +}
1978 +
1979 +.wpsc-dash-widget-content table tbody td {
1980 + padding: 10px;
1981 + border-bottom: 1px solid var(--wpsc-dash-divider);
1982 +}
1983 +
1984 +.wpsc-dash-widget-content table tbody tr:last-child td {
1985 + border-bottom: none;
1986 +}
1987 +
1988 +.wpsc-dash-widget-content table tbody tr:hover td {
1989 + background-color: var(--wpsc-dash-surface-hover);
1990 +}
1991 +
1892 1992 .wpsc-actions-btn-setting {
1993 + width: 100%;
1994 + display: flex;
1995 + align-items: center;
1996 + justify-content: space-between;
1893 1997 padding-bottom: 15px;
1894 1998 }
1895 1999
1896 2000 /* Style full-width widgets */
@@ -1922,9 +2026,9 @@
1922 2026 }
1923 2027
1924 2028 .wpsc-dash-widget-content::-webkit-scrollbar-track,
1925 2029 .wpsc-widget-body::-webkit-scrollbar-track {
1926 - background-color: #ffffff;
2030 + background-color: transparent;
1927 2031 }
1928 2032 /* table scrollable end */
1929 2033
1930 2034 .wpsc-dash-widget-mid .wpsc-dash-widget-content {
@@ -2032,10 +2136,12 @@
2032 2136 flex-direction: column;
2033 2137 }
2034 2138
2035 2139 .wpsc-widget-list {
2036 - border-bottom: 1px solid #ccc;
2037 - padding: 10px 0px;
2140 + border-bottom: 1px solid var(--wpsc-dash-divider, #eef0f4);
2141 + padding: 10px 2px;
2142 + font-size: 13px;
2143 + line-height: 1.6;
2038 2144 }
2039 2145
2040 2146 .wpsc-widget-list:last-child {
2041 2147 border-bottom: none;
@@ -2040,8 +2146,18 @@
2040 2146 .wpsc-widget-list:last-child {
2041 2147 border-bottom: none;
2042 2148 }
2043 2149
2150 +.wpsc-widget-list a {
2151 + color: var(--wpsc-dash-accent, #0079bf);
2152 + font-weight: 500;
2153 + text-decoration: none;
2154 +}
2155 +
2156 +.wpsc-widget-list a:hover {
2157 + text-decoration: underline;
2158 +}
2159 +
2044 2160 #wpsc-dash-agent-list .dt-search {
2045 2161 display: none;
2046 2162 }
2047 2163
@@ -2164,4 +2280,49 @@
2164 2280
2165 2281 .wpsc-reg-user > .wpsc-tff {
2166 2282 padding-right: 0px !important;
2167 2283 }
2284 +
2285 +/* Merge ticket popup css ends */
2286 +.wpsc-live-agents {
2287 + display: flex;
2288 + flex-direction: column;
2289 + gap: 5px;
2290 + align-items: stretch;
2291 +}
2292 +
2293 +.wpsc-agent-avatar {
2294 + position: relative;
2295 + display: flex;
2296 + align-items: center;
2297 + gap: 6px;
2298 + max-width: 100%;
2299 + padding: 2px 2px 2px 10px;
2300 + border-radius: 16px;
2301 + background-color: #f0f0f1;
2302 + cursor: pointer;
2303 + box-sizing: border-box;
2304 + transition: transform 0.2s ease, box-shadow 0.2s ease;
2305 +}
2306 +
2307 +/* Avatar image */
2308 +.wpsc-agent-avatar img {
2309 + width: 28px;
2310 + height: 28px;
2311 + flex-shrink: 0;
2312 + object-fit: cover;
2313 + border-radius: 50%;
2314 +}
2315 +
2316 +/* Agent name shown alongside avatar (also covers installs with avatars disabled) */
2317 +.wpsc-agent-name {
2318 + overflow: hidden;
2319 + text-overflow: ellipsis;
2320 + white-space: nowrap;
2321 + font-size: 12px;
2322 +}
2323 +
2324 +/* Hover effect */
2325 +.wpsc-agent-avatar:hover {
2326 + transform: translateY(-2px);
2327 + box-shadow: 0 4px 10px rgba(0,0,0,0.15);
2328 +}