:root {
  --gs-ink: #151515;
  --gs-paper: #f4f1eb;
  --gs-white: #fff;
  --gs-line: #d9d5ce;
  --gs-muted: #6f6b65;
  --gs-blue: #1847f5;
  --gs-blue-dark: #1238c5;
  --gs-cyan: #01d6fe;
  --gs-lime: #d9ff57;
  --gs-red: #b42318;
  --gs-green: #167553;
  --gs-radius: 18px;
}
* {
  box-sizing: border-box;
}
html {
  background: var(--gs-paper);
  color: var(--gs-ink);
  font-family:
    Manrope,
    "Segoe UI",
    system-ui,
    -apple-system,
    sans-serif;
}
body {
  margin: 0;
  min-height: 100vh;
}
.gs-account a {
  color: inherit;
}
.gs-account button,
.gs-account input {
  font: inherit;
}
.gs-account-skip {
  position: fixed;
  top: 8px;
  left: 8px;
  z-index: 20;
  transform: translateY(-150%);
  background: #fff;
  padding: 10px 14px;
  border: 2px solid var(--gs-blue);
  border-radius: 9px;
}
.gs-account-skip:focus {
  transform: none;
}
.gs-account-shell {
  width: 100%;
  min-height: 100vh;
  display: grid;
  grid-template-columns: minmax(330px, 42%) minmax(0, 1fr);
  background: var(--gs-white);
}
.gs-account-brand {
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  padding: 44px clamp(34px, 5vw, 78px);
  background: var(--gs-ink);
  color: #fff;
}
.gs-account-brand:before {
  content: "";
  position: absolute;
  right: -110px;
  bottom: 10%;
  width: 330px;
  height: 330px;
  border: 1px solid rgba(1, 214, 254, 0.34);
  border-radius: 50%;
  animation: gs-auth-orbit 16s linear infinite;
}
.gs-account-brand:after {
  content: "";
  position: absolute;
  right: 24px;
  bottom: calc(10% + 150px);
  width: 16px;
  height: 16px;
  background: var(--gs-lime);
  border-radius: 50%;
  box-shadow: 0 0 0 12px rgba(217, 255, 87, 0.08);
  animation: gs-auth-float 5s ease-in-out infinite;
}
.gs-account-logo {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  width: max-content;
  text-decoration: none;
  font-size: 20px;
  font-weight: 800;
  letter-spacing: -0.04em;
}
.gs-account-logo img {
  display: block;
}
.gs-account-logo > span > span,
.gs-account-mobile-logo span {
  color: var(--gs-cyan);
}
.gs-account-brand-copy {
  position: relative;
  z-index: 1;
  margin: auto 0 30px;
  max-width: 560px;
}
.gs-account-kicker,
.gs-account-heading > p,
.gs-shops-section-head p,
.gs-pairing-head p {
  margin: 0 0 12px;
  color: var(--gs-cyan);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
.gs-account-brand-copy h1 {
  max-width: 600px;
  margin: 0;
  font-family: Newsreader, Georgia, serif;
  font-size: clamp(42px, 5vw, 76px);
  font-weight: 400;
  line-height: 0.96;
  letter-spacing: -0.045em;
}
.gs-account-brand-copy > p:last-child {
  max-width: 540px;
  margin: 26px 0 0;
  color: #bbb;
  font-size: 16px;
  line-height: 1.7;
}
.gs-account-signal {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 8px;
  width: max-content;
  margin: 0 0 32px;
  padding: 11px 14px;
  border: 1px solid #3a3a3a;
  border-radius: 999px;
  background: #202020;
  color: #d8d8d8;
  font-size: 12px;
}
.gs-account-signal span {
  display: block;
  width: 5px;
  border-radius: 5px;
  background: var(--gs-cyan);
  animation: gs-auth-bars 1.9s ease-in-out infinite;
}
.gs-account-signal span:nth-child(1) {
  height: 8px;
}
.gs-account-signal span:nth-child(2) {
  height: 15px;
  animation-delay: -0.35s;
}
.gs-account-signal span:nth-child(3) {
  height: 11px;
  animation-delay: -0.7s;
}
.gs-account-signal span:nth-child(4) {
  height: 18px;
  animation-delay: -1.05s;
  background: var(--gs-lime);
}
.gs-account-signal b {
  margin-left: 4px;
  font-weight: 700;
}
.gs-account-proof {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.gs-account-proof li {
  display: grid;
  grid-template-columns: 34px 1fr;
  gap: 11px;
  align-items: start;
  color: #b9b9b9;
  font-size: 13px;
  line-height: 1.45;
}
.gs-account-proof strong {
  color: var(--gs-lime);
  font-size: 11px;
  letter-spacing: 0.08em;
}
.gs-account-brand-foot {
  position: relative;
  z-index: 1;
  margin: 32px 0 0;
  color: #777;
  font-size: 11px;
}
.gs-account-content {
  width: min(690px, 100%);
  margin: auto;
  padding: clamp(32px, 6vw, 82px);
}
.gs-account-heading {
  margin-bottom: 30px;
}
.gs-account-heading > p {
  color: var(--gs-blue);
  margin-bottom: 9px;
}
.gs-account-heading h2 {
  margin: 0;
  font-size: clamp(30px, 4vw, 48px);
  line-height: 1.05;
  letter-spacing: -0.045em;
}
.gs-account-heading > span {
  display: block;
  max-width: 590px;
  margin-top: 13px;
  color: var(--gs-muted);
  font-size: 15px;
  line-height: 1.6;
}
.gs-account-mobile-logo {
  display: none;
}
.gs-account-alert {
  display: grid;
  grid-template-columns: 26px 1fr;
  gap: 10px;
  align-items: start;
  margin: 0 0 20px;
  padding: 13px 14px;
  border: 1px solid;
  border-radius: 12px;
  font-size: 13px;
  line-height: 1.5;
}
.gs-account-alert span {
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  font-weight: 900;
}
.gs-account-alert p {
  margin: 0;
}
.gs-account-alert--error {
  border-color: #efb8b1;
  background: #fff5f3;
  color: #7d1d15;
}
.gs-account-alert--error span {
  background: #fbd5d0;
}
.gs-account-alert--success {
  border-color: #aadbc8;
  background: #f1fbf7;
  color: #0f6146;
}
.gs-account-alert--success span {
  background: #ccefe1;
}
.gs-account-form {
  display: grid;
  gap: 18px;
}
.gs-account-field {
  display: grid;
  gap: 8px;
  color: #2a2927;
  font-size: 13px;
  font-weight: 700;
}
.gs-account-field > span:first-child,
.gs-account-label-row {
  min-height: 18px;
}
.gs-account-field small {
  color: var(--gs-muted);
  font-weight: 500;
}
.gs-account-label-row {
  display: flex;
  justify-content: space-between;
  gap: 12px;
}
.gs-account-label-row a {
  color: var(--gs-blue);
  font-size: 12px;
  text-decoration: none;
}
.gs-account-field input {
  width: 100%;
  min-height: 50px;
  border: 1px solid #c8c3bb;
  border-radius: 11px;
  background: #fff;
  padding: 0 14px;
  color: var(--gs-ink);
  outline: 0;
  transition:
    border-color 0.18s,
    box-shadow 0.18s;
}
.gs-account-field input:hover {
  border-color: #aaa39a;
}
.gs-account-field input:focus {
  border-color: var(--gs-blue);
  box-shadow: 0 0 0 4px rgba(24, 71, 245, 0.12);
}
.gs-account-field-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
.gs-account-password {
  position: relative;
  display: block;
}
.gs-account-password input {
  padding-right: 72px;
}
.gs-account-password button {
  position: absolute;
  right: 6px;
  top: 6px;
  min-width: 58px;
  min-height: 38px;
  border: 0;
  border-radius: 8px;
  background: #f1efeb;
  color: #4f4b46;
  cursor: pointer;
  font-size: 11px;
  font-weight: 800;
}
.gs-account-hint {
  margin: -8px 0 0;
  color: var(--gs-muted);
  font-size: 11px;
  line-height: 1.5;
}
.gs-account-check {
  display: grid;
  grid-template-columns: 20px 1fr;
  gap: 10px;
  align-items: start;
  color: #4f4b46;
  font-size: 12px;
  line-height: 1.5;
}
.gs-account-check input {
  width: 18px;
  height: 18px;
  margin: 1px 0 0;
  accent-color: var(--gs-blue);
}
.gs-account-check a {
  font-weight: 700;
}
.gs-account-primary,
.gs-account-secondary {
  min-height: 50px;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  border: 0;
  border-radius: 11px;
  padding: 0 18px;
  text-decoration: none;
  cursor: pointer;
  font-weight: 800;
}
.gs-account-primary {
  width: 100%;
  background: var(--gs-ink);
  color: #fff;
}
.gs-account-primary:hover {
  background: var(--gs-blue);
}
.gs-account-primary span {
  color: var(--gs-cyan);
  font-size: 20px;
}
.gs-account-primary:disabled,
.gs-account-secondary:disabled {
  cursor: wait;
  opacity: 0.65;
}
.gs-account-secondary {
  background: var(--gs-blue);
  color: #fff;
}
.gs-account-secondary:hover {
  background: var(--gs-blue-dark);
}
.gs-account-secondary span {
  color: var(--gs-lime);
}
.gs-account-switch {
  margin: 22px 0 0;
  text-align: center;
  color: var(--gs-muted);
  font-size: 13px;
}
.gs-account-switch a {
  color: var(--gs-blue);
  font-weight: 800;
  text-decoration: none;
}
.gs-account-note {
  display: grid;
  gap: 5px;
  margin-top: 28px;
  padding: 15px 16px;
  border-left: 4px solid var(--gs-cyan);
  background: #f2f9fb;
  font-size: 12px;
  line-height: 1.5;
}
.gs-account-note span {
  color: #5f6668;
}
.gs-account-note--lime {
  border-left-color: var(--gs-lime);
  background: #f8fce9;
}
.gs-account-complete {
  display: grid;
  justify-items: start;
  padding: 25px;
  border: 1px solid var(--gs-line);
  border-radius: var(--gs-radius);
  background: #fff;
}
.gs-account-complete > span {
  display: grid;
  place-items: center;
  min-width: 44px;
  height: 44px;
  padding: 0 10px;
  border-radius: 11px;
  background: var(--gs-lime);
  font-weight: 900;
}
.gs-account-complete h3 {
  margin: 18px 0 7px;
  font-size: 20px;
}
.gs-account-complete p {
  margin: 0 0 20px;
  color: var(--gs-muted);
  font-size: 14px;
  line-height: 1.6;
}
.gs-account-complete--expired > span {
  background: #f5d5d1;
  color: var(--gs-red);
}
.gs-account-legal {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 16px;
  margin-top: 34px;
  color: #8a857e;
  font-size: 11px;
}
.gs-account-legal a {
  text-decoration: none;
}
.gs-account--workspace .gs-account-shell {
  width: min(1440px, 100%);
  margin: 0 auto;
  grid-template-columns: minmax(310px, 32%) minmax(0, 1fr);
}
.gs-account--workspace .gs-account-brand {
  padding-inline: clamp(28px, 4vw, 56px);
}
.gs-account--workspace .gs-account-brand-copy h1 {
  font-size: clamp(39px, 4vw, 62px);
}
.gs-account--workspace .gs-account-content {
  width: min(920px, 100%);
  padding-inline: clamp(26px, 5vw, 72px);
}
.gs-account-userbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin: -8px 0 30px;
  padding: 14px 16px;
  border: 1px solid var(--gs-line);
  border-radius: 13px;
  background: #faf9f7;
}
.gs-account-userbar div {
  min-width: 0;
}
.gs-account-userbar span,
.gs-account-userbar strong {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.gs-account-userbar span {
  font-size: 11px;
  color: var(--gs-muted);
}
.gs-account-userbar strong {
  margin-top: 2px;
  font-size: 13px;
}
.gs-account-userbar button {
  border: 0;
  background: transparent;
  color: var(--gs-blue);
  cursor: pointer;
  font-size: 12px;
  font-weight: 800;
}
.gs-shops-section,
.gs-pairing {
  padding: 24px;
  border: 1px solid var(--gs-line);
  border-radius: var(--gs-radius);
  background: #fff;
}
.gs-shops-section-head,
.gs-pairing-head {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 18px;
}
.gs-shops-section-head p,
.gs-pairing-head p {
  margin-bottom: 5px;
  color: var(--gs-blue);
}
.gs-shops-section-head h3,
.gs-pairing-head h3 {
  margin: 0;
  font-size: 20px;
  letter-spacing: -0.025em;
}
.gs-shops-count {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: var(--gs-lime);
  font-size: 15px;
  font-weight: 900;
}
.gs-shops-empty {
  display: grid;
  grid-template-columns: 52px 1fr;
  gap: 15px;
  align-items: center;
  padding: 20px;
  background: #f5f3ef;
  border-radius: 13px;
}
.gs-shops-empty > span {
  color: var(--gs-blue);
  font-weight: 900;
}
.gs-shops-empty strong,
.gs-shops-empty p {
  display: block;
  margin: 0;
}
.gs-shops-empty p {
  margin-top: 4px;
  color: var(--gs-muted);
  font-size: 12px;
  line-height: 1.5;
}
.gs-shop-list {
  display: grid;
  gap: 10px;
}
.gs-shop-card {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) auto;
  align-items: center;
  gap: 13px;
  padding: 12px;
  border: 1px solid #e4e0da;
  border-radius: 12px;
}
.gs-shop-card.is-active {
  border-color: var(--gs-blue);
  box-shadow: inset 3px 0 var(--gs-blue);
}
.gs-shop-icon {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 10px;
  background: var(--gs-ink);
  color: var(--gs-cyan);
  font-weight: 900;
}
.gs-shop-copy {
  min-width: 0;
}
.gs-shop-copy strong,
.gs-shop-copy span {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.gs-shop-copy strong {
  font-size: 13px;
}
.gs-shop-copy span {
  margin-top: 3px;
  color: var(--gs-muted);
  font-size: 11px;
}
.gs-shop-card form button {
  min-height: 38px;
  border: 0;
  border-radius: 9px;
  background: #efede8;
  padding: 0 12px;
  cursor: pointer;
  font-size: 11px;
  font-weight: 800;
}
.gs-shop-card form button:hover {
  background: var(--gs-blue);
  color: #fff;
}
.gs-shop-card form button span {
  color: var(--gs-blue);
}
.gs-shop-card form button:hover span {
  color: var(--gs-lime);
}
.gs-shop-offline {
  max-width: 130px;
  color: #8c4e16;
  font-size: 10px;
  line-height: 1.35;
  text-align: right;
}
.gs-pairing {
  margin-top: 18px;
}
.gs-pairing-head > span {
  padding: 7px 10px;
  border: 1px solid var(--gs-line);
  border-radius: 999px;
  color: var(--gs-muted);
  font-size: 11px;
  font-weight: 800;
}
.gs-pairing-steps {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin: 0 0 20px;
  padding: 0;
  list-style: none;
}
.gs-pairing-steps li {
  display: grid;
  grid-template-columns: 26px 1fr;
  gap: 9px;
  padding: 12px;
  background: #f5f3ef;
  border-radius: 11px;
}
.gs-pairing-steps b {
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: var(--gs-ink);
  color: var(--gs-cyan);
  font-size: 10px;
}
.gs-pairing-steps strong,
.gs-pairing-steps small {
  display: block;
}
.gs-pairing-steps strong {
  font-size: 11px;
  line-height: 1.4;
}
.gs-pairing-steps small {
  margin-top: 4px;
  color: var(--gs-muted);
  font-size: 10px;
  line-height: 1.45;
}
.gs-pairing-code {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  margin-bottom: 18px;
  padding: 16px;
  border: 2px solid var(--gs-blue);
  border-radius: 13px;
  background: #f6f8ff;
}
.gs-pairing-code > div {
  min-width: 0;
}
.gs-pairing-code span,
.gs-pairing-code code {
  display: block;
}
.gs-pairing-code span {
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--gs-blue);
}
.gs-pairing-code code {
  overflow: hidden;
  margin-top: 6px;
  text-overflow: ellipsis;
  color: #1f2b65;
  font:
    700 12px/1.5 ui-monospace,
    SFMono-Regular,
    Menlo,
    monospace;
}
.gs-pairing-code button {
  min-height: 42px;
  align-self: center;
  border: 0;
  border-radius: 9px;
  background: var(--gs-ink);
  color: #fff;
  padding: 0 14px;
  cursor: pointer;
  font-size: 11px;
  font-weight: 800;
}
.gs-pairing-code p {
  grid-column: 1/-1;
  margin: 0;
  color: var(--gs-muted);
  font-size: 10px;
}
.gs-pairing-pending,
.gs-pairing-done {
  display: grid;
  grid-template-columns: 34px 1fr;
  gap: 12px;
  align-items: start;
  margin-bottom: 18px;
  padding: 14px;
  border-radius: 12px;
}
.gs-pairing-pending {
  background: #eef7fa;
}
.gs-pairing-done {
  background: #eef9f3;
}
.gs-pairing-pending strong,
.gs-pairing-done strong,
.gs-pairing-pending p,
.gs-pairing-done p {
  display: block;
  margin: 0;
}
.gs-pairing-pending p,
.gs-pairing-done p {
  margin-top: 3px;
  color: var(--gs-muted);
  font-size: 11px;
  line-height: 1.45;
}
.gs-pairing-spinner {
  width: 27px;
  height: 27px;
  border: 3px solid #c2e5ed;
  border-top-color: var(--gs-blue);
  border-radius: 50%;
  animation: gs-auth-spin 1s linear infinite;
}
.gs-pairing-done > span {
  display: grid;
  place-items: center;
  width: 27px;
  height: 27px;
  border-radius: 50%;
  background: var(--gs-lime);
  font-weight: 900;
}
.gs-pairing-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: end;
}
.gs-pairing-form .gs-account-secondary {
  white-space: nowrap;
}
.gs-account-support-box {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-top: 18px;
  padding: 18px 20px;
  border-radius: 14px;
  background: var(--gs-ink);
  color: #fff;
}
.gs-account-support-box strong,
.gs-account-support-box p {
  display: block;
  margin: 0;
}
.gs-account-support-box p {
  margin-top: 4px;
  color: #aaa;
  font-size: 11px;
  line-height: 1.5;
}
.gs-account-support-box a {
  flex: 0 0 auto;
  color: var(--gs-lime);
  font-size: 11px;
  font-weight: 800;
  text-decoration: none;
}
@keyframes gs-auth-orbit {
  to {
    transform: rotate(360deg);
  }
}
@keyframes gs-auth-float {
  0%,
  100% {
    transform: translateY(-12px);
  }
  50% {
    transform: translateY(14px);
  }
}
@keyframes gs-auth-bars {
  0%,
  100% {
    transform: scaleY(0.55);
    opacity: 0.55;
  }
  50% {
    transform: scaleY(1);
    opacity: 1;
  }
}
@keyframes gs-auth-spin {
  to {
    transform: rotate(360deg);
  }
}
@media (max-width: 860px) {
  .gs-account-shell,
  .gs-account--workspace .gs-account-shell {
    display: block;
    background: var(--gs-paper);
  }
  .gs-account-brand {
    display: none;
  }
  .gs-account-content,
  .gs-account--workspace .gs-account-content {
    width: min(680px, 100%);
    min-height: 100vh;
    margin: 0 auto;
    padding: 26px 20px 38px;
  }
  .gs-account-mobile-logo {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 42px;
    font-size: 17px;
  }
  .gs-account-heading h2 {
    font-size: 36px;
  }
  .gs-account-form {
    padding: 24px;
    border: 1px solid var(--gs-line);
    border-radius: var(--gs-radius);
    background: #fff;
  }
  .gs-shops-section,
  .gs-pairing,
  .gs-account-userbar {
    background: #fff;
  }
  .gs-account-legal {
    padding-bottom: 10px;
  }
}
@media (max-width: 620px) {
  .gs-account-content,
  .gs-account--workspace .gs-account-content {
    padding-inline: 16px;
  }
  .gs-account-form {
    padding: 20px;
  }
  .gs-account-heading {
    margin-bottom: 24px;
  }
  .gs-account-heading h2 {
    font-size: 32px;
  }
  .gs-account-field-grid,
  .gs-pairing-form {
    grid-template-columns: 1fr;
  }
  .gs-pairing-steps {
    grid-template-columns: 1fr;
  }
  .gs-shop-card {
    grid-template-columns: 42px minmax(0, 1fr);
  }
  .gs-shop-card form,
  .gs-shop-offline {
    grid-column: 1/-1;
  }
  .gs-shop-card form button {
    width: 100%;
    min-height: 44px;
  }
  .gs-shop-offline {
    max-width: none;
    text-align: left;
  }
  .gs-pairing-code {
    grid-template-columns: 1fr;
  }
  .gs-pairing-code button {
    width: 100%;
  }
  .gs-account-support-box {
    align-items: flex-start;
    flex-direction: column;
  }
  .gs-account-userbar {
    align-items: flex-start;
  }
  .gs-shops-section,
  .gs-pairing {
    padding: 18px;
  }
  .gs-account-primary,
  .gs-account-secondary {
    min-height: 52px;
  }
}
@media (prefers-reduced-motion: reduce) {
  *,
  *:before,
  *:after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
