.guru-fv-google-auth {
  width: 100%;
  margin: 0 0 1rem;
  padding: 1rem;
  border: 1px solid #e2e5e9;
  border-radius: .45rem;
  background: #fff;
  text-align: center;
}
.guru-fv-google-auth__button {
  display: flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
}
.guru-fv-google-auth__status {
  margin-top: .65rem;
  color: #5e6670;
  font-size: .82rem;
  line-height: 1.45;
}
.guru-fv-google-auth__status.is-error {
  padding: .55rem .7rem;
  border: 1px solid #f1b9bf;
  border-radius: .35rem;
  background: #fff5f6;
  color: #b32636;
}
.guru-fv-google-auth__divider {
  display: flex;
  align-items: center;
  gap: .75rem;
  margin-top: .9rem;
  color: #858b94;
  font-size: .76rem;
}
.guru-fv-google-auth__divider::before,
.guru-fv-google-auth__divider::after {
  content: "";
  height: 1px;
  flex: 1 1 auto;
  background: #e2e5e9;
}
.guru-fv-google-auth__divider span { flex: 0 0 auto; }

.guru-fv-google-modal {
  position: fixed;
  z-index: 100000;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  background: rgba(24, 28, 34, .58);
}
.guru-fv-google-modal__dialog {
  position: relative;
  width: 100%;
  max-width: 520px;
  max-height: calc(100vh - 2rem);
  overflow: auto;
  padding: 1.5rem;
  border-radius: .65rem;
  background: #fff;
  box-shadow: 0 1rem 3rem rgba(0, 0, 0, .22);
  color: #343a40;
}
.guru-fv-google-modal__close {
  position: absolute;
  top: .65rem;
  right: .7rem;
  width: 2.2rem;
  height: 2.2rem;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: #6c757d;
  font-size: 1.6rem;
  line-height: 1;
  cursor: pointer;
}
.guru-fv-google-modal__close:hover,
.guru-fv-google-modal__close:focus { background: #f1f3f5; color: #343a40; }
.guru-fv-google-modal__mark {
  display: flex;
  width: 2.75rem;
  height: 2.75rem;
  align-items: center;
  justify-content: center;
  margin-bottom: .8rem;
  border: 1px solid #dadce0;
  border-radius: 50%;
  background: #fff;
  color: #2f7d45;
  font: 700 1.3rem Arial, sans-serif;
}
.guru-fv-google-modal h3 { margin: 0 2.2rem .6rem 0; font-size: 1.15rem; }
.guru-fv-google-modal__intro { margin: 0 0 1rem; color: #626a73; font-size: .88rem; line-height: 1.5; }
.guru-fv-google-modal label { display: block; margin-bottom: .35rem; font-weight: 650; }
.guru-fv-google-modal label span { color: #dc3545; }
.guru-fv-google-modal input[type="password"] {
  width: 100%;
  min-height: 2.75rem;
  padding: .55rem .7rem;
  border: 1px solid #c8cdd3;
  border-radius: .35rem;
  background: #fff;
}
.guru-fv-google-modal input[type="password"]:focus {
  border-color: #6f42c1;
  outline: 0;
  box-shadow: 0 0 0 .18rem rgba(111, 66, 193, .14);
}
.guru-fv-google-modal__error {
  margin-top: .65rem;
  padding: .55rem .7rem;
  border: 1px solid #f1b9bf;
  border-radius: .35rem;
  background: #fff5f6;
  color: #b32636;
  font-size: .8rem;
}
.guru-fv-google-modal__note { margin: .7rem 0 0; color: #7c838b; font-size: .74rem; line-height: 1.45; }
.guru-fv-google-modal__actions { display: flex; justify-content: flex-end; gap: .55rem; margin-top: 1.1rem; }
.guru-fv-google-modal__cancel,
.guru-fv-google-modal__submit {
  min-height: 2.45rem;
  padding: .5rem .85rem;
  border-radius: .38rem;
  font-weight: 650;
  cursor: pointer;
}
.guru-fv-google-modal__cancel { border: 1px solid #cdd2d7; background: #fff; color: #495057; }
.guru-fv-google-modal__submit { border: 1px solid #6f42c1; background: #6f42c1; color: #fff; }
.guru-fv-google-modal__submit:disabled { opacity: .6; cursor: wait; }

@media (max-width: 575.98px) {
  .guru-fv-google-auth { padding: .8rem .5rem; }
  .guru-fv-google-modal { align-items: flex-end; padding: .5rem; }
  .guru-fv-google-modal__dialog { max-height: calc(100vh - 1rem); padding: 1.15rem; }
  .guru-fv-google-modal__actions { flex-direction: column-reverse; }
  .guru-fv-google-modal__cancel,
  .guru-fv-google-modal__submit { width: 100%; }
}
