ClientsPage.css 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219
  1. .clients-page .ant-pagination-options-size-changer,
  2. .clients-page .ant-pagination-options-size-changer .ant-select-selector {
  3. min-width: 100px;
  4. }
  5. .client-email-list {
  6. max-height: 280px;
  7. min-width: 160px;
  8. overflow-y: auto;
  9. padding-right: 4px;
  10. }
  11. .client-email-list > div {
  12. padding: 2px 0;
  13. font-size: 12px;
  14. white-space: nowrap;
  15. }
  16. .filter-bar {
  17. display: flex;
  18. flex-wrap: wrap;
  19. align-items: center;
  20. gap: 8px;
  21. margin-bottom: 12px;
  22. }
  23. .filter-bar.mobile {
  24. gap: 6px;
  25. margin-bottom: 8px;
  26. }
  27. .filter-bar.mobile > * {
  28. flex: 0 0 auto;
  29. }
  30. .filter-count {
  31. margin-inline-start: auto;
  32. color: var(--ant-color-text-secondary);
  33. font-size: 13px;
  34. white-space: nowrap;
  35. }
  36. .filter-chips {
  37. display: flex;
  38. flex-wrap: wrap;
  39. gap: 6px;
  40. margin: 0 0 12px;
  41. padding: 6px 8px;
  42. background: var(--ant-color-fill-quaternary);
  43. border-radius: 8px;
  44. }
  45. .filter-chips .ant-tag {
  46. margin: 0;
  47. }
  48. .dot {
  49. display: inline-block;
  50. width: 8px;
  51. height: 8px;
  52. border-radius: 50%;
  53. margin-right: 4px;
  54. vertical-align: middle;
  55. }
  56. .dot-green { background: var(--ant-color-success); }
  57. .dot-blue { background: var(--ant-color-primary); }
  58. .dot-red { background: var(--ant-color-error); }
  59. .dot-orange { background: var(--ant-color-warning); }
  60. .dot-gray { background: var(--ant-color-text-quaternary); }
  61. .status-tag {
  62. margin: 0 0 0 4px;
  63. font-size: 11px;
  64. padding: 0 6px;
  65. line-height: 18px;
  66. }
  67. .card-toolbar {
  68. display: flex;
  69. align-items: center;
  70. gap: 8px;
  71. flex-wrap: wrap;
  72. padding: 6px 0;
  73. }
  74. @media (min-width: 769px) and (max-width: 920px) {
  75. .card-toolbar {
  76. gap: 6px;
  77. }
  78. .card-toolbar .ant-btn .ant-btn-icon + span,
  79. .card-toolbar .ant-btn > span:not(.ant-btn-icon):not(.ant-tag):not(.anticon) {
  80. display: none;
  81. }
  82. .card-toolbar .ant-btn {
  83. padding-inline: 8px;
  84. }
  85. }
  86. .email-cell {
  87. display: flex;
  88. flex-direction: column;
  89. }
  90. .email-cell .email {
  91. font-weight: 500;
  92. }
  93. .email-cell .sub {
  94. font-size: 11px;
  95. opacity: 0.55;
  96. font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  97. white-space: nowrap;
  98. overflow: hidden;
  99. text-overflow: ellipsis;
  100. max-width: 220px;
  101. }
  102. .client-cards {
  103. display: flex;
  104. flex-direction: column;
  105. gap: 10px;
  106. margin-top: 4px;
  107. }
  108. .card-bulk-bar {
  109. display: flex;
  110. align-items: center;
  111. gap: 8px;
  112. padding: 4px 4px 8px;
  113. }
  114. .card-pagination {
  115. display: flex;
  116. justify-content: center;
  117. flex-wrap: wrap;
  118. padding: 4px 0 8px;
  119. }
  120. .card-pagination .ant-pagination-options-size-changer,
  121. .card-pagination .ant-pagination-options-size-changer .ant-select-selector {
  122. min-width: 88px;
  123. }
  124. .bulk-count {
  125. font-size: 12px;
  126. background: color-mix(in srgb, var(--ant-color-primary) 12%, transparent);
  127. color: var(--ant-color-primary);
  128. padding: 1px 8px;
  129. border-radius: 10px;
  130. }
  131. .client-card {
  132. border: 1px solid var(--ant-color-border-secondary);
  133. border-radius: 10px;
  134. padding: 10px 12px;
  135. background: var(--ant-color-fill-quaternary);
  136. }
  137. .client-card.is-selected {
  138. border-color: var(--ant-color-primary);
  139. background: color-mix(in srgb, var(--ant-color-primary) 6%, transparent);
  140. }
  141. .client-card-speed {
  142. margin-top: 6px;
  143. font-size: 12px;
  144. color: var(--ant-color-text-secondary);
  145. }
  146. .card-head {
  147. display: flex;
  148. align-items: center;
  149. gap: 8px;
  150. user-select: none;
  151. }
  152. .card-head .tag-name {
  153. font-weight: 600;
  154. flex: 1;
  155. min-width: 0;
  156. overflow: hidden;
  157. text-overflow: ellipsis;
  158. white-space: nowrap;
  159. }
  160. .card-actions {
  161. display: flex;
  162. align-items: center;
  163. gap: 10px;
  164. flex-shrink: 0;
  165. }
  166. .row-action-trigger {
  167. font-size: 18px;
  168. cursor: pointer;
  169. opacity: 0.75;
  170. transition: opacity 120ms ease;
  171. }
  172. .row-action-trigger:hover {
  173. opacity: 1;
  174. }
  175. .card-empty {
  176. text-align: center;
  177. padding: 40px 16px;
  178. color: var(--ant-color-text-secondary);
  179. display: flex;
  180. flex-direction: column;
  181. align-items: center;
  182. gap: 8px;
  183. }
  184. .clients-empty {
  185. padding: 32px 0;
  186. text-align: center;
  187. color: var(--ant-color-text-secondary);
  188. }