.ws-metrics {
  grid-template-columns: repeat(3, 1fr);
}

.ws-service,
.ws-mega-service {
  text-decoration: none;
}

body.ws-auth-open { overflow: hidden; }
.ws-auth-modal { align-items: center; }
.ws-auth-modal .ws-modal-box { width: min(560px, calc(100vw - 24px)); height: min(760px, calc(100vh - 24px)); padding: 0; overflow: hidden; }
.ws-auth-frame { display: block; width: 100%; height: 100%; border: 0; background: #fff; }
.ws-auth-modal .ws-modal-close { z-index: 2; width: 38px; height: 38px; border-radius: 50%; background: #fff; box-shadow: 0 4px 18px rgba(15, 30, 72, .18); line-height: 1; }
.ws-notice.ws-toast { position: fixed; right: 22px; bottom: 22px; z-index: 10050; width: min(390px, calc(100vw - 32px)); margin: 0; padding: 16px 18px; border: 1px solid #f3c7ca; box-shadow: 0 18px 45px rgba(36, 22, 24, .2); animation: ws-toast-in .22s ease-out; }
@keyframes ws-toast-in { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: translateY(0); } }

@media (max-width: 580px) {
  .ws-metrics {
    grid-template-columns: 1fr;
  }

  .ws-offers-table {
    min-width: 650px;
  }
}

.ws-global-market {
  margin-top: 24px;
  overflow: hidden;
  border: 1px solid #dfe5f1;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 18px 48px rgba(25, 46, 103, .07);
}

.ws-global-market[hidden] {
  display: none;
}

.ws-global-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 24px 27px;
  background: linear-gradient(110deg, #f7fbff, #f3f6ff);
  border-bottom: 1px solid #e5e9f2;
}

.ws-global-head > div:first-child > span {
  display: block;
  margin-bottom: 5px;
  color: #3157d5;
  font-size: 12px;
  font-weight: 900;
}

.ws-global-head h3 {
  margin: 0 0 7px;
  color: #18233e;
  font-size: 23px;
  font-weight: 950;
}

.ws-global-head p,
.ws-global-note {
  margin: 0;
  color: #6c7896;
  font-size: 12px;
}

.ws-global-tabs {
  display: flex;
  gap: 7px;
  padding: 5px;
  border: 1px solid #dce3f1;
  border-radius: 13px;
  background: #fff;
}

.ws-global-tabs button {
  border: 0;
  border-radius: 9px;
  padding: 10px 13px;
  background: transparent;
  color: #52607c;
  font: inherit;
  font-size: 12px;
  font-weight: 900;
  cursor: pointer;
}

.ws-global-tabs button.active {
  background: #3157d5;
  color: #fff;
}

.ws-global-summary {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding: 19px 27px 11px;
}

.ws-global-summary strong {
  color: #1b2846;
  font-size: 17px;
}

.ws-global-summary span {
  color: #3157d5;
  font-size: 12px;
}

.ws-global-offers {
  display: grid;
  gap: 8px;
  padding: 0 27px 18px;
}

.ws-global-offers article {
  position: relative;
  display: grid;
  grid-template-columns: 34px minmax(190px, 1.5fr) repeat(3, minmax(100px, 1fr)) auto;
  align-items: center;
  gap: 13px;
  min-width: 0;
  padding: 13px 14px;
  border: 1px solid #e4e8f1;
  border-radius: 14px;
  background: #fbfcff;
}

.ws-global-offers article.ws-global-best {
  border-color: #bfe3d2;
  background: #effaf5;
}

.ws-global-rank {
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  border-radius: 9px;
  background: #e9eeff;
  color: #3157d5;
  font-weight: 950;
}

.ws-global-country {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.ws-global-country > i {
  display: grid;
  width: 36px;
  height: 36px;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 11px;
  background: #e8efff;
  color: #3157d5;
}

.ws-global-country div,
.ws-global-stat {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 3px;
}

.ws-global-country strong,
.ws-global-stat strong {
  overflow: hidden;
  color: #17223d;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ws-global-country span,
.ws-global-stat small {
  color: #7b859d;
  font-size: 10px;
}

.ws-global-choose {
  border: 0;
  border-radius: 10px;
  padding: 10px 13px;
  background: #3157d5;
  color: #fff;
  font: inherit;
  font-size: 12px;
  font-weight: 900;
  cursor: pointer;
}

.ws-global-best-label {
  position: absolute;
  top: -7px;
  left: 13px;
  padding: 2px 8px;
  border-radius: 10px;
  background: #16865c;
  color: #fff;
  font-size: 9px;
  font-weight: 900;
}

.ws-global-loading {
  padding: 34px;
  text-align: center;
  color: #66738f;
}

.ws-global-note {
  padding: 0 27px 22px;
}

.ws-recent-successes {
  padding: 58px 0;
  background: #f6f8fd;
}

.ws-success-feed {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}

.ws-success-feed article {
  display: grid;
  grid-template-columns: 42px 1fr auto;
  align-items: center;
  gap: 12px;
  padding: 16px;
  border: 1px solid #e1e7f0;
  border-radius: 15px;
  background: #fff;
}

.ws-success-feed article > i {
  display: grid;
  width: 40px;
  height: 40px;
  place-items: center;
  border-radius: 50%;
  background: #e4f8ee;
  color: #15915f;
  font-size: 18px;
}

.ws-success-feed article > div {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 3px;
}

.ws-success-feed strong {
  color: #17223d;
  font-size: 16px;
}

.ws-success-feed span,
.ws-success-feed small,
.ws-success-privacy {
  color: #77829a;
  font-size: 11px;
}

.ws-success-privacy {
  margin: 15px 0 0;
}

@media (max-width: 900px) {
  .ws-global-head {
    align-items: stretch;
    flex-direction: column;
  }

  .ws-global-tabs button {
    flex: 1;
  }

  .ws-global-offers article {
    grid-template-columns: 34px minmax(170px, 1.5fr) repeat(3, 1fr);
  }

  .ws-global-choose {
    grid-column: 2 / -1;
  }
}

@media (max-width: 580px) {
  .ws-global-head,
  .ws-global-summary {
    padding-inline: 17px;
  }

  .ws-global-tabs,
  .ws-global-summary {
    flex-direction: column;
  }

  .ws-global-offers {
    padding-inline: 17px;
  }

  .ws-global-offers article {
    grid-template-columns: repeat(3, 1fr);
    gap: 12px 7px;
  }

  .ws-global-rank {
    position: absolute;
    top: 13px;
    left: 13px;
  }

  .ws-global-country {
    grid-column: 1 / -1;
    padding-left: 36px;
  }

  .ws-global-stat {
    text-align: center;
  }

  .ws-global-choose {
    grid-column: 1 / -1;
  }

  .ws-global-note {
    padding-inline: 17px;
  }

  .ws-success-feed {
    grid-template-columns: 1fr;
  }

  .ws-success-feed article {
    grid-template-columns: 38px 1fr auto;
    padding: 13px;
  }
}
