| @@ -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; |
| @@ -1759,25 +1800,24 @@ | ||
| 1759 | 1800 | flex-wrap: wrap; |
| 1760 | 1801 | gap: 5px; |
| 1761 | 1802 | padding: 10px; |
| 1762 | 1803 | } |
| 1763 | -.wpsc-ac-agent { | |
| 1764 | - display: flex; | |
| 1765 | - width: fit-content; | |
| 1766 | - align-items: center; | |
| 1767 | - gap: 5px; | |
| 1768 | - padding: 5px; | |
| 1769 | - border-radius: 5px; | |
| 1770 | - 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); | |
| 1771 | 1817 | } |
| 1772 | -.wpsc-ac-agent img { | |
| 1773 | - border-radius: 50%; | |
| 1774 | -} | |
| 1775 | 1818 | |
| 1776 | -/* Dashboard widgets css */ | |
| 1777 | - | |
| 1778 | 1819 | .wpsc-dash-widget svg { |
| 1779 | - color: #ccc; | |
| 1780 | 1820 | height: 80px !important; |
| 1781 | 1821 | } |
| 1782 | 1822 | |
| 1783 | 1823 | .wpsc-dashboard-widget-icon-header { |
| @@ -1784,8 +1824,14 @@ | ||
| 1784 | 1824 | display: flex; |
| 1785 | 1825 | align-items: center; |
| 1786 | 1826 | } |
| 1787 | 1827 | |
| 1828 | +.wpsc-dashboard-widget-icon-header span { | |
| 1829 | + font-size: 14px; | |
| 1830 | + font-weight: 600; | |
| 1831 | + letter-spacing: 0.01em; | |
| 1832 | +} | |
| 1833 | + | |
| 1788 | 1834 | .wpsc-dashboard-card-icon-header { |
| 1789 | 1835 | cursor: pointer; |
| 1790 | 1836 | } |
| 1791 | 1837 | |
| @@ -1799,17 +1845,16 @@ | ||
| 1799 | 1845 | .wpsc-dash-widget { |
| 1800 | 1846 | margin: 10px; |
| 1801 | 1847 | position: relative; |
| 1802 | 1848 | box-sizing: border-box; |
| 1803 | - background-color: #f4f6f9; | |
| 1804 | - border: 1px solid #ccc; | |
| 1805 | - border-radius: 5px; | |
| 1806 | - padding: 10px; | |
| 1807 | - 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); | |
| 1808 | 1853 | } |
| 1809 | 1854 | |
| 1810 | 1855 | .wpsc-dash-widget2 { |
| 1811 | - padding: 10px; | |
| 1856 | + padding: 16px 18px; | |
| 1812 | 1857 | } |
| 1813 | 1858 | |
| 1814 | 1859 | .wpsc-dash-widget-small { |
| 1815 | 1860 | width: calc(20% - 20px); |
| @@ -1820,14 +1865,18 @@ | ||
| 1820 | 1865 | } |
| 1821 | 1866 | |
| 1822 | 1867 | .wpsc-dash-widget-small .wpsc-dash-widget-icon { |
| 1823 | 1868 | font-size: 70px; /* Increase the size as needed */ |
| 1824 | - color: #ccc; /* Change the icon color as needed */ | |
| 1825 | 1869 | margin-left: 10px; /* Add margin to separate from the text */ |
| 1826 | 1870 | } |
| 1827 | 1871 | |
| 1828 | 1872 | .wpsc-dash-widget-small svg { |
| 1829 | - 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; | |
| 1830 | 1879 | } |
| 1831 | 1880 | |
| 1832 | 1881 | .wpsc-dash-widget-mid { |
| 1833 | 1882 | width: calc(50% - 20px); |
| @@ -1839,47 +1888,96 @@ | ||
| 1839 | 1888 | |
| 1840 | 1889 | .wpsc-widget h2 { |
| 1841 | 1890 | font-size: 18px; |
| 1842 | 1891 | margin-bottom: 5px; |
| 1892 | + font-weight: 600; | |
| 1843 | 1893 | } |
| 1844 | 1894 | |
| 1845 | 1895 | .wpsc-dash-widget-small h2 { |
| 1846 | - margin-bottom: 5px; | |
| 1847 | - font-size: 35px; | |
| 1848 | - font-weight: 600; | |
| 1896 | + margin-bottom: 4px; | |
| 1897 | + font-size: 32px; | |
| 1898 | + font-weight: 700; | |
| 1899 | + letter-spacing: -0.02em; | |
| 1849 | 1900 | } |
| 1850 | 1901 | |
| 1902 | +.wpsc-dash-widget-small p { | |
| 1903 | + font-size: 13px; | |
| 1904 | + font-weight: 500; | |
| 1905 | +} | |
| 1906 | + | |
| 1851 | 1907 | /* Style the header of widgets with icons and actions */ |
| 1852 | 1908 | .wpsc-dash-widget-header { |
| 1853 | 1909 | display: flex; |
| 1854 | 1910 | justify-content: space-between; |
| 1855 | 1911 | align-items: center; |
| 1856 | - margin-bottom: 10px; | |
| 1857 | - border-bottom: 1px solid #ccc; | |
| 1858 | - padding-bottom: 10px; | |
| 1912 | + margin-bottom: 14px; | |
| 1913 | + border-bottom: 1px solid var(--wpsc-dash-divider); | |
| 1914 | + padding-bottom: 12px; | |
| 1859 | 1915 | } |
| 1860 | 1916 | |
| 1861 | 1917 | .wpsc-dash-widget-header svg { |
| 1862 | - color: #ccc; | |
| 1863 | 1918 | height: 15px !important; |
| 1864 | 1919 | margin: 0px 5px 0px 0px; |
| 1865 | 1920 | } |
| 1866 | 1921 | |
| 1867 | 1922 | .wpsc-dash-widget-actions { |
| 1868 | - /* Widget action links styles here */ | |
| 1923 | + font-size: 12px; | |
| 1869 | 1924 | } |
| 1870 | 1925 | |
| 1871 | 1926 | .wpsc-dash-widget-actions a { |
| 1872 | 1927 | cursor: pointer; |
| 1873 | 1928 | text-decoration: none; |
| 1929 | + color: var(--wpsc-dash-accent); | |
| 1930 | + font-weight: 500; | |
| 1874 | 1931 | } |
| 1875 | 1932 | |
| 1933 | +.wpsc-dash-widget-actions a:hover { | |
| 1934 | + text-decoration: underline; | |
| 1935 | +} | |
| 1936 | + | |
| 1876 | 1937 | /* Style the content of widgets */ |
| 1877 | 1938 | .wpsc-dash-widget-content { |
| 1878 | - /* Widget content styles here */ | |
| 1939 | + font-size: 13px; | |
| 1879 | 1940 | } |
| 1880 | 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 | + | |
| 1881 | 1975 | .wpsc-actions-btn-setting { |
| 1976 | + width: 100%; | |
| 1977 | + display: flex; | |
| 1978 | + align-items: center; | |
| 1979 | + justify-content: space-between; | |
| 1882 | 1980 | padding-bottom: 15px; |
| 1883 | 1981 | } |
| 1884 | 1982 | |
| 1885 | 1983 | /* Style full-width widgets */ |
| @@ -1911,9 +2009,9 @@ | ||
| 1911 | 2009 | } |
| 1912 | 2010 | |
| 1913 | 2011 | .wpsc-dash-widget-content::-webkit-scrollbar-track, |
| 1914 | 2012 | .wpsc-widget-body::-webkit-scrollbar-track { |
| 1915 | - background-color: #ffffff; | |
| 2013 | + background-color: transparent; | |
| 1916 | 2014 | } |
| 1917 | 2015 | /* table scrollable end */ |
| 1918 | 2016 | |
| 1919 | 2017 | .wpsc-dash-widget-mid .wpsc-dash-widget-content { |
| @@ -2022,10 +2120,12 @@ | ||
| 2022 | 2120 | flex-direction: column; |
| 2023 | 2121 | } |
| 2024 | 2122 | |
| 2025 | 2123 | .wpsc-widget-list { |
| 2026 | - border-bottom: 1px solid #ccc; | |
| 2027 | - 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; | |
| 2028 | 2128 | } |
| 2029 | 2129 | |
| 2030 | 2130 | .wpsc-widget-list:last-child { |
| 2031 | 2131 | border-bottom: none; |
| @@ -2030,12 +2130,27 @@ | ||
| 2030 | 2130 | .wpsc-widget-list:last-child { |
| 2031 | 2131 | border-bottom: none; |
| 2032 | 2132 | } |
| 2033 | 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 | + | |
| 2034 | 2144 | #wpsc-dash-agent-list .dt-search { |
| 2035 | 2145 | display: none; |
| 2036 | 2146 | } |
| 2037 | 2147 | |
| 2148 | +.wpsc-recent-ticket-list td, .wpsc-db-agent-list td, | |
| 2149 | +.wpsc-db-user-todo td { | |
| 2150 | + cursor: default !important; | |
| 2151 | +} | |
| 2152 | + | |
| 2038 | 2153 | /* User profile starts */ |
| 2039 | 2154 | .wpsc-up-section { |
| 2040 | 2155 | width: 100%; |
| 2041 | 2156 | } |
| @@ -2160,35 +2275,41 @@ | ||
| 2160 | 2275 | |
| 2161 | 2276 | /* Agent collision css starts */ |
| 2162 | 2277 | .wpsc-live-agents { |
| 2163 | 2278 | display: flex; |
| 2279 | + flex-direction: column; | |
| 2164 | 2280 | gap: 5px; |
| 2165 | - align-items: center; | |
| 2166 | - flex-wrap: wrap; | |
| 2281 | + align-items: stretch; | |
| 2167 | 2282 | } |
| 2168 | 2283 | |
| 2169 | 2284 | .wpsc-agent-avatar { |
| 2170 | 2285 | position: relative; |
| 2171 | - width: 32px; | |
| 2172 | - height: 32px; | |
| 2173 | - border-radius: 50%; | |
| 2174 | - overflow: hidden; | |
| 2286 | + display: flex; | |
| 2287 | + align-items: center; | |
| 2288 | + gap: 6px; | |
| 2289 | + max-width: 100%; | |
| 2290 | + padding: 2px 10px 2px 2px; | |
| 2291 | + border-radius: 16px; | |
| 2175 | 2292 | cursor: pointer; |
| 2293 | + box-sizing: border-box; | |
| 2176 | 2294 | transition: transform 0.2s ease, box-shadow 0.2s ease; |
| 2177 | 2295 | } |
| 2178 | 2296 | |
| 2179 | 2297 | /* Avatar image */ |
| 2180 | 2298 | .wpsc-agent-avatar img { |
| 2181 | - width: 100%; | |
| 2182 | - height: 100%; | |
| 2299 | + width: 28px; | |
| 2300 | + height: 28px; | |
| 2301 | + flex-shrink: 0; | |
| 2183 | 2302 | object-fit: cover; |
| 2184 | 2303 | border-radius: 50%; |
| 2185 | 2304 | } |
| 2186 | 2305 | |
| 2187 | -/* Hover effect */ | |
| 2188 | -.wpsc-agent-avatar:hover { | |
| 2189 | - transform: translateY(-2px); | |
| 2190 | - box-shadow: 0 4px 10px rgba(0,0,0,0.15); | |
| 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; | |
| 2191 | 2312 | } |
| 2192 | 2313 | /* Agent collision css ends */ |
| 2193 | 2314 | |
| 2194 | 2315 | /* Error message only */ |