.passport-page {
  min-height: 100vh;
  background: #f4f8ff;
}

.passport-page__body {
  padding: 28rpx;
}

.passport-state {
  display: block;
  margin-bottom: 18rpx;
  color: #667085;
  font-size: 24rpx;
}

.passport-state.is-error {
  color: #dc2626;
}

.passport-card,
.passport-link {
  padding: 28rpx;
  border: 1rpx solid #d7e2f1;
  border-radius: 18rpx;
  background: #ffffff;
}

.passport-card__label {
  display: block;
  color: #667085;
  font-size: 24rpx;
}

.passport-card__id {
  display: block;
  margin-top: 14rpx;
  color: #123e7c;
  font-size: 44rpx;
  font-weight: 950;
  word-break: break-all;
}

.passport-card__hint {
  display: block;
  margin-top: 14rpx;
  color: #4b5563;
  font-size: 25rpx;
  line-height: 1.6;
}

.passport-code {
  margin-top: 24rpx;
  min-height: 180rpx;
  padding: 22rpx;
  border-radius: 14rpx;
  background: #f8fafc;
  color: #111827;
  font-size: 23rpx;
  line-height: 1.6;
  word-break: break-all;
}

.passport-actions {
  margin-top: 24rpx;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16rpx;
}

.passport-btn {
  height: 78rpx;
  line-height: 78rpx;
  margin: 0;
  border: 0;
  border-radius: 14rpx;
  background: #123e7c;
  color: #ffffff;
  font-size: 26rpx;
  font-weight: 900;
}

.passport-btn--ghost {
  border: 1rpx solid #d7e2f1;
  background: #ffffff;
  color: #123e7c;
}

.passport-btn::after {
  border: 0;
}

.passport-link {
  margin-top: 20rpx;
  color: #123e7c;
  font-size: 26rpx;
  font-weight: 850;
  text-align: center;
}
