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.css +190 -135 3.4.6 → 3.5.4 View file →
@@ -463,8 +463,34 @@
463 463 }
464 464 .wpsc-ticket-list-tbl tbody tr:hover {
465 465 cursor: pointer;
466 466 }
467 +.wpsc-ticket-list-tbl th.wpsc-tl-sortable-th {
468 + cursor: pointer;
469 + white-space: nowrap;
470 + -webkit-user-select: none;
471 + user-select: none;
472 +}
473 +.wpsc-ticket-list-tbl th .wpsc-tl-th-inner {
474 + display: flex;
475 + align-items: center;
476 +}
477 +.wpsc-ticket-list-tbl th .wpsc-tl-sort-icon {
478 + display: inline-flex;
479 + align-items: center;
480 + flex: none;
481 + height: 12px;
482 + margin-left: 6px;
483 +}
484 +.wpsc-ticket-list-tbl th .wpsc-tl-sort-icon svg {
485 + width: auto;
486 + height: 100%;
487 + fill: #a7aaad;
488 +}
489 +.wpsc-ticket-list-tbl th.wpsc-tl-sorted-asc .wpsc-tl-sort-icon svg,
490 +.wpsc-ticket-list-tbl th.wpsc-tl-sorted-desc .wpsc-tl-sort-icon svg {
491 + fill: #2271b1;
492 +}
467 493
468 494 /* Modal Popup */
469 495 .wpsc-modal .loader,
470 496 .wpsc-modal .inner-container {
@@ -866,8 +892,14 @@
866 892 }
867 893 .wpsc-thread .thread-text {
868 894 overflow: hidden;
869 895 }
896 +.wpsc-thread .thread-text.wpsc-collapsed {
897 + max-height: 100px;
898 +}
899 +.wpsc-thread .thread-text.wpsc-expanded {
900 + max-height: none;
901 +}
870 902 .wpsc-thread .thread-text ul{
871 903 list-style-type: disc !important;
872 904 padding-inline-start: 2em;
873 905 }
@@ -1210,12 +1242,21 @@
1210 1242 }
1211 1243 .wpsc-switch-editor.active {
1212 1244 background: #c3c3c3;
1213 1245 }
1214 -.wpsc_textarea {
1246 +.wpsc_textarea:not(#wpsc-en-body) {
1215 1247 height: 160px !important;
1216 1248 width: 100% !important;
1217 1249 }
1250 +/* Email Notifications body editor (Ticket Notifications, OTP, Satisfaction Survey,
1251 + Auto Close Ticket, WooCommerce create ticket): allow vertical resize handle to work
1252 + by not forcing height with !important. Scoped to this id only so other .wpsc_textarea
1253 + usages (canned replies, GDPR/T&C, ticket description, print templates, etc.) are unaffected. */
1254 +#wpsc-en-body.wpsc_textarea {
1255 + height: 160px;
1256 + width: 100% !important;
1257 + resize: vertical;
1258 +}
1218 1259
1219 1260 /* Ticket form field */
1220 1261 .wpsc-tff {
1221 1262 display: flex;
@@ -1424,8 +1465,9 @@
1424 1465 font-size: 14px !important;
1425 1466 min-height: 30px !important;
1426 1467 max-height: 30px !important;
1427 1468 padding: 0 24px 0 8px !important;
1469 + line-height: 2 !important; // fix for wordpress 7
1428 1470 }
1429 1471
1430 1472 /* Checkboxes */
1431 1473 #wpsc-container .checkbox-container,
@@ -1758,25 +1800,24 @@
1758 1800 flex-wrap: wrap;
1759 1801 gap: 5px;
1760 1802 padding: 10px;
1761 1803 }
1762 -.wpsc-ac-agent {
1763 - display: flex;
1764 - width: fit-content;
1765 - align-items: center;
1766 - gap: 5px;
1767 - padding: 5px;
1768 - border-radius: 5px;
1769 - font-size: 13px;
1804 +/* Dashboard widgets css */
1805 +
1806 +/* Card/widget background, text and icon colors are NOT set here - they come from the "Appearance
1807 + > Dashboard" settings (wpsc-ap-dashboard option), injected as inline !important styles by
1808 + WPSC_Tickets::get_agent_dashboard() (core/includes/admin/tickets/class-wpsc-tickets.php). This
1809 + stylesheet only handles structure/spacing/shape, so it never fights that setting. */
1810 +
1811 +:root {
1812 + --wpsc-dash-border: #e7eaf0;
1813 + --wpsc-dash-divider: #eef0f4;
1814 + --wpsc-dash-surface-hover: #f8fafc;
1815 + --wpsc-dash-accent: #0079bf;
1816 + --wpsc-dash-shadow: 0 1px 2px rgba(16, 24, 40, 0.04), 0 1px 3px rgba(16, 24, 40, 0.06);
1770 1817 }
1771 -.wpsc-ac-agent img {
1772 - border-radius: 50%;
1773 -}
1774 1818
1775 -/* Dashboard widgets css */
1776 -
1777 1819 .wpsc-dash-widget svg {
1778 - color: #ccc;
1779 1820 height: 80px !important;
1780 1821 }
1781 1822
1782 1823 .wpsc-dashboard-widget-icon-header {
@@ -1783,8 +1824,14 @@
1783 1824 display: flex;
1784 1825 align-items: center;
1785 1826 }
1786 1827
1828 +.wpsc-dashboard-widget-icon-header span {
1829 + font-size: 14px;
1830 + font-weight: 600;
1831 + letter-spacing: 0.01em;
1832 +}
1833 +
1787 1834 .wpsc-dashboard-card-icon-header {
1788 1835 cursor: pointer;
1789 1836 }
1790 1837
@@ -1798,17 +1845,16 @@
1798 1845 .wpsc-dash-widget {
1799 1846 margin: 10px;
1800 1847 position: relative;
1801 1848 box-sizing: border-box;
1802 - background-color: #f4f6f9;
1803 - border: 1px solid #ccc;
1804 - border-radius: 5px;
1805 - padding: 10px;
1806 - box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
1849 + border: 1px solid var(--wpsc-dash-border);
1850 + border-radius: 12px;
1851 + padding: 16px 18px;
1852 + box-shadow: var(--wpsc-dash-shadow);
1807 1853 }
1808 1854
1809 1855 .wpsc-dash-widget2 {
1810 - padding: 10px;
1856 + padding: 16px 18px;
1811 1857 }
1812 1858
1813 1859 .wpsc-dash-widget-small {
1814 1860 width: calc(20% - 20px);
@@ -1819,14 +1865,18 @@
1819 1865 }
1820 1866
1821 1867 .wpsc-dash-widget-small .wpsc-dash-widget-icon {
1822 1868 font-size: 70px; /* Increase the size as needed */
1823 - color: #ccc; /* Change the icon color as needed */
1824 1869 margin-left: 10px; /* Add margin to separate from the text */
1825 1870 }
1826 1871
1827 1872 .wpsc-dash-widget-small svg {
1828 - opacity: 0.2;
1873 + opacity: 0.5;
1874 + flex-shrink: 0;
1875 + overflow: visible;
1876 + height: 48px !important;
1877 + width: 48px !important;
1878 + margin-left: 10px;
1829 1879 }
1830 1880
1831 1881 .wpsc-dash-widget-mid {
1832 1882 width: calc(50% - 20px);
@@ -1838,47 +1888,96 @@
1838 1888
1839 1889 .wpsc-widget h2 {
1840 1890 font-size: 18px;
1841 1891 margin-bottom: 5px;
1892 + font-weight: 600;
1842 1893 }
1843 1894
1844 1895 .wpsc-dash-widget-small h2 {
1845 - margin-bottom: 5px;
1846 - font-size: 35px;
1847 - font-weight: 600;
1896 + margin-bottom: 4px;
1897 + font-size: 32px;
1898 + font-weight: 700;
1899 + letter-spacing: -0.02em;
1848 1900 }
1849 1901
1902 +.wpsc-dash-widget-small p {
1903 + font-size: 13px;
1904 + font-weight: 500;
1905 +}
1906 +
1850 1907 /* Style the header of widgets with icons and actions */
1851 1908 .wpsc-dash-widget-header {
1852 1909 display: flex;
1853 1910 justify-content: space-between;
1854 1911 align-items: center;
1855 - margin-bottom: 10px;
1856 - border-bottom: 1px solid #ccc;
1857 - padding-bottom: 10px;
1912 + margin-bottom: 14px;
1913 + border-bottom: 1px solid var(--wpsc-dash-divider);
1914 + padding-bottom: 12px;
1858 1915 }
1859 1916
1860 1917 .wpsc-dash-widget-header svg {
1861 - color: #ccc;
1862 1918 height: 15px !important;
1863 1919 margin: 0px 5px 0px 0px;
1864 1920 }
1865 1921
1866 1922 .wpsc-dash-widget-actions {
1867 - /* Widget action links styles here */
1923 + font-size: 12px;
1868 1924 }
1869 1925
1870 1926 .wpsc-dash-widget-actions a {
1871 1927 cursor: pointer;
1872 1928 text-decoration: none;
1929 + color: var(--wpsc-dash-accent);
1930 + font-weight: 500;
1873 1931 }
1874 1932
1933 +.wpsc-dash-widget-actions a:hover {
1934 + text-decoration: underline;
1935 +}
1936 +
1875 1937 /* Style the content of widgets */
1876 1938 .wpsc-dash-widget-content {
1877 - /* Widget content styles here */
1939 + font-size: 13px;
1878 1940 }
1879 1941
1942 +/* Tables rendered inside a widget's content area (agent list, recent tickets, todos, out-of-sla,
1943 + timers, usergroups, agent performance, feedback, ...) - scoped to the content wrapper so this
1944 + doesn't touch tables anywhere else in the app. Text color is intentionally left unset here so
1945 + it inherits the widget's appearance-setting-driven text color instead of overriding it. */
1946 +.wpsc-dash-widget-content table {
1947 + width: 100%;
1948 + border-collapse: collapse;
1949 +}
1950 +
1951 +.wpsc-dash-widget-content table thead th {
1952 + text-align: left;
1953 + font-size: 11px;
1954 + font-weight: 600;
1955 + text-transform: uppercase;
1956 + letter-spacing: 0.04em;
1957 + padding: 8px 10px;
1958 + border-bottom: 1px solid var(--wpsc-dash-divider);
1959 + white-space: nowrap;
1960 +}
1961 +
1962 +.wpsc-dash-widget-content table tbody td {
1963 + padding: 10px;
1964 + border-bottom: 1px solid var(--wpsc-dash-divider);
1965 +}
1966 +
1967 +.wpsc-dash-widget-content table tbody tr:last-child td {
1968 + border-bottom: none;
1969 +}
1970 +
1971 +.wpsc-dash-widget-content table tbody tr:hover td {
1972 + background-color: var(--wpsc-dash-surface-hover);
1973 +}
1974 +
1880 1975 .wpsc-actions-btn-setting {
1976 + width: 100%;
1977 + display: flex;
1978 + align-items: center;
1979 + justify-content: space-between;
1881 1980 padding-bottom: 15px;
1882 1981 }
1883 1982
1884 1983 /* Style full-width widgets */
@@ -1910,9 +2009,9 @@
1910 2009 }
1911 2010
1912 2011 .wpsc-dash-widget-content::-webkit-scrollbar-track,
1913 2012 .wpsc-widget-body::-webkit-scrollbar-track {
1914 - background-color: #ffffff;
2013 + background-color: transparent;
1915 2014 }
1916 2015 /* table scrollable end */
1917 2016
1918 2017 .wpsc-dash-widget-mid .wpsc-dash-widget-content {
@@ -2021,10 +2120,12 @@
2021 2120 flex-direction: column;
2022 2121 }
2023 2122
2024 2123 .wpsc-widget-list {
2025 - border-bottom: 1px solid #ccc;
2026 - padding: 10px 0px;
2124 + border-bottom: 1px solid var(--wpsc-dash-divider, #eef0f4);
2125 + padding: 10px 2px;
2126 + font-size: 13px;
2127 + line-height: 1.6;
2027 2128 }
2028 2129
2029 2130 .wpsc-widget-list:last-child {
2030 2131 border-bottom: none;
@@ -2029,12 +2130,27 @@
2029 2130 .wpsc-widget-list:last-child {
2030 2131 border-bottom: none;
2031 2132 }
2032 2133
2134 +.wpsc-widget-list a {
2135 + color: var(--wpsc-dash-accent, #0079bf);
2136 + font-weight: 500;
2137 + text-decoration: none;
2138 +}
2139 +
2140 +.wpsc-widget-list a:hover {
2141 + text-decoration: underline;
2142 +}
2143 +
2033 2144 #wpsc-dash-agent-list .dt-search {
2034 2145 display: none;
2035 2146 }
2036 2147
2148 +.wpsc-recent-ticket-list td, .wpsc-db-agent-list td,
2149 +.wpsc-db-user-todo td {
2150 + cursor: default !important;
2151 +}
2152 +
2037 2153 /* User profile starts */
2038 2154 .wpsc-up-section {
2039 2155 width: 100%;
2040 2156 }
@@ -2156,115 +2272,54 @@
2156 2272 .wpsc-icon-wp-logo {
2157 2273 height: 15px !important;
2158 2274 }
2159 2275
2160 -/* Merge ticket popup css starts */
2161 -.wpsc-merge-container {
2162 - width: 100%;
2163 - display: block;
2164 - justify-content: space-between;
2276 +/* Agent collision css starts */
2277 +.wpsc-live-agents {
2278 + display: flex;
2279 + flex-direction: column;
2280 + gap: 5px;
2281 + align-items: stretch;
2165 2282 }
2166 2283
2167 -.wpsc-merge-container .wpsc-merge-warning {
2168 - background-color: #fff8e5;
2169 - padding: 5px 15px;
2170 - margin-bottom: 15px;
2171 - font-size: 14px;
2172 - border-radius: 5px;
2173 - text-align: center;
2174 - border: 1px solid #FFE79B;
2284 +.wpsc-agent-avatar {
2285 + position: relative;
2286 + display: flex;
2287 + align-items: center;
2288 + gap: 6px;
2289 + max-width: 100%;
2290 + padding: 2px 10px 2px 2px;
2291 + border-radius: 16px;
2292 + cursor: pointer;
2293 + box-sizing: border-box;
2294 + transition: transform 0.2s ease, box-shadow 0.2s ease;
2175 2295 }
2176 2296
2177 -.wpsc-merge-container .wpsc-merge-box {
2178 - width: 100%;
2179 - background-color: #f0f0f0;
2180 - position: relative;
2181 - display: inline-flex;
2182 - border-radius: 5px;
2183 - padding: 10px 0px;
2297 +/* Avatar image */
2298 +.wpsc-agent-avatar img {
2299 + width: 28px;
2300 + height: 28px;
2301 + flex-shrink: 0;
2302 + object-fit: cover;
2303 + border-radius: 50%;
2184 2304 }
2185 2305
2186 -.wpsc-merge-container .wpsc-merge-box:nth-child(4) {
2187 - margin-bottom: 10px;
2306 +/* Agent name shown alongside avatar (also covers installs with avatars disabled) */
2307 +.wpsc-agent-name {
2308 + overflow: hidden;
2309 + text-overflow: ellipsis;
2310 + white-space: nowrap;
2311 + font-size: 12px;
2188 2312 }
2313 +/* Agent collision css ends */
2189 2314
2190 -.wpsc-merge-container .wpsc-merge-box .wpsc-merge-ticket-details {
2191 - padding: 0px 15px;
2192 - position: relative;
2193 - flex: 1 1 30%;
2315 +/* Error message only */
2316 +.wpsc-error-msg {
2317 + color: #e53935;
2318 + font-size: 12px;
2319 + margin-top: 4px;
2320 + line-height: 1.4;
2194 2321 }
2195 2322
2196 -.wpsc-merge-container .wpsc-merge-box .wpsc-merge-id {
2197 - padding: 0px 15px;
2198 - position: relative;
2323 +#wpsc-container input[type=number] {
2324 + min-height: 30px !important; // fix for wordpress 7
2199 2325 }
2200 -
2201 -.wpsc-merge-container .wpsc-merge-box .wpsc-merge-id > div {
2202 - font-size: 14px;
2203 - color: #777;
2204 - background-color: #E5E4E2;
2205 - padding: 5px 15px;
2206 - border-radius: 5px;
2207 - border: 1px solid #D3D3D3;
2208 -}
2209 -
2210 -.wpsc-merge-container .wpsc-merge-box .wpsc-merge-ticket-details h3 {
2211 - font-size: 14px;
2212 - margin: 0em 0 0.8em 0;
2213 -}
2214 -
2215 -.wpsc-merge-container .wpsc-merge-box .wpsc-merge-ticket-details > p {
2216 - margin: 5px 0 15px 0;
2217 - font-size: 12px;
2218 - line-height: 0.1;
2219 - color: #777;
2220 -}
2221 -
2222 -.wpsc-merge-container .wpsc-merge-box .wpsc-merge-ticket-details > span {
2223 - font-style: italic;
2224 -}
2225 -
2226 -.wpsc-merge-divider {
2227 - width: 100%;
2228 - display: block;
2229 - height: 0.5px;
2230 - background-color: #C8C8C8;
2231 - margin-bottom: 1em;
2232 -}
2233 -
2234 -.wpsc-comment-textarea {
2235 - width: 100%;
2236 -}
2237 -
2238 -.wpsc-merge-container .wpsc-merge-direction {
2239 - width: 100%;
2240 -}
2241 -
2242 -.wpsc-merge-container .wpsc-merge-direction svg {
2243 - width: 12px;
2244 - padding: 20px 0px;
2245 - display: flex;
2246 - margin: auto;
2247 -}
2248 -
2249 -.wpsc-merge-comment-info {
2250 - margin: 5px 0 15px 0;
2251 - font-size: 12px;
2252 - line-height: 0.1;
2253 - color: #777;
2254 -}
2255 -
2256 -@media screen and (max-width: 768px) {
2257 -
2258 - .wpsc-merge-comment-info {
2259 - line-height: normal;
2260 - }
2261 -
2262 - .wpsc-merge-container .wpsc-merge-box {
2263 - display: block;
2264 - }
2265 -
2266 - .wpsc-merge-container .wpsc-merge-box .wpsc-merge-id {
2267 - padding: 0px 15px 10px 15px;
2268 - }
2269 -}
2270 -/* Merge ticket popup css ends */