body:has(.adminLogin) {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 24px;
  background: #eeeff2;
}

.adminLogin {
  position: relative;
  width: min(440px, calc(100vw - 48px)) !important;
  margin: 0 !important;
  padding: 54px 52px 48px !important;
  border-radius: 14px !important;
  box-shadow: 0 22px 64px rgba(1, 2, 5, .12) !important;
}

.adminLogin h1 {
  margin: 20px 0 30px;
  font-size: clamp(30px, 3vw, 40px);
  letter-spacing: -.035em;
  text-align: center;
}

.adminLogin input {
  width: 100%;
}

.adminLogin > .primary,
.adminLogin > button:not(.adminBackButton) {
  width: 100%;
}

.adminBackButton {
  position: absolute;
  top: 18px;
  left: 18px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  width: auto !important;
  min-height: 34px;
  padding: 0 9px !important;
  border: 1px solid #d4d5d7 !important;
  border-radius: 5px !important;
  background: #fff !important;
  color: #010205 !important;
  font-size: 12px;
  font-weight: 600;
  box-shadow: none !important;
  transition: background-color .18s ease, border-color .18s ease,
              transform .18s ease, box-shadow .18s ease !important;
}

.adminBackButton svg {
  width: 15px;
  height: 15px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.adminBackButton:hover,
.adminBackButton:focus-visible {
  background: #f2f2f0 !important;
  border-color: #010205 !important;
  transform: translateX(-1px);
  outline: none;
}

@media (max-width: 560px) {
  body:has(.adminLogin) {
    padding: 16px;
  }
  .adminLogin {
    width: 100% !important;
    padding: 54px 26px 34px !important;
  }
}
