ClientsPage.css 3.6 KB

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