admin.scss 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689
  1. @use "sass:math";
  2. $no-columns-breakpoint: 600px;
  3. $sidebar-width: 240px;
  4. $content-width: 840px;
  5. .admin-wrapper {
  6. display: flex;
  7. justify-content: center;
  8. width: 100%;
  9. min-height: 100vh;
  10. .sidebar-wrapper {
  11. min-height: 100vh;
  12. overflow: hidden;
  13. pointer-events: none;
  14. flex: 1 1 auto;
  15. &__inner {
  16. display: flex;
  17. justify-content: flex-end;
  18. background: $ui-base-color;
  19. height: 100%;
  20. }
  21. }
  22. .sidebar {
  23. width: $sidebar-width;
  24. padding: 0;
  25. pointer-events: auto;
  26. &__toggle {
  27. display: none;
  28. background: lighten($ui-base-color, 8%);
  29. height: 48px;
  30. &__logo {
  31. flex: 1 1 auto;
  32. a {
  33. display: inline-block;
  34. padding: 15px;
  35. }
  36. svg {
  37. fill: $primary-text-color;
  38. height: 20px;
  39. position: relative;
  40. bottom: -2px;
  41. }
  42. }
  43. &__icon {
  44. display: block;
  45. color: $darker-text-color;
  46. text-decoration: none;
  47. flex: 0 0 auto;
  48. font-size: 20px;
  49. padding: 15px;
  50. }
  51. a {
  52. &:hover,
  53. &:focus,
  54. &:active {
  55. background: lighten($ui-base-color, 12%);
  56. }
  57. }
  58. }
  59. .logo {
  60. display: block;
  61. margin: 40px auto;
  62. width: 100px;
  63. height: 100px;
  64. }
  65. .logo--wordmark {
  66. display: inherit;
  67. margin: inherit;
  68. width: inherit;
  69. height: 20px;
  70. }
  71. @media screen and (max-width: $no-columns-breakpoint) {
  72. & > a:first-child {
  73. display: none;
  74. }
  75. }
  76. ul {
  77. list-style: none;
  78. border-radius: 4px 0 0 4px;
  79. overflow: hidden;
  80. margin-bottom: 20px;
  81. @media screen and (max-width: $no-columns-breakpoint) {
  82. margin-bottom: 0;
  83. }
  84. a {
  85. display: block;
  86. padding: 15px;
  87. color: $darker-text-color;
  88. text-decoration: none;
  89. transition: all 200ms linear;
  90. transition-property: color, background-color;
  91. border-radius: 4px 0 0 4px;
  92. white-space: nowrap;
  93. overflow: hidden;
  94. text-overflow: ellipsis;
  95. i.fa {
  96. margin-right: 5px;
  97. }
  98. &:hover {
  99. color: $primary-text-color;
  100. background-color: darken($ui-base-color, 5%);
  101. transition: all 100ms linear;
  102. transition-property: color, background-color;
  103. }
  104. &.selected {
  105. background: darken($ui-base-color, 2%);
  106. border-radius: 4px 0 0;
  107. }
  108. }
  109. ul {
  110. background: darken($ui-base-color, 4%);
  111. border-radius: 0 0 0 4px;
  112. margin: 0;
  113. a {
  114. border: 0;
  115. padding: 15px 35px;
  116. }
  117. }
  118. .simple-navigation-active-leaf a {
  119. color: $primary-text-color;
  120. background-color: darken($ui-highlight-color, 2%);
  121. border-bottom: 0;
  122. border-radius: 0;
  123. &:hover {
  124. background-color: $ui-highlight-color;
  125. }
  126. }
  127. }
  128. & > ul > .simple-navigation-active-leaf a {
  129. border-radius: 4px 0 0 4px;
  130. }
  131. }
  132. .content-wrapper {
  133. box-sizing: border-box;
  134. width: 100%;
  135. max-width: $content-width;
  136. flex: 1 1 auto;
  137. }
  138. @media screen and (max-width: $content-width + $sidebar-width) {
  139. .sidebar-wrapper--empty {
  140. display: none;
  141. }
  142. .sidebar-wrapper {
  143. width: $sidebar-width;
  144. flex: 0 0 auto;
  145. }
  146. }
  147. @media screen and (max-width: $no-columns-breakpoint) {
  148. .sidebar-wrapper {
  149. width: 100%;
  150. }
  151. }
  152. .content {
  153. padding: 55px 15px 20px 25px;
  154. @media screen and (max-width: $no-columns-breakpoint) {
  155. max-width: none;
  156. padding: 15px;
  157. padding-top: 30px;
  158. }
  159. &-heading {
  160. display: flex;
  161. padding-bottom: 36px;
  162. border-bottom: 1px solid lighten($ui-base-color, 8%);
  163. margin: -15px -15px 40px 0;
  164. flex-wrap: wrap;
  165. align-items: center;
  166. justify-content: space-between;
  167. & > * {
  168. margin-top: 15px;
  169. margin-right: 15px;
  170. }
  171. &-actions {
  172. display: inline-flex;
  173. & > :not(:first-child) {
  174. margin-left: 5px;
  175. }
  176. }
  177. h2 small {
  178. font-size: 12px;
  179. display: block;
  180. font-weight: 500;
  181. color: $darker-text-color;
  182. line-height: 18px;
  183. }
  184. @media screen and (max-width: $no-columns-breakpoint) {
  185. border-bottom: 0;
  186. padding-bottom: 0;
  187. }
  188. }
  189. h2 {
  190. color: $secondary-text-color;
  191. font-size: 24px;
  192. line-height: 36px;
  193. font-weight: 400;
  194. @media screen and (max-width: $no-columns-breakpoint) {
  195. font-weight: 700;
  196. }
  197. }
  198. h3 {
  199. color: $secondary-text-color;
  200. font-size: 20px;
  201. line-height: 28px;
  202. font-weight: 400;
  203. margin-bottom: 30px;
  204. }
  205. h4 {
  206. text-transform: uppercase;
  207. font-size: 13px;
  208. font-weight: 700;
  209. color: $darker-text-color;
  210. padding-bottom: 8px;
  211. margin-bottom: 8px;
  212. border-bottom: 1px solid lighten($ui-base-color, 8%);
  213. }
  214. h6 {
  215. font-size: 16px;
  216. color: $secondary-text-color;
  217. line-height: 28px;
  218. font-weight: 500;
  219. }
  220. .fields-group h6 {
  221. color: $primary-text-color;
  222. font-weight: 500;
  223. }
  224. .directory__tag > a,
  225. .directory__tag > div {
  226. box-shadow: none;
  227. }
  228. .directory__tag .table-action-link .fa {
  229. color: inherit;
  230. }
  231. .directory__tag h4 {
  232. font-size: 18px;
  233. font-weight: 700;
  234. color: $primary-text-color;
  235. text-transform: none;
  236. padding-bottom: 0;
  237. margin-bottom: 0;
  238. border-bottom: 0;
  239. }
  240. & > p {
  241. font-size: 14px;
  242. line-height: 21px;
  243. color: $secondary-text-color;
  244. margin-bottom: 20px;
  245. strong {
  246. color: $primary-text-color;
  247. font-weight: 500;
  248. @each $lang in $cjk-langs {
  249. &:lang(#{$lang}) {
  250. font-weight: 700;
  251. }
  252. }
  253. }
  254. }
  255. hr {
  256. width: 100%;
  257. height: 0;
  258. border: 0;
  259. border-bottom: 1px solid rgba($ui-base-lighter-color, 0.6);
  260. margin: 20px 0;
  261. &.spacer {
  262. height: 1px;
  263. border: 0;
  264. }
  265. }
  266. }
  267. @media screen and (max-width: $no-columns-breakpoint) {
  268. display: block;
  269. .sidebar-wrapper {
  270. min-height: 0;
  271. }
  272. .sidebar {
  273. width: 100%;
  274. padding: 0;
  275. height: auto;
  276. &__toggle {
  277. display: flex;
  278. }
  279. & > ul {
  280. display: none;
  281. &.visible {
  282. display: block;
  283. }
  284. }
  285. ul a,
  286. ul ul a {
  287. border-radius: 0;
  288. border-bottom: 1px solid lighten($ui-base-color, 4%);
  289. transition: none;
  290. &:hover {
  291. transition: none;
  292. }
  293. }
  294. ul ul {
  295. border-radius: 0;
  296. }
  297. ul .simple-navigation-active-leaf a {
  298. border-bottom-color: $ui-highlight-color;
  299. }
  300. }
  301. }
  302. }
  303. hr.spacer {
  304. width: 100%;
  305. border: 0;
  306. margin: 20px 0;
  307. height: 1px;
  308. }
  309. body,
  310. .admin-wrapper .content {
  311. .muted-hint {
  312. color: $darker-text-color;
  313. a {
  314. color: $highlight-text-color;
  315. }
  316. }
  317. .positive-hint,
  318. .negative-hint,
  319. .neutral-hint {
  320. a {
  321. color: inherit;
  322. text-decoration: underline;
  323. &:focus,
  324. &:hover,
  325. &:active {
  326. text-decoration: none;
  327. }
  328. }
  329. }
  330. .positive-hint {
  331. color: $valid-value-color;
  332. font-weight: 500;
  333. }
  334. .negative-hint {
  335. color: $error-value-color;
  336. font-weight: 500;
  337. }
  338. .neutral-hint {
  339. color: $dark-text-color;
  340. font-weight: 500;
  341. }
  342. .warning-hint {
  343. color: $gold-star;
  344. font-weight: 500;
  345. }
  346. }
  347. .filters {
  348. display: flex;
  349. flex-wrap: wrap;
  350. .filter-subset {
  351. flex: 0 0 auto;
  352. margin: 0 40px 20px 0;
  353. &:last-child {
  354. margin-bottom: 30px;
  355. }
  356. ul {
  357. margin-top: 5px;
  358. list-style: none;
  359. li {
  360. display: inline-block;
  361. margin-right: 5px;
  362. }
  363. }
  364. strong {
  365. font-weight: 500;
  366. text-transform: uppercase;
  367. font-size: 12px;
  368. @each $lang in $cjk-langs {
  369. &:lang(#{$lang}) {
  370. font-weight: 700;
  371. }
  372. }
  373. }
  374. &--with-select strong {
  375. display: block;
  376. margin-bottom: 10px;
  377. }
  378. a {
  379. display: inline-block;
  380. color: $darker-text-color;
  381. text-decoration: none;
  382. text-transform: uppercase;
  383. font-size: 12px;
  384. font-weight: 500;
  385. border-bottom: 2px solid $ui-base-color;
  386. &:hover {
  387. color: $primary-text-color;
  388. border-bottom: 2px solid lighten($ui-base-color, 5%);
  389. }
  390. &.selected {
  391. color: $highlight-text-color;
  392. border-bottom: 2px solid $ui-highlight-color;
  393. }
  394. }
  395. }
  396. }
  397. .report-accounts {
  398. display: flex;
  399. flex-wrap: wrap;
  400. margin-bottom: 20px;
  401. }
  402. .report-accounts__item {
  403. display: flex;
  404. flex: 250px;
  405. flex-direction: column;
  406. margin: 0 5px;
  407. & > strong {
  408. display: block;
  409. margin: 0 0 10px -5px;
  410. font-weight: 500;
  411. font-size: 14px;
  412. line-height: 18px;
  413. color: $secondary-text-color;
  414. @each $lang in $cjk-langs {
  415. &:lang(#{$lang}) {
  416. font-weight: 700;
  417. }
  418. }
  419. }
  420. .account-card {
  421. flex: 1 1 auto;
  422. }
  423. }
  424. .report-status,
  425. .account-status {
  426. display: flex;
  427. margin-bottom: 10px;
  428. .activity-stream {
  429. flex: 2 0 0;
  430. margin-right: 20px;
  431. max-width: calc(100% - 60px);
  432. .entry {
  433. border-radius: 4px;
  434. }
  435. }
  436. }
  437. .report-status__actions,
  438. .account-status__actions {
  439. flex: 0 0 auto;
  440. display: flex;
  441. flex-direction: column;
  442. .icon-button {
  443. font-size: 24px;
  444. width: 24px;
  445. text-align: center;
  446. margin-bottom: 10px;
  447. }
  448. }
  449. .simple_form.new_report_note,
  450. .simple_form.new_account_moderation_note {
  451. max-width: 100%;
  452. }
  453. .simple_form {
  454. .actions {
  455. margin-top: 15px;
  456. }
  457. .button {
  458. font-size: 15px;
  459. }
  460. }
  461. .batch-form-box {
  462. display: flex;
  463. flex-wrap: wrap;
  464. margin-bottom: 5px;
  465. #form_status_batch_action {
  466. margin: 0 5px 5px 0;
  467. font-size: 14px;
  468. }
  469. input.button {
  470. margin: 0 5px 5px 0;
  471. }
  472. .media-spoiler-toggle-buttons {
  473. margin-left: auto;
  474. .button {
  475. overflow: visible;
  476. margin: 0 0 5px 5px;
  477. float: right;
  478. }
  479. }
  480. }
  481. .back-link {
  482. margin-bottom: 10px;
  483. font-size: 14px;
  484. a {
  485. color: $highlight-text-color;
  486. text-decoration: none;
  487. &:hover {
  488. text-decoration: underline;
  489. }
  490. }
  491. }
  492. .special-action-button,
  493. .back-link {
  494. text-align: right;
  495. flex: 1 1 auto;
  496. }
  497. .action-buttons {
  498. display: flex;
  499. overflow: hidden;
  500. justify-content: space-between;
  501. }
  502. .spacer {
  503. flex: 1 1 auto;
  504. }
  505. .log-entry {
  506. display: block;
  507. line-height: 20px;
  508. padding: 15px;
  509. padding-left: 15px * 2 + 40px;
  510. background: $ui-base-color;
  511. border-bottom: 1px solid darken($ui-base-color, 8%);
  512. position: relative;
  513. text-decoration: none;
  514. color: $darker-text-color;
  515. font-size: 14px;
  516. &:first-child {
  517. border-top-left-radius: 4px;
  518. border-top-right-radius: 4px;
  519. }
  520. &:last-child {
  521. border-bottom-left-radius: 4px;
  522. border-bottom-right-radius: 4px;
  523. border-bottom: 0;
  524. }
  525. &:hover,
  526. &:focus,
  527. &:active {
  528. background: lighten($ui-base-color, 4%);
  529. }
  530. &__avatar {
  531. position: absolute;
  532. left: 15px;
  533. top: 15px;
  534. .avatar {
  535. border-radius: 4px;
  536. width: 40px;
  537. height: 40px;
  538. }
  539. }
  540. &__title {
  541. word-wrap: break-word;
  542. }
  543. &__timestamp {
  544. color: $dark-text-color;
  545. }
  546. a,
  547. .username,
  548. .target {
  549. color: $secondary-text-color;
  550. text-decoration: none;
  551. font-weight: 500;
  552. }
  553. a {
  554. &:hover,
  555. &:focus,
  556. &:active {
  557. text-decoration: underline;
  558. }
  559. }
  560. }
  561. a.name-tag,
  562. .name-tag,
  563. a.inline-name-tag,
  564. .inline-name-tag {
  565. text-decoration: none;
  566. color: $secondary-text-color;
  567. .username {
  568. font-weight: 500;
  569. }
  570. &.suspended {
  571. .username {
  572. text-decoration: line-through;
  573. color: lighten($error-red, 12%);
  574. }
  575. .avatar {
  576. filter: grayscale(100%);
  577. opacity: 0.8;
  578. }
  579. }
  580. }
  581. a.name-tag,
  582. .name-tag {
  583. display: inline-flex;
  584. align-items: center;
  585. vertical-align: top;
  586. .avatar {
  587. display: block;
  588. margin: 0;
  589. margin-right: 5px;
  590. border-radius: 50%;
  591. }
  592. &.suspended {
  593. .avatar {
  594. filter: grayscale(100%);
  595. opacity: 0.8;
  596. }
  597. }
  598. }
  599. .speech-bubble {
  600. margin-bottom: 20px;
  601. border-left: 4px solid $ui-highlight-color;
  602. &.positive {
  603. border-left-color: $success-green;
  604. }
  605. &.negative {
  606. border-left-color: lighten($error-red, 12%);
  607. }
  608. &.warning {
  609. border-left-color: $gold-star;
  610. }
  611. &__bubble {
  612. padding: 16px;
  613. padding-left: 14px;
  614. font-size: 15px;
  615. line-height: 20px;
  616. border-radius: 4px 4px 4px 0;
  617. position: relative;
  618. font-weight: 500;
  619. a {
  620. color: $darker-text-color;
  621. }
  622. }
  623. &__owner {
  624. padding: 8px;
  625. padding-left: 12px;
  626. }
  627. time {
  628. color: $dark-text-color;
  629. }
  630. }
  631. .report-card {
  632. background: $ui-base-color;
  633. border-radius: 4px;
  634. margin-bottom: 20px;
  635. &__profile {
  636. display: flex;
  637. justify-content: space-between;
  638. align-items: center;
  639. padding: 15px;
  640. .account {
  641. padding: 0;
  642. border: 0;
  643. &__avatar-wrapper {
  644. margin-left: 0;
  645. }
  646. }
  647. &__stats {
  648. flex: 0 0 auto;
  649. font-weight: 500;
  650. color: $darker-text-color;
  651. text-transform: uppercase;
  652. text-align: right;
  653. a {
  654. color: inherit;
  655. text-decoration: none;
  656. &:focus,
  657. &:hover,
  658. &:active {
  659. color: lighten($darker-text-color, 8%);
  660. }
  661. }
  662. .red {
  663. color: $error-value-color;
  664. }
  665. }
  666. }
  667. &__summary {
  668. &__item {
  669. display: flex;
  670. justify-content: flex-start;
  671. border-top: 1px solid darken($ui-base-color, 4%);
  672. &:hover {
  673. background: lighten($ui-base-color, 2%);
  674. }
  675. &__reported-by,
  676. &__assigned {
  677. padding: 15px;
  678. flex: 0 0 auto;
  679. box-sizing: border-box;
  680. width: 150px;
  681. color: $darker-text-color;
  682. &,
  683. .username {
  684. white-space: nowrap;
  685. overflow: hidden;
  686. text-overflow: ellipsis;
  687. }
  688. }
  689. &__content {
  690. flex: 1 1 auto;
  691. max-width: calc(100% - 300px);
  692. &__icon {
  693. color: $dark-text-color;
  694. margin-right: 4px;
  695. font-weight: 500;
  696. }
  697. }
  698. &__content a {
  699. display: block;
  700. box-sizing: border-box;
  701. width: 100%;
  702. padding: 15px;
  703. text-decoration: none;
  704. color: $darker-text-color;
  705. }
  706. }
  707. }
  708. }
  709. .one-line {
  710. white-space: nowrap;
  711. overflow: hidden;
  712. text-overflow: ellipsis;
  713. }
  714. .ellipsized-ip {
  715. display: inline-block;
  716. max-width: 120px;
  717. overflow: hidden;
  718. text-overflow: ellipsis;
  719. vertical-align: middle;
  720. }
  721. .admin-account-bio {
  722. display: flex;
  723. flex-wrap: wrap;
  724. margin: 0 -5px;
  725. margin-top: 20px;
  726. > div {
  727. box-sizing: border-box;
  728. padding: 0 5px;
  729. margin-bottom: 10px;
  730. flex: 1 0 50%;
  731. max-width: 100%;
  732. }
  733. .account__header__fields,
  734. .account__header__content {
  735. background: lighten($ui-base-color, 8%);
  736. border-radius: 4px;
  737. height: 100%;
  738. }
  739. .account__header__fields {
  740. margin: 0;
  741. border: 0;
  742. a {
  743. color: $highlight-text-color;
  744. }
  745. dl:first-child .verified {
  746. border-radius: 0 4px 0 0;
  747. }
  748. .verified a {
  749. color: $valid-value-color;
  750. }
  751. }
  752. .account__header__content {
  753. box-sizing: border-box;
  754. padding: 20px;
  755. color: $primary-text-color;
  756. }
  757. }
  758. .center-text {
  759. text-align: center;
  760. }
  761. .applications-list__item,
  762. .filters-list__item {
  763. padding: 15px 0;
  764. background: $ui-base-color;
  765. border: 1px solid lighten($ui-base-color, 4%);
  766. border-radius: 4px;
  767. margin-top: 15px;
  768. }
  769. .announcements-list,
  770. .filters-list {
  771. border: 1px solid lighten($ui-base-color, 4%);
  772. border-radius: 4px;
  773. &__item {
  774. padding: 15px 0;
  775. background: $ui-base-color;
  776. border-bottom: 1px solid lighten($ui-base-color, 4%);
  777. &__title {
  778. padding: 0 15px;
  779. display: block;
  780. font-weight: 500;
  781. font-size: 18px;
  782. line-height: 1.5;
  783. color: $secondary-text-color;
  784. text-decoration: none;
  785. margin-bottom: 10px;
  786. .account-role {
  787. vertical-align: middle;
  788. }
  789. }
  790. a.announcements-list__item__title {
  791. &:hover,
  792. &:focus,
  793. &:active {
  794. color: $primary-text-color;
  795. }
  796. }
  797. &__meta {
  798. padding: 0 15px;
  799. color: $dark-text-color;
  800. }
  801. &__action-bar {
  802. display: flex;
  803. justify-content: space-between;
  804. align-items: center;
  805. }
  806. &__permissions {
  807. margin-top: 10px;
  808. }
  809. &:last-child {
  810. border-bottom: 0;
  811. }
  812. }
  813. }
  814. .filters-list__item {
  815. &__title {
  816. display: flex;
  817. justify-content: space-between;
  818. margin-bottom: 0;
  819. }
  820. &__permissions {
  821. margin-top: 0;
  822. margin-bottom: 10px;
  823. }
  824. .expiration {
  825. font-size: 13px;
  826. }
  827. &.expired {
  828. .expiration {
  829. color: lighten($error-red, 12%);
  830. }
  831. .permissions-list__item__icon {
  832. color: $dark-text-color;
  833. }
  834. }
  835. }
  836. .dashboard__counters.admin-account-counters {
  837. margin-top: 10px;
  838. }
  839. .account-badges {
  840. margin: -2px 0;
  841. }
  842. .retention {
  843. overflow: auto;
  844. > h4 {
  845. position: sticky;
  846. left: 0;
  847. }
  848. &__table {
  849. &__number {
  850. color: $secondary-text-color;
  851. padding: 10px;
  852. }
  853. &__date {
  854. white-space: nowrap;
  855. padding: 10px 0;
  856. text-align: left;
  857. min-width: 120px;
  858. &.retention__table__average {
  859. font-weight: 700;
  860. }
  861. }
  862. &__size {
  863. text-align: center;
  864. padding: 10px;
  865. }
  866. &__label {
  867. font-weight: 700;
  868. color: $darker-text-color;
  869. }
  870. &__box {
  871. box-sizing: border-box;
  872. background: $ui-highlight-color;
  873. padding: 10px;
  874. font-weight: 500;
  875. color: $primary-text-color;
  876. width: 52px;
  877. margin: 1px;
  878. @for $i from 0 through 10 {
  879. &--#{10 * $i} {
  880. background-color: rgba($ui-highlight-color, 1 * (math.div(max(1, $i), 10)));
  881. }
  882. }
  883. }
  884. }
  885. }
  886. .sparkline {
  887. display: block;
  888. text-decoration: none;
  889. background: lighten($ui-base-color, 4%);
  890. border-radius: 4px;
  891. padding: 0;
  892. position: relative;
  893. padding-bottom: 55px + 20px;
  894. overflow: hidden;
  895. &__value {
  896. display: flex;
  897. line-height: 33px;
  898. align-items: flex-end;
  899. padding: 20px;
  900. padding-bottom: 10px;
  901. &__total {
  902. display: block;
  903. margin-right: 10px;
  904. font-weight: 500;
  905. font-size: 28px;
  906. color: $primary-text-color;
  907. }
  908. &__change {
  909. display: block;
  910. font-weight: 500;
  911. font-size: 18px;
  912. color: $darker-text-color;
  913. margin-bottom: -3px;
  914. &.positive {
  915. color: $valid-value-color;
  916. }
  917. &.negative {
  918. color: $error-value-color;
  919. }
  920. }
  921. }
  922. &__label {
  923. padding: 0 20px;
  924. padding-bottom: 10px;
  925. text-transform: uppercase;
  926. color: $darker-text-color;
  927. font-weight: 500;
  928. }
  929. &__graph {
  930. position: absolute;
  931. bottom: 0;
  932. width: 100%;
  933. svg {
  934. display: block;
  935. margin: 0;
  936. }
  937. path:first-child {
  938. fill: rgba($highlight-text-color, 0.25) !important;
  939. fill-opacity: 1 !important;
  940. }
  941. path:last-child {
  942. stroke: lighten($highlight-text-color, 6%) !important;
  943. fill: none !important;
  944. }
  945. }
  946. }
  947. a.sparkline {
  948. &:hover,
  949. &:focus,
  950. &:active {
  951. background: lighten($ui-base-color, 6%);
  952. }
  953. }
  954. .skeleton {
  955. background-color: lighten($ui-base-color, 8%);
  956. background-image: linear-gradient(90deg, lighten($ui-base-color, 8%), lighten($ui-base-color, 12%), lighten($ui-base-color, 8%));
  957. background-size: 200px 100%;
  958. background-repeat: no-repeat;
  959. border-radius: 4px;
  960. display: inline-block;
  961. line-height: 1;
  962. width: 100%;
  963. animation: skeleton 1.2s ease-in-out infinite;
  964. }
  965. @keyframes skeleton {
  966. 0% {
  967. background-position: -200px 0;
  968. }
  969. 100% {
  970. background-position: calc(200px + 100%) 0;
  971. }
  972. }
  973. .dimension {
  974. table {
  975. width: 100%;
  976. }
  977. &__item {
  978. border-bottom: 1px solid lighten($ui-base-color, 4%);
  979. &__key {
  980. font-weight: 500;
  981. padding: 11px 10px;
  982. }
  983. &__value {
  984. text-align: right;
  985. color: $darker-text-color;
  986. padding: 11px 10px;
  987. }
  988. &__indicator {
  989. display: inline-block;
  990. width: 8px;
  991. height: 8px;
  992. border-radius: 50%;
  993. background: $ui-highlight-color;
  994. margin-right: 10px;
  995. @for $i from 0 through 10 {
  996. &--#{10 * $i} {
  997. background-color: rgba($ui-highlight-color, 1 * (math.div(max(1, $i), 10)));
  998. }
  999. }
  1000. }
  1001. &:last-child {
  1002. border-bottom: 0;
  1003. }
  1004. }
  1005. }
  1006. .report-reason-selector {
  1007. border-radius: 4px;
  1008. background: $ui-base-color;
  1009. margin-bottom: 20px;
  1010. &__category {
  1011. cursor: pointer;
  1012. border-bottom: 1px solid darken($ui-base-color, 8%);
  1013. &:last-child {
  1014. border-bottom: 0;
  1015. }
  1016. &__label {
  1017. padding: 15px;
  1018. }
  1019. &__rules {
  1020. margin-left: 30px;
  1021. }
  1022. }
  1023. &__rule {
  1024. cursor: pointer;
  1025. padding: 15px;
  1026. }
  1027. }
  1028. .report-header {
  1029. display: grid;
  1030. grid-gap: 15px;
  1031. grid-template-columns: minmax(0, 1fr) 300px;
  1032. &__details {
  1033. &__item {
  1034. border-bottom: 1px solid lighten($ui-base-color, 8%);
  1035. padding: 15px 0;
  1036. &:last-child {
  1037. border-bottom: 0;
  1038. }
  1039. &__header {
  1040. font-weight: 600;
  1041. padding: 4px 0;
  1042. }
  1043. }
  1044. &--horizontal {
  1045. display: grid;
  1046. grid-auto-columns: minmax(0, 1fr);
  1047. grid-auto-flow: column;
  1048. .report-header__details__item {
  1049. border-bottom: 0;
  1050. }
  1051. }
  1052. }
  1053. @media screen and (max-width: 930px) {
  1054. grid-template-columns: minmax(0, 1fr);
  1055. }
  1056. }
  1057. .account-card {
  1058. background: $ui-base-color;
  1059. border-radius: 4px;
  1060. &__permalink {
  1061. color: inherit;
  1062. text-decoration: none;
  1063. }
  1064. &__header {
  1065. padding: 4px;
  1066. border-radius: 4px;
  1067. height: 128px;
  1068. img {
  1069. display: block;
  1070. margin: 0;
  1071. width: 100%;
  1072. height: 100%;
  1073. object-fit: cover;
  1074. background: darken($ui-base-color, 8%);
  1075. }
  1076. }
  1077. &__title {
  1078. margin-top: -(15px + 8px);
  1079. display: flex;
  1080. align-items: flex-end;
  1081. &__avatar {
  1082. padding: 14px;
  1083. img,
  1084. .account__avatar {
  1085. display: block;
  1086. margin: 0;
  1087. width: 56px;
  1088. height: 56px;
  1089. background-color: darken($ui-base-color, 8%);
  1090. border-radius: 8px;
  1091. border: 1px solid $ui-base-color;
  1092. }
  1093. }
  1094. .display-name {
  1095. color: $darker-text-color;
  1096. padding-bottom: 15px;
  1097. font-size: 15px;
  1098. line-height: 20px;
  1099. bdi {
  1100. display: block;
  1101. color: $primary-text-color;
  1102. font-weight: 700;
  1103. }
  1104. }
  1105. }
  1106. &__bio {
  1107. padding: 0 15px;
  1108. margin: 8px 0;
  1109. overflow: hidden;
  1110. text-overflow: ellipsis;
  1111. word-wrap: break-word;
  1112. max-height: 21px * 2;
  1113. position: relative;
  1114. font-size: 15px;
  1115. line-height: 21px;
  1116. &::after {
  1117. display: block;
  1118. content: "";
  1119. width: 50px;
  1120. height: 21px;
  1121. position: absolute;
  1122. bottom: 0;
  1123. right: 15px;
  1124. background: linear-gradient(to left, $ui-base-color, transparent);
  1125. pointer-events: none;
  1126. }
  1127. a {
  1128. color: $secondary-text-color;
  1129. text-decoration: none;
  1130. unicode-bidi: isolate;
  1131. &:hover {
  1132. text-decoration: underline;
  1133. }
  1134. &.mention {
  1135. &:hover {
  1136. text-decoration: none;
  1137. span {
  1138. text-decoration: underline;
  1139. }
  1140. }
  1141. }
  1142. }
  1143. }
  1144. &__actions {
  1145. display: flex;
  1146. justify-content: space-between;
  1147. align-items: center;
  1148. &__button {
  1149. flex-shrink: 1;
  1150. padding: 0 15px;
  1151. overflow: hidden;
  1152. .button {
  1153. min-width: 0;
  1154. white-space: nowrap;
  1155. text-overflow: ellipsis;
  1156. overflow: hidden;
  1157. max-width: 100%;
  1158. }
  1159. }
  1160. }
  1161. &__counters {
  1162. flex: 1 1 auto;
  1163. display: grid;
  1164. grid-auto-columns: minmax(0, 1fr);
  1165. grid-auto-flow: column;
  1166. max-width: 340px;
  1167. min-width: 65px * 3;
  1168. &__item {
  1169. padding: 15px 0;
  1170. text-align: center;
  1171. color: $primary-text-color;
  1172. font-weight: 600;
  1173. font-size: 15px;
  1174. line-height: 21px;
  1175. small {
  1176. display: block;
  1177. color: $darker-text-color;
  1178. font-weight: 400;
  1179. font-size: 13px;
  1180. line-height: 18px;
  1181. }
  1182. }
  1183. }
  1184. }
  1185. .report-notes {
  1186. margin-bottom: 20px;
  1187. &__item {
  1188. background: $ui-base-color;
  1189. position: relative;
  1190. padding: 15px;
  1191. padding-left: 15px * 2 + 40px;
  1192. border-bottom: 1px solid darken($ui-base-color, 8%);
  1193. &:first-child {
  1194. border-top-left-radius: 4px;
  1195. border-top-right-radius: 4px;
  1196. }
  1197. &:last-child {
  1198. border-bottom-left-radius: 4px;
  1199. border-bottom-right-radius: 4px;
  1200. border-bottom: 0;
  1201. }
  1202. &:hover {
  1203. background-color: lighten($ui-base-color, 4%);
  1204. }
  1205. &__avatar {
  1206. position: absolute;
  1207. left: 15px;
  1208. top: 15px;
  1209. border-radius: 4px;
  1210. width: 40px;
  1211. height: 40px;
  1212. }
  1213. &__header {
  1214. color: $darker-text-color;
  1215. font-size: 15px;
  1216. line-height: 20px;
  1217. margin-bottom: 4px;
  1218. .username {
  1219. color: $primary-text-color;
  1220. font-weight: 500;
  1221. margin-right: 5px;
  1222. a {
  1223. color: inherit;
  1224. text-decoration: none;
  1225. &:hover,
  1226. &:focus,
  1227. &:active {
  1228. text-decoration: underline;
  1229. }
  1230. }
  1231. }
  1232. time {
  1233. margin-left: 5px;
  1234. vertical-align: baseline;
  1235. }
  1236. }
  1237. &__content {
  1238. font-size: 15px;
  1239. line-height: 20px;
  1240. word-wrap: break-word;
  1241. font-weight: 400;
  1242. color: $primary-text-color;
  1243. p {
  1244. margin-bottom: 20px;
  1245. white-space: pre-wrap;
  1246. unicode-bidi: plaintext;
  1247. &:last-child {
  1248. margin-bottom: 0;
  1249. }
  1250. }
  1251. }
  1252. &__actions {
  1253. position: absolute;
  1254. top: 15px;
  1255. right: 15px;
  1256. text-align: right;
  1257. }
  1258. }
  1259. }
  1260. .report-actions {
  1261. border: 1px solid darken($ui-base-color, 8%);
  1262. &__item {
  1263. display: flex;
  1264. align-items: center;
  1265. line-height: 18px;
  1266. border-bottom: 1px solid darken($ui-base-color, 8%);
  1267. &:last-child {
  1268. border-bottom: 0;
  1269. }
  1270. &__button {
  1271. box-sizing: border-box;
  1272. flex: 0 0 auto;
  1273. width: 200px;
  1274. padding: 15px;
  1275. padding-right: 0;
  1276. .button {
  1277. display: block;
  1278. width: 100%;
  1279. }
  1280. }
  1281. &__description {
  1282. padding: 15px;
  1283. font-size: 14px;
  1284. color: $dark-text-color;
  1285. }
  1286. }
  1287. @media screen and (max-width: 800px) {
  1288. border: 0;
  1289. &__item {
  1290. flex-direction: column;
  1291. border: 0;
  1292. &__button {
  1293. width: 100%;
  1294. padding: 15px 0;
  1295. }
  1296. &__description {
  1297. padding: 0;
  1298. padding-bottom: 15px;
  1299. }
  1300. }
  1301. }
  1302. }
  1303. .section-skip-link {
  1304. float: right;
  1305. a {
  1306. color: $ui-highlight-color;
  1307. text-decoration: none;
  1308. &:hover,
  1309. &:focus,
  1310. &:active {
  1311. text-decoration: underline;
  1312. }
  1313. }
  1314. }
  1315. .strike-card {
  1316. padding: 15px;
  1317. border-radius: 4px;
  1318. background: $ui-base-color;
  1319. font-size: 15px;
  1320. line-height: 20px;
  1321. word-wrap: break-word;
  1322. font-weight: 400;
  1323. color: $primary-text-color;
  1324. box-sizing: border-box;
  1325. min-height: 100%;
  1326. p {
  1327. margin-bottom: 20px;
  1328. unicode-bidi: plaintext;
  1329. &:last-child {
  1330. margin-bottom: 0;
  1331. }
  1332. strong {
  1333. font-weight: 700;
  1334. }
  1335. }
  1336. &__rules {
  1337. list-style: disc;
  1338. padding-left: 15px;
  1339. margin-bottom: 20px;
  1340. color: $darker-text-color;
  1341. &:last-child {
  1342. margin-bottom: 0;
  1343. }
  1344. &__text {
  1345. color: $primary-text-color;
  1346. }
  1347. }
  1348. &__statuses-list {
  1349. border-radius: 4px;
  1350. border: 1px solid darken($ui-base-color, 8%);
  1351. font-size: 13px;
  1352. line-height: 18px;
  1353. overflow: hidden;
  1354. &__item {
  1355. padding: 16px;
  1356. background: lighten($ui-base-color, 2%);
  1357. border-bottom: 1px solid darken($ui-base-color, 8%);
  1358. &:last-child {
  1359. border-bottom: 0;
  1360. }
  1361. &__meta {
  1362. color: $darker-text-color;
  1363. }
  1364. a {
  1365. color: inherit;
  1366. text-decoration: none;
  1367. &:hover,
  1368. &:focus,
  1369. &:active {
  1370. text-decoration: underline;
  1371. }
  1372. }
  1373. }
  1374. }
  1375. }
  1376. .availability-indicator {
  1377. display: flex;
  1378. align-items: center;
  1379. margin-bottom: 30px;
  1380. font-size: 14px;
  1381. line-height: 21px;
  1382. &__hint {
  1383. padding: 0 15px;
  1384. }
  1385. &__graphic {
  1386. display: flex;
  1387. margin: 0 -2px;
  1388. &__item {
  1389. display: block;
  1390. flex: 0 0 auto;
  1391. width: 4px;
  1392. height: 21px;
  1393. background: lighten($ui-base-color, 8%);
  1394. margin: 0 2px;
  1395. border-radius: 2px;
  1396. &.positive {
  1397. background: $valid-value-color;
  1398. }
  1399. &.negative {
  1400. background: $error-value-color;
  1401. }
  1402. }
  1403. }
  1404. }